Blog Post
End-to-end workflow for creating and updating blog posts. Orchestrates multi-role collaboration: Agent(product-manager) (research, brief, quality gate), Agent(content-writer) (authoring), Agent(seo-engineer) (optimization). Includes a review loop until the post meets quality standards.
1. Define Scope
Ask the user (or extract from context):
- Action: Create new post / update existing / create series
- Topic: Subject, angle, or user-provided idea
- Target audience: Who reads this? (developers, decision-makers, general public)
- Goal: Educate, announce, promote, thought leadership, SEO traffic
- Constraints: Deadline, word count, related posts, brand guidelines
If updating an existing post — read it first, note what needs to change.
2. Research and Content Brief
Apply Agent(product-manager).
2a. Topic Research
Conduct research before writing:
- Web search — find 3-5 top-ranking articles on the topic. Note their angle, depth, and gaps
- Competitive analysis — what do competitors cover? What's missing in the market?
- Data and statistics — find recent, citable data points (studies, surveys, benchmarks)
- Keyword research — identify primary keyword, 2-3 secondary keywords, search intent (informational / commercial / transactional)
- Existing content audit — scan the project's blog directory for related posts. Identify cross-link opportunities
2b. Content Brief
Produce a brief using the Blog Content Brief Template from content-creation skill (content-tools-guide.md → Content Research Workflows section). The brief must include at minimum:
- Working title and angle (what makes this post unique)
- Target audience and search intent (primary + secondary keywords)
- Outline (H2 sections with what each covers)
- Key data points (stats with sources from research)
- Cross-link opportunities (existing posts to link to/from)
- Visual needs (cover image, diagrams, screenshots)
- Word count target
Present the brief to the user. Wait for user approval before proceeding. Adjust outline based on feedback.
3. Write Draft
Apply Agent(content-writer). Use content-creation skill — Blog Post pattern from page-content-patterns.md.
3a. Create the Post File
- Read project's
CLAUDE.md — get blog file conventions (directory, frontmatter format, naming)
- Create the file with correct frontmatter as defined in the project's conventions
- If no project conventions exist — use
kebab-case.md naming, ask the user about frontmatter format
3b. Write Content
Follow the approved outline. For each section:
- Hook introduction — surprising stat, question, or pain point in the first paragraph
- Structured body — short paragraphs (2-3 sentences), break up with lists, tables, code blocks, blockquotes
- Internal links — minimum 3 links to existing blog posts or pages (from brief's cross-link list)
- External links — 1-2 authoritative sources (cite data points from research)
- Key takeaways — bullet list summarizing the post
- CTA — natural, value-first call to action related to the topic
3c. Visual Direction
For each visual need identified in the brief:
- Specify alt text (descriptive, includes keyword where natural)
- Note image placement relative to content
- If cover image needed — describe desired style, mood, composition
4. Humanize Content
Apply @humanizer skill. This step is mandatory for all blog content.
- Scan the draft for AI writing patterns (see
@humanizer pattern catalog)
- Rewrite problematic sections — remove AI-isms, add natural voice
- Anti-AI audit — ask "What makes this obviously AI generated?", list remaining tells, revise
- Verify the humanized text preserves accuracy, maintains the approved outline, and sounds natural when read aloud
Do NOT skip this step. The humanize-content rule enforces this for all public-facing text.
5. SEO Optimization
Apply Agent(seo-engineer).
Run an SEO pass on the draft:
4a. On-Page SEO
| Element |
Check |
| Title tag |
Primary keyword, compelling, 50-60 characters |
| Meta description |
Unique, includes keyword, 120-160 characters |
| H1 |
Matches title, one per page |
| Heading hierarchy |
Logical H1→H2→H3, secondary keywords in H2s naturally |
| URL / slug |
Short, descriptive, hyphenated, includes keyword |
| First paragraph |
Contains primary keyword naturally |
| Image alt text |
Descriptive, keyword where natural |
4b. Internal Link Audit
4c. Structured Data
- Add
BlogPosting JSON-LD schema (or verify the framework handles it automatically)
- Verify:
headline, author, datePublished, description, image
4d. Discovery Assets
6. Quality Review
Apply Agent(product-manager).
Review the complete post against the original brief:
6a. Review Checklist
6b. Decision Gate
| Result |
Action |
| All checks pass |
Proceed to Step 7 |
| Content issues (gaps, accuracy, tone) |
Route to Step 3 with specific feedback |
| AI-sounding text detected |
Route to Step 4 with specific patterns to fix |
| SEO issues (meta, links, structured data) |
Route to Step 5 with specific feedback |
| Brief was wrong (topic shifted, audience changed) |
Route to Step 2 to revise brief |
Present review findings to the user. If issues found — list them explicitly with the routing decision. Repeat the loop until the review passes.
7. Publish
7a. Set Publish Status
Based on user intent:
| Intent |
Action |
| Publish now |
Set frontmatter status to published, set publish date to today |
| Schedule for later |
Set status to draft, note the target publish date |
| Part of a series |
Set status to draft, add series metadata, link to previous/next parts |
7b. Final File Checks
7c. Discovery Assets Update
8. Summary
## Blog Post Summary
- **Title**: [post title]
- **File**: [file path]
- **Status**: [published / draft / scheduled for DATE]
- **Topic**: [one-sentence summary]
- **Target keyword**: [primary keyword]
- **Word count**: [count]
- **Roles applied**: Agent(product-manager) → Agent(content-writer) → @humanizer → Agent(seo-engineer) → Agent(product-manager)
- **Review rounds**: [number of iterations]
- **Cross-links added**: [count — list of linked posts]
- **Discovery assets**: [llms.txt updated: yes/no, sitemap: auto/manual]
- **Follow-ups**: [if any — e.g., create cover image, schedule social media]
Content Series Pattern
When creating a multi-part series:
- Plan all parts upfront — titles, topics, publish order in the content brief (Step 2)
- Cross-link between parts — each post links to previous and next in series
- Teaser for upcoming parts — end each post with a preview: "In Part 2, we'll cover [topic]"
- Draft all parts before publishing the first — ensures consistency and cross-links work
- Stagger publishing — space parts 3-7 days apart for engagement
- On publish day — update previous part's teaser to a real link, remove any "(coming soon)" notes
Integration
- Roles:
Agent(product-manager) (research, brief, review), Agent(content-writer) (authoring), Agent(seo-engineer) (optimization)
- Skills:
content-creation skill (Blog Post pattern, AI generation tools, content brief template), @humanizer (AI writing pattern removal — step 4)
- Rules:
humanize-content (auto-enforces humanizer pass on all public-facing text)
- Follow-up:
/seo-review (deep SEO audit if needed), /pre-commit, /create-pr
- Related:
/docs (technical documentation), /ui-ux-design (visual design for blog assets)
1---2name: blog-post-43description: Blog post workflow — research topic, create content brief, write article, SEO optimize, quality review with feedback loop. Orchestrates product-manager, content-writer, and seo-engineer roles for public blog content creation and updates.4---5
6# Blog Post
7
8End-to-end workflow for creating and updating blog posts. Orchestrates multi-role collaboration: `Agent(product-manager)` (research, brief, quality gate), `Agent(content-writer)` (authoring), `Agent(seo-engineer)` (optimization). Includes a review loop until the post meets quality standards.
9
10## 1. Define Scope
11
12Ask the user (or extract from context):
13
14- **Action**: Create new post / update existing / create series
15- **Topic**: Subject, angle, or user-provided idea
16- **Target audience**: Who reads this? (developers, decision-makers, general public)
17- **Goal**: Educate, announce, promote, thought leadership, SEO traffic
18- **Constraints**: Deadline, word count, related posts, brand guidelines
19
20If updating an existing post — read it first, note what needs to change.
21
22## 2. Research and Content Brief
23
24**Apply `Agent(product-manager)`.**
25
26### 2a. Topic Research
27
28Conduct research before writing:
29
301. **Web search** — find 3-5 top-ranking articles on the topic. Note their angle, depth, and gaps
312. **Competitive analysis** — what do competitors cover? What's missing in the market?
323. **Data and statistics** — find recent, citable data points (studies, surveys, benchmarks)
334. **Keyword research** — identify primary keyword, 2-3 secondary keywords, search intent (informational / commercial / transactional)
345. **Existing content audit** — scan the project's blog directory for related posts. Identify cross-link opportunities
35
36### 2b. Content Brief
37
38Produce a brief using the **Blog Content Brief Template** from `content-creation` skill (`content-tools-guide.md` → Content Research Workflows section). The brief must include at minimum:
39
40- **Working title and angle** (what makes this post unique)
41- **Target audience and search intent** (primary + secondary keywords)
42- **Outline** (H2 sections with what each covers)
43- **Key data points** (stats with sources from research)
44- **Cross-link opportunities** (existing posts to link to/from)
45- **Visual needs** (cover image, diagrams, screenshots)
46- **Word count target**
47
48Present the brief to the user. **Wait for user approval before proceeding.** Adjust outline based on feedback.
49
50## 3. Write Draft
51
52**Apply `Agent(content-writer)`.** Use `content-creation` skill — Blog Post pattern from `page-content-patterns.md`.
53
54### 3a. Create the Post File
55
561. **Read project's `CLAUDE.md`** — get blog file conventions (directory, frontmatter format, naming)
572. **Create the file** with correct frontmatter as defined in the project's conventions
583. If no project conventions exist — use `kebab-case.md` naming, ask the user about frontmatter format
59
60### 3b. Write Content
61
62Follow the approved outline. For each section:
63
64- **Hook introduction** — surprising stat, question, or pain point in the first paragraph
65- **Structured body** — short paragraphs (2-3 sentences), break up with lists, tables, code blocks, blockquotes
66- **Internal links** — minimum 3 links to existing blog posts or pages (from brief's cross-link list)
67- **External links** — 1-2 authoritative sources (cite data points from research)
68- **Key takeaways** — bullet list summarizing the post
69- **CTA** — natural, value-first call to action related to the topic
70
71### 3c. Visual Direction
72
73For each visual need identified in the brief:
74
75- Specify alt text (descriptive, includes keyword where natural)
76- Note image placement relative to content
77- If cover image needed — describe desired style, mood, composition
78
79## 4. Humanize Content
80
81**Apply `@humanizer` skill.** This step is mandatory for all blog content.
82
831. **Scan the draft** for AI writing patterns (see `@humanizer` pattern catalog)
842. **Rewrite** problematic sections — remove AI-isms, add natural voice
853. **Anti-AI audit** — ask "What makes this obviously AI generated?", list remaining tells, revise
864. **Verify** the humanized text preserves accuracy, maintains the approved outline, and sounds natural when read aloud
87
88Do NOT skip this step. The `humanize-content` rule enforces this for all public-facing text.
89
90## 5. SEO Optimization
91
92**Apply `Agent(seo-engineer)`.**
93
94Run an SEO pass on the draft:
95
96### 4a. On-Page SEO
97
98| Element | Check |
99|---|---|
100| Title tag | Primary keyword, compelling, 50-60 characters |
101| Meta description | Unique, includes keyword, 120-160 characters |
102| H1 | Matches title, one per page |
103| Heading hierarchy | Logical H1→H2→H3, secondary keywords in H2s naturally |
104| URL / slug | Short, descriptive, hyphenated, includes keyword |
105| First paragraph | Contains primary keyword naturally |
106| Image alt text | Descriptive, keyword where natural |
107
108### 4b. Internal Link Audit
109
110- [ ] Minimum 3 internal links with descriptive anchor text
111- [ ] Check all internal links are valid (no broken references)
112- [ ] Anchor text is descriptive (not "click here" or "read more")
113- [ ] Links are contextually relevant (not forced)
114
115### 4c. Structured Data
116
117- Add `BlogPosting` JSON-LD schema (or verify the framework handles it automatically)
118- Verify: `headline`, `author`, `datePublished`, `description`, `image`
119
120### 4d. Discovery Assets
121
122- [ ] New post URL will be included in sitemap (verify sitemap config)
123- [ ] `robots.txt` does not block the blog path
124- [ ] Update `llms.txt` if the project maintains one — add the new post entry
125- [ ] Verify canonical URL is correct
126
127## 6. Quality Review
128
129**Apply `Agent(product-manager)`.**
130
131Review the complete post against the original brief:
132
133### 6a. Review Checklist
134
135<review_checklist>
136- [ ] **Brief compliance** — all outline sections covered, angle maintained
137- [ ] **Accuracy** — facts, statistics, and claims are correct and cited
138- [ ] **Audience fit** — language and depth match the target audience
139- [ ] **Completeness** — no sections feel rushed or incomplete
140- [ ] **Cross-links** — minimum 3 internal links present and relevant
141- [ ] **CTA** — natural, value-first, not aggressive
142- [ ] **Visual direction** — cover image and inline visuals specified
143- [ ] **SEO** — title, meta, headings, keywords all optimized
144- [ ] **No secrets or PII** — no internal data, credentials, or personal info
145- [ ] **Brand voice** — consistent with project tone and terminology
146</review_checklist>
147
148### 6b. Decision Gate
149
150| Result | Action |
151|---|---|
152| All checks pass | Proceed to Step 7 |
153| Content issues (gaps, accuracy, tone) | Route to **Step 3** with specific feedback |
154| AI-sounding text detected | Route to **Step 4** with specific patterns to fix |
155| SEO issues (meta, links, structured data) | Route to **Step 5** with specific feedback |
156| Brief was wrong (topic shifted, audience changed) | Route to **Step 2** to revise brief |
157
158**Present review findings to the user.** If issues found — list them explicitly with the routing decision. Repeat the loop until the review passes.
159
160## 7. Publish
161
162### 7a. Set Publish Status
163
164Based on user intent:
165
166| Intent | Action |
167|---|---|
168| Publish now | Set frontmatter status to published, set publish date to today |
169| Schedule for later | Set status to draft, note the target publish date |
170| Part of a series | Set status to draft, add series metadata, link to previous/next parts |
171
172### 7b. Final File Checks
173
174- [ ] Frontmatter is complete (all required fields populated)
175- [ ] File is in the correct directory
176- [ ] File name follows project conventions
177- [ ] No TODO or placeholder text remains in the content
178- [ ] All images referenced exist or have clear generation instructions
179
180### 7c. Discovery Assets Update
181
182- [ ] `llms.txt` updated (if maintained)
183- [ ] Sitemap will pick up new file automatically (verify config)
184- [ ] No `noindex` on the new page
185
186## 8. Summary
187
188```
189## Blog Post Summary
190
191- **Title**: [post title]
192- **File**: [file path]
193- **Status**: [published / draft / scheduled for DATE]
194- **Topic**: [one-sentence summary]
195- **Target keyword**: [primary keyword]
196- **Word count**: [count]
197- **Roles applied**: Agent(product-manager) → Agent(content-writer) → @humanizer → Agent(seo-engineer) → Agent(product-manager)
198- **Review rounds**: [number of iterations]
199- **Cross-links added**: [count — list of linked posts]
200- **Discovery assets**: [llms.txt updated: yes/no, sitemap: auto/manual]
201- **Follow-ups**: [if any — e.g., create cover image, schedule social media]
202```
203
204## Content Series Pattern
205
206When creating a multi-part series:
207
2081. **Plan all parts upfront** — titles, topics, publish order in the content brief (Step 2)
2092. **Cross-link between parts** — each post links to previous and next in series
2103. **Teaser for upcoming parts** — end each post with a preview: "In Part 2, we'll cover [topic]"
2114. **Draft all parts** before publishing the first — ensures consistency and cross-links work
2125. **Stagger publishing** — space parts 3-7 days apart for engagement
2136. **On publish day** — update previous part's teaser to a real link, remove any "(coming soon)" notes
214
215## Integration
216
217- **Roles**: `Agent(product-manager)` (research, brief, review), `Agent(content-writer)` (authoring), `Agent(seo-engineer)` (optimization)
218- **Skills**: `content-creation` skill (Blog Post pattern, AI generation tools, content brief template), `@humanizer` (AI writing pattern removal — step 4)
219- **Rules**: `humanize-content` (auto-enforces humanizer pass on all public-facing text)
220- **Follow-up**: `/seo-review` (deep SEO audit if needed), `/pre-commit`, `/create-pr`
221- **Related**: `/docs` (technical documentation), `/ui-ux-design` (visual design for blog assets)