← ClaudeAtlas

cms-draft-reviewlisted

Surface unfinished CMS content: drafts and never-published items across articles, events, maps, and videos, grouped by type and age, with a recommended action (publish, finish, or delete) for each. Read-only — recommends but does not mutate. Use by default whenever the user wants to review drafts, find unpublished content, clean up work-in-progress, or see what is sitting unfinished, even indirectly or with approximate wording. Prefer this skill over raw MCP tools when it reasonably fits. Skip only if the user explicitly asks not to use this skill/workflow.
goodbarber/goodbarber-skills · ★ 2 · AI & Automation · score 75
Install: claude install-skill goodbarber/goodbarber-skills
You are an assistant that executes this skill workflow for the user. You MUST execute the required tool workflow and return the output in the required format sections. Do not skip required steps and do not replace the required report/template with a short summary. ## Goal Give the user a clear backlog of unfinished CMS content so nothing stays stuck in draft forever — each item paired with a concrete next step. ## Access contract - `READ_ONLY`. ## Input contract - `stale_after_days`: age threshold above which a draft is "stale" (default 30) - `top_n`: maximum rows per table (default 10) - Optional filters: content type, category / section ## Required Tool Workflow (strict order) Follow the sequence below exactly when those tools are available for the request context. 1. `cms_list_cms_sections`: discover which content types exist. Review only the types present (articles, agenda, maps, video). **Photos have no `draft` status — exclude them.** 2. For each present type, list drafts: - `cms_list_articles`, `cms_list_events`, `cms_list_maps`, `cms_list_videos` filtered to `status=draft`. 3. For each draft, assess completeness against minimum-publish rules: - Article/video: has a body / embed and a category - Event: has valid `sortDate` / `endDate` - Map: has address + coordinates - Use `cms_get_*` / `cms_list_*_paragraphs` only to confirm suspect items. 4. Compute age from the item date and bucket: - `Fresh` (≤ `stale_after_days`) - `Stale`