content-brief
Generates a fully structured SEO content brief for a target keyword and optionally pushes it to a Notion database.
Skill by Infrasity-Labs
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/infrasity-labs-content-brief
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, spreadsheets, backend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/content-brief
What's inside
- Skill name
content-brief- Description
- Generates a fully structured SEO content brief for a target keyword and optionally pushes it to a Notion database. Use this skill whenever the user says 'create a content brief', 'brief this keyword', 'run a content brief for', 'generate a brief', 'write a brief for [keyword]', 'content brief on [topic]', or any variation where someone needs a keyword researched and turned into a structured writing assignment with H1, H2 outline, FAQ, internal links, word count target, and writer notes. Also triggers when the user provides a keyword and asks for an SEO brief, editorial brief, or writing spec. Outputs a mandatory structured format that the text parser maps directly to Notion properties. Supports single-keyword and batch (CSV) modes.
- License
- MIT
- Instructions
- 243 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- metadata: must be a key/value mapping
Files (6)
- SKILL.md
- error-handling.md · references/
- notion-schema.md · references/
- routing-logic.md · references/
- brief_validator.py · scripts/
- text_parser.py · scripts/
SKILL.md (first lines)
# Content Brief — Keyword-to-Notion Brief Generator Generates a structured SEO content brief from a target keyword. Output follows the mandatory Direction prompt format so the `text_parser.py` script can extract every field for Notion without manual cleanup. ## Invocation Triggers **Explicit phrases** (any of): - "create a content brief for [keyword]" - "brief this keyword: [keyword]" - "content brief on [topic]" - "generate a brief for [keyword]" - "write a brief for [keyword]" - "run the content brief skill" **Implicit signals:** - User provides a keyword and asks for an SEO spec, editorial spec, or writing assignment - User pastes a keyword list and asks for briefs When triggered, run immediately — no upfront intake beyond the keyword itself. ## Grill-Me Intake (One Question, Optional) Run the brief without questions when the keyword is clear. Ask **one** clarifying question only when **both** are true: 1. The target audience or client is not inferrable from context 2. Audience changes the content angle meaningfully (e.g., "project management software" could target PMs or developers) > **Quick clarification — who is the primary audience for "[keyword]"?** > 1. [Inferred persona A — e.g., HR Director] > 2. [Inferred persona B — e.g., Operations Manager] > 3. Tell me > > *Why I'm asking: audience shapes the H1, content angle, and writer notes. One question prevents a wrong brief.* Max one question. If audience is inferable, skip and proceed. ## Data Gathering (Before Writing the Brief) Run these steps before generating the Direction prompt output: ### Step 1 — Keyword Metrics **Preferred:** Ahrefs MCP (`keywords_explorer_overview`) → volume, KD, CPC, SERP data. **Fallback (no Ahrefs MCP):** Use WebSearch to estimate: - Search `[keyword] search volume KD CPC site:ahrefs.com OR site:semrush.com OR site:moz.com` - Extract available volume/KD/CPC estimates - If no data found, set VOLUME/CPC/DIFFICULTY to `[not available — add manually]` ### Step 2 — Competitor H2/H3 Analysis - WebSearch `[keyword]` → identify top 3 organic results (skip ads, maps, featured snippets) - WebFetch each URL → extract all H2 and H3 headings - Note: competitor structure informs the H2_OUTLINE. Do not copy — use as gap analysis. ### Step 3 — Search Intent Classification Based on keyword + SERP type, classify as one of exactly four options: - `Informational` — user wants to learn - `Commercial` — user is comparing options before buying - `Transactional` — user is ready to act/purchase - `Navigational` — user seeks a specific brand/site ### Step 4 — Priority Scoring Apply routing logic from `references/routing-logic.md`: - HIGH: Volume > 200 AND KD < 40 AND intent is Commercial or Transactional - MEDIUM: Doesn't meet HIGH criteria but has meaningful volume or strategic importance - LOW: Low volume, high difficulty, or informational with limited conversion value ## Direction Prompt Output Format (Mandatory) **This format is non-negotiable.** The `text_parser.py` script performs label-exact extraction. If any label deviates from the format below — wrong case, extra space, missing underscore — the Notion property will arrive empty. After data gathering, output the brief using EXACTLY this structure: ``` TARGET_KEYWORD: [keyword] VOLUME: [number or "not available"] CPC: [decimal or "not available"] DIFFICULTY: [0-100 integer or "not available"] SEARCH_INTENT: [Informational | Commercial | Transactional | Navigational] AUDIENCE: [persona — job title or role] RECOMMENDED_H1: [final proposed title] CONTENT_ANGLE: [one paragraph describing the unique angle, why this beats competitors, what the post must do] WORD_COUNT: [number] SCHEMA: [schema type — e.g., FAQ, HowTo, Article, FAQ + HowTo] PRIORITY: [HIGH | MEDIUM | LOW] H2_OUTLINE: - H2: [heading] - H3: [subheading] - H3: [subheading] - H2: [heading] - H3: [subheading] FAQ: - Q: [question the audience actually searches] - Q: [question] - Q: [question] INTERNAL_LINKS: - [anchor text] → [relative URL or page title if URL unknown] WRITER_NOTES: [one paragraph of specific guidance: tone, POV, what to avoid, key differentiators to emphasize, CTAs, any client-specific requirements] ``` **Critical rules:** - Every field label must appear exactly as shown (ALL_CAPS with underscores) - SEARCH_INTENT value must exactly match one of the four options (capitalized) - PRIORITY value must be exactly HIGH, MEDIUM, or LOW - H2_OUTLINE, FAQ, INTERNAL_LINKS, WRITER_NOTES are block fields — content follows on the next line(s) - No additional text before TARGET_KEYWORD or after WRITER_NOTES block ## Workflow Architecture (9 Nodes) | Node | Role | Tool | |---|---|---| | 1 — Input | Accept keyword + optional client/audience context | User message | | 2 — Keyword Metrics | Pull volume, KD, CPC, SERP type | Ahrefs MCP OR WebSearch fallback | | 3 — SERP Scrape | Extract H2/H3 from top 3 organic results | WebFetch | | 4 — Brief Generation | Process data through Direction prompt → structured output | Claude (this skill) | | 5 — Text Parser | Extract labeled fields → structured variables | `scripts/text_parser.py` | | 6 — Conditional Router | Route based on PRIORITY value | Routing logic | | 7A — Notion Create (HIGH) | Create page, Status = "Briefed: Ready for Assignment" | Notion MCP |
From Infrasity-Labs/dev-gtm-claude-skills, MIT.
More from Infrasity-Labs/dev-gtm-claude-skills
- 0.675score
landing-page-auditor
Infrasity
Audits any landing or service page across 48 checks in 10 categories for LLM/AI discoverability, GEO readiness, content clarity, schema markup, internal…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-image
Infrasity-Labs
AI image generation and editing for blog content powered by Gemini via MCP.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-cluster
Infrasity-Labs
Semantic topic cluster planning and automated execution engine for claude-blog.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
churn-prevention
Infrasity-Labs
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-google
Infrasity-Labs
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
anydesign
Infrasity-Labs
Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-translate
Infrasity-Labs
Translate existing blog posts into one or more target languages with SEO-optimized localization.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
ads
Infrasity-Labs
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-audio
Infrasity-Labs
Generate audio narration of blog posts using Google Gemini TTS.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
claude-md-starter
Infrasity-Labs
Generates a fully structured, project-specific CLAUDE.md by scanning the repo for signal files (package.json, Makefile, .github/workflows/, .env.example…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
agile-product-owner
Infrasity-Labs
Agile product ownership for backlog management and sprint execution.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
code-reviewer
Infrasity-Labs
Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin, C#, .NET, Java, C, C++, Rust, Ruby, PHP, and Dart/Flutter.
SkillCFreshness: C★ 144Claude Code +9
Signals
- Stars
- 144
- Forks
- 16
- Open issues
- 1
- Last commit (this folder)
- Jun 23, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Infrasity-Labs
- 0.508score
blog-audio
Infrasity-Labs
Generate audio narration of blog posts using Google Gemini TTS.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-cluster
Infrasity-Labs
Semantic topic cluster planning and automated execution engine for claude-blog.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
anydesign
Infrasity-Labs
Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
ads
Infrasity-Labs
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
agile-product-owner
Infrasity-Labs
Agile product ownership for backlog management and sprint execution.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-google
Infrasity-Labs
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection…
SkillCFreshness: C★ 144Claude Code +9
Cite this page
content-brief skill. Agent Mart. https://agentmart.dev/skills/infrasity-labs-content-brief (last updated 2026-10-24)