
Case study: a 7-step content pipeline as a chain of Claude Code slash commands (with the prompts open-sourced)
Sharing the prompt-engineering side of an internal pipeline I just open-sourced. The whole system is 7 Claude Code slash commands chained together, each with a strict role + output contract:
- /seo-research → Perplexity Deep Research API; structured output into 7 sections (Market Context, Stats with source URLs, Competitor analysis, Quotes, Unique angles, Internal links, Raw output)
- /seo-brief → reads research, produces a brief with search intent, SEO metadata, content outline, required data points, internal link map, differentiation notes
- /seo-write → reads brief + research; outputs markdown with frontmatter, intro/H2s/conclusion/FAQ/internal-links sections; enforces voice from a YAML config
- /seo-optimize → 10-check SEO score (0-100), with specific fix suggestions
- /seo-publish → builds CMS payload, hard human gate, ships to Sanity via direct HTTP
- /seo-status, /seo-daily → orchestration
What I'd flag prompt-design-wise:
- Each command reads ./pipeline.yaml for state. Stateless re-entry across sessions because all state is in files.
- Brand voice + tone + content pillars live in one YAML (config/seo-settings.yaml). Every prompt references it instead of hardcoding the brand.
- Human gates are non-negotiable in 4 of 7 steps. Trying to remove them produces visibly worse content.
- The "real examples enforced, no hypotheticals" line in the /seo-write prompt is the single highest-impact instruction in the whole pipeline.
Repo: https://github.com/viren040/content-seo-orchestrator (MIT) — all the commands are in .claude/commands/.
Curious what prompt patterns others are using for multi-step content/marketing pipelines.