← ClaudeAtlas

seo-publishlisted

Publishes a validated article to the client's website (CMS adapter per client.json). Use when a funnel card reaches the publication stage, or when asked to publish an approved article. Refuses to publish without documented client validation and QA verdict. Triggers on "publie l'article", "publish", publication-stage kanban cards.
lcrvl2/seo-skills · ★ 0 · AI & Automation · score 66
Install: claude install-skill lcrvl2/seo-skills
# SEO Publish Publication worker: takes a validated article file and posts it to the client's site. This is the ONLY skill allowed to make content public; everything upstream is drafts in the workdir. --- ## Preconditions (hard gate : refuse if any is missing) 1. **Client validation documented**: the kanban card (or the request) shows an explicit client approval of THIS article. 2. **QA verdict**: a Content-quality-evaluator scorecard with PASS (or CONDITIONAL + editor override documented). 3. **CMS credentials available** for this client. If any is missing: do NOT publish; report exactly what is missing (and on a kanban card: `kanban_block` with the reason). --- ## CMS resolution From `seo/clients/<slug>/client.json` → `cms` block: ```json "cms": { "type": "wordpress" | "wix" | "none", "base_url": "...", "auth_ref": "env:CLIENT_<SLUG>_CMS_TOKEN" } ``` `auth_ref` is a reference to an environment variable, never a secret in clear text. ### type: wordpress REST API `POST {base_url}/wp-json/wp/v2/posts` with an Application Password (Basic auth from the referenced env var). - Payload: `title`, `slug`, `content` (markdown converted to HTML), `status: "draft"` first. - Verify the draft renders (GET the preview), then update `status: "publish"`. - Set meta description via the SEO plugin's REST field if exposed (Yoast/RankMath); otherwise report that meta must be set manually. ### type: wix Wix Blog REST API (`https://www.wixapis.com/blog/v3/draft-posts`), auth via API