Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Mandatory workflow for ALL content production — blog articles, social posts, email copy, ad copy, release notes. Every piece of content MUST go through produce → review → revise. Auto-spawn a review agent after every content draft. This skill triggers whenever you write, draft, or produce any content.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 65% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 251% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 27% | 0% |
This is mandatory. No content ships without review.
Every content task follows: Produce → Review → Revise → Deliver
Never deliver a first draft directly. Always spawn a review agent.
Write the content using the appropriate skill:
seo-blog-writer/SKILL.md (fully automated: keyword research → competitive analysis → write → QA → delivery package). Mandatory dependency: heavy-task-protocol/SKILL.md — load it first for checkpoint/resume safety.Immediately after producing, spawn a review sub-agent with the appropriate review profile below. Use a cheaper model (sonnet) for review to save cost.
Apply review feedback. If critical issues found (broken links, factual errors, brand violations), fix and re-review.
Only after review passes, deliver to the user.
This step runs in a NEW session after the article is live. Do not chain it into the same writing session — context would be too large and external dependencies (seomator, PSI API) add failure risk.
Trigger: user confirms the article is published and provides the live URL.
bashpython3 seo-geo-qa/scripts/post_publish_check.py https://your-domain.com/blog/your-slug # With Core Web Vitals (if PSI API key is configured) python3 seo-geo-qa/scripts/post_publish_check.py https://your-domain.com/blog/your-slug --psi-key YOUR_KEY
Verdict:
Session 1 — Write + QA (heavy task, checkpoint protocol required):
Load heavy-task-protocol → Load seo-blog-writer
→ Phase 0: Context discovery + confirmation gate
→ Phase 1–4: Research, write, QA, iterate
→ Decision-Grade Quality Gate (before Phase 5)
→ Write draft + QA report to disk
→ Spawn content-qa review agent
→ Revise until PASS
→ DeliverSession 2 — Publish (human-driven):
Take draft from disk → publish to CMS/repoSession 3 — Post-publish (separate, lightweight):
Run post_publish_check.py on live URL → report verdictReference docs:
content-qa/SKILL.md — QA checklist frameworkseo-geo-qa/SKILL.md — technical SEO checks and link verificationbrand/voice.md — brand voice, red lines, tone guidelines (provide via Brand Context input)product/ — product facts (pricing, features, platforms)Checklist:
Reference docs:
brand/voice.md — brand voice guidelinesChecklist:
Reference docs:
brand/voice.mdChecklist:
Reference docs:
brand/voice.mdChecklist:
Reference docs:
brand/voice.mdChecklist:
sessions_spawn:
task: |
You are a content QA reviewer. Read content-qa/SKILL.md for your full checklist and protocol.
Review the content at [FILE_PATH].
Content Type: [seo-blog | ad-copy | social-post | email-sequence | landing-page]
Target Keyword: [keyword] (SEO blog only)
Brand Context: [path to brand/voice.md or inline brand guidelines]
Round: 1
Follow the full checklist for this content type in content-qa/SKILL.md.
Use the automated QA runner (content-qa/scripts/run_qa.sh) for Step 0.
Calculate SEO Quality Score (0-100) for blog articles.
Output format: as defined in content-qa/SKILL.md (PASS ✅ / FAIL ❌).
mode: run
model: sonnetNever. But you can use a lighter review for:
Everything that goes public gets reviewed.
Other measured skills in the registry, with their headline benchmark lift.