brief-outline-generator
Generates a fully structured SEO content **outline** (not a finished brief) and exports it as a formatted .docx Word document. The output is a skeleton for a writer to fill in — section headings, topic prompts, angles — not pre-written paragraphs. Use this skill whenever a user provides a blog title, focus keyword, domain URL, or any combination of those and asks to generate an outline, brief, blog brief, SEO brief, article structure, or content plan. Also trigger when the user says "create a brief for X", "generate an outline for [topic]", "make a content brief", "I need a brief for [URL or k
npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill brief-outline-generator --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Brief Outline Generator Generates a content **outline** as a formatted `.docx` file. The output is a skeleton — section headings, short topic prompts, angles for each section — that a writer fills in with their own conclusions, numbers, and prose. **This is an outline generator, not a brief generator.** If your output reads like an article in note form, you've gone too far. Read `references/section-rules.md` before generating anything. **The DOCX is always produced by running `scripts/generate-brief.py`. Do not reimplement the renderer. Do not write inline docx code. Assemble the config JSON and run the script.** --- ## Inputs — collect from user before proceeding | Field | Required | Notes | |---|---|---| | `title` | ✅ | Blog post title. Warn if > 70 chars. | | `focus_keyword` | ✅ | Primary keyword | | `sitemap_url` | ✅ | Full sitemap URL, e.g. `https://firefly.ai/sitemap.xml`. `domain_url` is derived from this automatically. | | `word_count_range` | ✅ | e.g. `1500-2000` | | `target_intent` | ✅ | `Informational`, `Commercial`, `Transactional`, or `Navigational` | | `target_product` | ⬜ | Product name — triggers a product integration section if provided | | `secondary_keywords` |
- Inputs — collect from user before proceeding
- Execution workflow — follow these steps in order
- Step 1 — Validate inputs
- Step 2 — Read the rules
- Step 3 — Domain analysis
- Step 4 — Classify the title's archetype
- Step 5 — Generate keyword volumes
- Step 6 — Build the outline using the archetype's section set
- Step 7 — Run the final quality check
- Step 8 — Assemble the config JSON
- Step 9 — Run the generator script
- Step 10 — Present the file
- What the script renders (reference only — do not reimplement)
- Reference files
python /path/to/skill/scripts/generate-brief.py --config /home/claude/brief-config.json
What does the brief-outline-generator skill do?
Generates a fully structured SEO content **outline** (not a finished brief) and exports it as a formatted .docx Word document. The output is a skeleton for a writer to fill in — section headings, topic prompts, angles — not pre-written paragraphs. Use this skill whenever a user provides a blog title, focus keyword, domain URL, or any combination of those and asks to generate an outline, brief, blog brief, SEO brief, article structure, or content plan. Also trigger when the user says "create a brief for X", "generate an outline for [topic]", "make a content brief", "I need a brief for [URL or k
How do I install it?
Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill brief-outline-generator --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From Infrasity-Labs/dev-gtm-claude-skills, a repository with 97 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
