Blog Post Creator
Write, iterate, and polish blog posts.
Configuration
| Setting |
Default |
Description |
posts_dir |
Posts/ |
Directory where posts are stored |
To override, add to your project's CLAUDE.md: Posts are stored in Resources/Posts/.
The skill checks the project CLAUDE.md for a posts directory path. If none found, uses the default.
Trigger
/blog-post-creator <idea or title> — start a new post from an idea
/blog-post-creator edit <filename> — resume/improve an existing post
/blog-post-creator list — list all posts with their status
/blog-post-creator status <filename> — show current state and next steps
Post Storage
All posts live in {posts_dir} as Markdown files with frontmatter.
Frontmatter Schema
---
type: post
title: "Post Title"
slug: "post-title"
tags: []
lang: fr # fr or en — match the post's language
status: idea # idea → outline → draft → review → published
created: YYYY-MM-DD
updated: YYYY-MM-DD
---
Status Lifecycle
| Status |
Meaning |
idea |
Seed — title and rough concept |
outline |
Structure validated, sections defined |
draft |
Full content written, needs revision |
review |
Polished, ready for final read-through |
published |
Done — no further edits expected |
File Naming
Title-Of-Post.md — PascalCase with hyphens.
Workflow: New Post
Walk through stages sequentially. Each stage saves the file so progress is never lost. The user can stop and resume later.
Stage 1 — Seed
- Understand the idea: ask 1-2 clarifying questions if the intent is ambiguous (audience, angle, key takeaway). Skip if clear.
- Detect or ask the target language (French or English).
- Create the file with frontmatter (
status: idea) and a ## Notes section capturing the raw idea, audience, and angle.
- Save and confirm: "Post cree. On passe au plan ?"
Stage 2 — Outline
- Propose an outline: title, sections with 1-line summaries, estimated length.
- Order sections so each builds on the previous. Flag uncertain dependencies.
- Present and ask for validation — user may reorder, add, remove, or merge.
- Once approved, write the outline under
## Outline, set status: outline.
Stage 3 — Draft
- Write section by section. After each:
- Append to the file under its heading
- Save immediately
- Show brief summary and ask: "Section suivante, ou tu veux ajuster quelque chose ?"
- Keep paragraphs tight — one idea each. Clarity over length.
- User can interrupt to revise, rewrite, or skip ahead.
- When all sections are drafted, set
status: draft.
Stage 4 — Review
- Full pass on: flow (transitions, progression), clarity (jargon, overloaded sentences), hooks (intro grabs? conclusion lands?), redundancy (repeated ideas).
- Present proposed changes as a numbered list. User approves, rejects, or tweaks each.
- Apply approved changes, set
status: review.
Stage 5 — Polish
- Final pass: grammar, typos, formatting consistency, link placeholders.
- Generate meta-description (max 160 chars) and suggest tags if missing.
- Save, set
status: published. Confirm: "Post pret a publier."
Workflow: Edit Existing Post
- Read the file from
{posts_dir}.
- Check
status to understand where it left off.
- Present diagnostic: current status, word count, what's done vs missing, suggested next step.
- Ask: "On reprend a [suggested step], ou tu veux faire autre chose ?"
- Resume from the appropriate stage.
For targeted edits (rewrite a section, change tone, shorten): apply directly, save, show diff summary.
Workflow: List Posts
Read all .md files in {posts_dir}, extract frontmatter, present:
Writing Principles
- Lead with value. Reader knows within 2-3 sentences what they'll get and why it matters.
- One idea per paragraph. Two ideas? Split. Makes posts scannable.
- Show, don't tell. Examples, code snippets, anecdotes over "it's important to...".
- Respect the reader's time. Every sentence earns its place. Cut filler and hedge words.
- Match the user's voice. Mirror tone cues — technical, conversational, or in between.
- Structure serves comprehension. Headings, lists, code blocks to break walls of text. Don't over-structure.
Key Behaviors
- Save after each stage. The file is the source of truth.
- Update
updated date in frontmatter on every save.
- Read before writing. Always read current file state before editing.
- Propose, don't impose. Present options during outline and review, let the user decide.
- Detect language from context. French idea → French post. English → English. Ask only if ambiguous.
1---2name: blog-post-creator3description: Write and iterate on blog posts from idea to publishable draft. Use when the user wants to write, outline, draft, edit, or polish a blog post. Triggers on /blog-post-creator, "write a blog post about...", "I have a blog idea", "help me finish this draft", or "improve this post". Covers the full lifecycle from brainstorming to publishing.4---56# Blog Post Creator78Write, iterate, and polish blog posts.910## Configuration1112| Setting | Default | Description |13|---------|---------|-------------|14| `posts_dir` | `Posts/` | Directory where posts are stored |1516To override, add to your project's CLAUDE.md: `Posts are stored in Resources/Posts/`.1718The skill checks the project CLAUDE.md for a posts directory path. If none found, uses the default.1920## Trigger2122- `/blog-post-creator <idea or title>` — start a new post from an idea23- `/blog-post-creator edit <filename>` — resume/improve an existing post24- `/blog-post-creator list` — list all posts with their status25- `/blog-post-creator status <filename>` — show current state and next steps2627## Post Storage2829All posts live in `{posts_dir}` as Markdown files with frontmatter.3031### Frontmatter Schema3233```yaml34---35type: post36title: "Post Title"37slug: "post-title"38tags: []39lang: fr # fr or en — match the post's language40status: idea # idea → outline → draft → review → published41created: YYYY-MM-DD42updated: YYYY-MM-DD43---44```4546### Status Lifecycle4748| Status | Meaning |49|--------|---------|50| `idea` | Seed — title and rough concept |51| `outline` | Structure validated, sections defined |52| `draft` | Full content written, needs revision |53| `review` | Polished, ready for final read-through |54| `published` | Done — no further edits expected |5556### File Naming5758`Title-Of-Post.md` — PascalCase with hyphens.5960## Workflow: New Post6162Walk through stages sequentially. Each stage **saves the file** so progress is never lost. The user can stop and resume later.6364### Stage 1 — Seed65661. Understand the idea: ask 1-2 clarifying questions if the intent is ambiguous (audience, angle, key takeaway). Skip if clear.672. Detect or ask the target language (French or English).683. Create the file with frontmatter (`status: idea`) and a `## Notes` section capturing the raw idea, audience, and angle.694. Save and confirm: "Post cree. On passe au plan ?"7071### Stage 2 — Outline72731. Propose an outline: title, sections with 1-line summaries, estimated length.742. Order sections so each builds on the previous. Flag uncertain dependencies.753. Present and ask for validation — user may reorder, add, remove, or merge.764. Once approved, write the outline under `## Outline`, set `status: outline`.7778### Stage 3 — Draft79801. Write section by section. After each:81 - Append to the file under its heading82 - Save immediately83 - Show brief summary and ask: "Section suivante, ou tu veux ajuster quelque chose ?"842. Keep paragraphs tight — one idea each. Clarity over length.853. User can interrupt to revise, rewrite, or skip ahead.864. When all sections are drafted, set `status: draft`.8788### Stage 4 — Review89901. Full pass on: **flow** (transitions, progression), **clarity** (jargon, overloaded sentences), **hooks** (intro grabs? conclusion lands?), **redundancy** (repeated ideas).912. Present proposed changes as a numbered list. User approves, rejects, or tweaks each.923. Apply approved changes, set `status: review`.9394### Stage 5 — Polish95961. Final pass: grammar, typos, formatting consistency, link placeholders.972. Generate meta-description (max 160 chars) and suggest tags if missing.983. Save, set `status: published`. Confirm: "Post pret a publier."99100## Workflow: Edit Existing Post1011021. Read the file from `{posts_dir}`.1032. Check `status` to understand where it left off.1043. Present diagnostic: current status, word count, what's done vs missing, suggested next step.1054. Ask: "On reprend a [suggested step], ou tu veux faire autre chose ?"1065. Resume from the appropriate stage.107108For targeted edits (rewrite a section, change tone, shorten): apply directly, save, show diff summary.109110## Workflow: List Posts111112Read all `.md` files in `{posts_dir}`, extract frontmatter, present:113114| Post | Status | Lang | Updated |115|------|--------|------|---------|116117## Writing Principles118119- **Lead with value.** Reader knows within 2-3 sentences what they'll get and why it matters.120- **One idea per paragraph.** Two ideas? Split. Makes posts scannable.121- **Show, don't tell.** Examples, code snippets, anecdotes over "it's important to...".122- **Respect the reader's time.** Every sentence earns its place. Cut filler and hedge words.123- **Match the user's voice.** Mirror tone cues — technical, conversational, or in between.124- **Structure serves comprehension.** Headings, lists, code blocks to break walls of text. Don't over-structure.125126## Key Behaviors127128- **Save after each stage.** The file is the source of truth.129- **Update `updated` date** in frontmatter on every save.130- **Read before writing.** Always read current file state before editing.131- **Propose, don't impose.** Present options during outline and review, let the user decide.132- **Detect language from context.** French idea → French post. English → English. Ask only if ambiguous.