Blog Post
End-to-end workflow for long-form blog content.
1. Gather Context
Read:
- Root
AGENTS.md and blog conventions (directory, frontmatter format, naming)
- Existing posts in the blog directory for cross-link opportunities
- If updating — read the existing post, note what needs to change
2. Research and Brief
Define before writing:
- Audience: developers, decision-makers, general public
- Angle: what makes this post unique
- Primary keyword and 2-3 secondary keywords
- Outline: H2 sections with what each covers
- Key data points: stats with sources
- Cross-link targets: existing posts to link to/from
- Word count target
Use content-creation skill (content-tools-guide.md) for research workflows and brief templates.
Present the brief to the user. Wait for approval before proceeding.
3. Draft
Write the post following the approved outline:
- Hook introduction — surprising stat, question, or pain point
- Short paragraphs (2-3 sentences), break up with lists, tables, blockquotes
- Minimum 3 internal links to existing posts
- 1-2 external authoritative sources
- Key takeaways bullet list
- Natural, value-first CTA
- Specify alt text and placement for visuals
4. Humanize
Apply humanizer skill to the draft:
- Scan for AI writing patterns (see 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 based on the audit
- Verify the humanized text preserves accuracy and outline compliance
Do NOT skip this step.
5. SEO Optimization
Refine:
- Title tag: primary keyword, compelling, 50-60 characters
- Meta description: unique, includes keyword, 120-160 characters
- Heading hierarchy: logical H1 → H2 → H3, keywords in H2s naturally
- URL slug: short, descriptive, hyphenated
- First paragraph: contains primary keyword naturally
- Image alt text: descriptive, keyword where natural
- Internal links: minimum 3, descriptive anchor text
- Structured data:
BlogPosting JSON-LD where applicable
6. Quality Review
Review the complete post against the original brief:
If issues found:
| Issue |
Route to |
| Content gaps, accuracy, tone |
Step 3 |
| AI-sounding text |
Step 4 |
| SEO issues |
Step 5 |
| Brief was wrong |
Step 2 |
7. Publish
Set frontmatter status based on user intent:
- Publish now: status = published, date = today
- Schedule: status = draft, note target date
- Series: status = draft, add series metadata
Final checks:
8. Report
Summarize:
- Title and file path
- Status (published / draft / scheduled)
- Target keyword and word count
- Review rounds and cross-links added
- Follow-ups (cover image, social media, etc.)
Integration
- Skills:
content-creation (content brief, tools, quality gates), humanizer (AI writing pattern removal — step 4)
- Rules:
humanize-content (enforces humanizer pass on all public-facing text)
- Follow-up:
seo-review, pre-commit, create-pr
1---2name: blog-post-23description: Create or update a blog post by researching the topic, drafting the article, humanizing text, refining structure and SEO, and validating it against repository conventions.4---5
6# Blog Post
7
8End-to-end workflow for long-form blog content.
9
10## 1. Gather Context
11
12Read:
13
141. Root `AGENTS.md` and blog conventions (directory, frontmatter format, naming)
152. Existing posts in the blog directory for cross-link opportunities
163. If updating — read the existing post, note what needs to change
17
18## 2. Research and Brief
19
20Define before writing:
21
22- **Audience**: developers, decision-makers, general public
23- **Angle**: what makes this post unique
24- **Primary keyword** and 2-3 secondary keywords
25- **Outline**: H2 sections with what each covers
26- **Key data points**: stats with sources
27- **Cross-link targets**: existing posts to link to/from
28- **Word count target**
29
30Use `content-creation` skill (`content-tools-guide.md`) for research workflows and brief templates.
31
32Present the brief to the user. Wait for approval before proceeding.
33
34## 3. Draft
35
36Write the post following the approved outline:
37
38- Hook introduction — surprising stat, question, or pain point
39- Short paragraphs (2-3 sentences), break up with lists, tables, blockquotes
40- Minimum 3 internal links to existing posts
41- 1-2 external authoritative sources
42- Key takeaways bullet list
43- Natural, value-first CTA
44- Specify alt text and placement for visuals
45
46## 4. Humanize
47
48Apply `humanizer` skill to the draft:
49
501. Scan for AI writing patterns (see pattern catalog)
512. Rewrite problematic sections — remove AI-isms, add natural voice
523. Anti-AI audit — ask "What makes this obviously AI generated?", list remaining tells
534. Revise based on the audit
545. Verify the humanized text preserves accuracy and outline compliance
55
56Do NOT skip this step.
57
58## 5. SEO Optimization
59
60Refine:
61
62- Title tag: primary keyword, compelling, 50-60 characters
63- Meta description: unique, includes keyword, 120-160 characters
64- Heading hierarchy: logical H1 → H2 → H3, keywords in H2s naturally
65- URL slug: short, descriptive, hyphenated
66- First paragraph: contains primary keyword naturally
67- Image alt text: descriptive, keyword where natural
68- Internal links: minimum 3, descriptive anchor text
69- Structured data: `BlogPosting` JSON-LD where applicable
70
71## 6. Quality Review
72
73Review the complete post against the original brief:
74
75- [ ] All outline sections covered, angle maintained
76- [ ] Facts, statistics, and claims are correct and cited
77- [ ] Language and depth match the target audience
78- [ ] Minimum 3 internal links present and relevant
79- [ ] CTA is natural and value-first
80- [ ] SEO elements optimized (title, meta, headings, keywords)
81- [ ] No secrets, PII, or internal-only data
82- [ ] Text sounds natural — no AI writing patterns remain
83- [ ] Brand voice consistent with project tone
84
85If issues found:
86
87| Issue | Route to |
88|---|---|
89| Content gaps, accuracy, tone | Step 3 |
90| AI-sounding text | Step 4 |
91| SEO issues | Step 5 |
92| Brief was wrong | Step 2 |
93
94## 7. Publish
95
96Set frontmatter status based on user intent:
97
98- Publish now: status = published, date = today
99- Schedule: status = draft, note target date
100- Series: status = draft, add series metadata
101
102Final checks:
103
104- [ ] Frontmatter complete
105- [ ] File in correct directory with correct naming
106- [ ] No TODO or placeholder text remains
107- [ ] Discovery assets updated (sitemap, llms.txt if maintained)
108
109## 8. Report
110
111Summarize:
112
113- Title and file path
114- Status (published / draft / scheduled)
115- Target keyword and word count
116- Review rounds and cross-links added
117- Follow-ups (cover image, social media, etc.)
118
119## Integration
120
121- **Skills**: `content-creation` (content brief, tools, quality gates), `humanizer` (AI writing pattern removal — step 4)
122- **Rules**: `humanize-content` (enforces humanizer pass on all public-facing text)
123- **Follow-up**: `seo-review`, `pre-commit`, `create-pr`