Install
$ agentstack add skill-adaptocms-adapto-cms-agent-skills-adapto-content-create ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
adapto:content-create
The third pipeline step ([content-pipeline.md](../../shared/content-pipeline.md)). It executes the briefs from the cycle plan into complete Markdown drafts — on-brand, with SEO/AEO/GEO metadata, JSON-LD, and internal links baked into the frontmatter — for you to review as files before anything reaches Adapto. It uses adapto-writer to draft and adapto-editor to critique, and writes nothing to the CMS.
> Autonomous-safe ([studio.md](../../shared/studio.md) §4): local, no CMS writes — an autonomous cycle can > run this unattended; the cycle parks at the human gate before adapto:content-upload.
When to use
- "Write the planned content", "draft these pieces", "create the articles from the plan".
- After
adapto:content-planhas produced briefs (statusbriefedin the ledger).
When not to use
- Choosing what to write →
adapto:content-plan. - Pushing approved drafts to Adapto →
adapto:content-upload. - Translating existing content →
adapto:translate.
Inputs
- The approved briefs in the latest
.adapto/plans/-cycle.md(and their ledger rows). - The brain —
voice.md,glossary.md,identity.md,audience.md,inventory.md(for internal links). - The standards — [seo-standards.md](../../shared/seo-standards.md),
[prose-standards.md](../../shared/prose-standards.md) (the anti-slop rules the editor hard-gates on), and the frontmatter contract (content-pipeline.md §2).
Outputs
- A dated Markdown draft per piece at
.adapto/drafts/-.mdwith full frontmatter
(the adapto: + seo: blocks) and an on-brand body — the artifact you review.
- Ledger rows advanced to
status: drafted(withdraft_path). - Next step: review the drafts, then
adapto:content-uploadto push the ones you approve to Adapto (as
drafts).
Creation (write → critique → revise)
- Select the briefs to write this run (default: all
briefedin the latest cycle; or a subset the user names). - Write each brief — dispatch
adapto-writer(one per brief). For briefs markedcornerstone: true,
dispatch the writer at the top model tier (Opus-class); otherwise Sonnet-class ([sub-agents.md](../../shared/sub-agents.md) §7). The writer reads the brain + standards and produces the md draft with full frontmatter.
- Slop gate (deterministic) — before critiquing, grep each draft body for em dashes:
awk '/^---$/{n++;next} n>=2' | grep -c '—' || true must return 0 ([prose-standards.md](../../shared/prose-standards.md) — en dashes in numeric ranges are fine). If it's non-zero, hand the draft straight back to the writer to strip the em dashes (and the other AI tells) before spending an editor pass. No draft advances to drafted with em dashes in the body.
- Critique — dispatch
adapto-editoron each draft (voice fit, SEO/AEO/GEO completeness, internal-link
coverage, structure, and the slop check — any prose-standards.md ban-list hit forces revise). If the verdict is revise, hand the gaps back to the writer and revise until solid.
- Write the drafts to
.adapto/drafts/, advance the ledger todrafted, and tell the user **which files
to read** (perfectly named + dated). Point to adapto:content-upload for the ones they approve.
Preconditions
- Preflight with the
adapto:doctorchecks (CLAUDE.md §3.14). - A cycle plan with briefs (run
adapto:content-planfirst). - No auth/tenant needed (no CMS writes).
adaptoCLI>= 0.0.7.
Errors and recovery
- No briefs → suggest
adapto:content-plan. adapto-writerunavailable → write inline at the best available tier and say so; never silently
downgrade a cornerstone piece without flagging it.
- Editor keeps returning
revise→ after a couple of passes, surface the remaining gaps to the user
rather than looping forever.
- A brief references a missing internal-link target → write the link as planned but flag it;
content-upload re-checks against the inventory and warns.
Forbidden actions
- Never write to the CMS (
mutates: false) — drafts are local md for review. - Never write raw HTML bodies — drafts are Markdown;
content-uploadconverts to HTML. - Never fabricate an author or invent facts/metrics — use the brief's references + the brain.
- Never skip the voice — every draft matches
voice.mdunless the user overrode it for that piece. - Never deliver a draft that failed the editor's slop gate un-revised — if the revise loop stalls, surface
the remaining hits to the user; don't ship around the gate.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: adaptocms
- Source: adaptocms/adapto-cms-agent-skills
- License: MIT
- Homepage: https://adaptocms.com/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.