{"id":"e26be1c1-272b-46d8-a9fd-55259715fdd8","shortId":"xujkQd","kind":"skill","title":"blog-outline","tagline":"SERP-informed outline generation with H2/H3 heading hierarchy, competitive content gap analysis, section-by-section word count targets, chart and image placement markers, FAQ question planning, and internal linking zones. Skeleton only: structure, H2/H3 hierarchy, word counts, FA","description":"# Blog Outline Generator -- SERP-Informed Structure Planning\n\nGenerates skeletal blog post outlines informed by SERP analysis. A lighter\nalternative to a full content brief - produces heading hierarchy, section\ntargets, and content gap notes without deep statistics research or full\ncompetitive analysis.\n\n## Cross-reference\n\nFor evidence-led topical-relevance and content-planning prompts upstream of outlining, see `/blog flow find`. The blog-post-outline-prompt under `/blog flow optimize` is a complementary structural reference.\n\n## Workflow\n\n### Step 1: Topic & Intent\n\nGather from the user:\n1. **Topic or target keyword** (required)\n2. **Target keyword** - the exact phrase to rank for (if different from topic)\n3. **Search intent** - Informational, commercial, or transactional\n\nIf only a topic is given, infer the keyword and intent from context.\n\n### Step 2: SERP Analysis\n\nUse WebSearch to analyze the top 5 results for the target keyword:\n\n1. Search for the target keyword\n2. For each of the top 5 results, note:\n   - **Heading structure** - H2/H3 topics covered\n   - **Content length** - Approximate word count\n   - **Visual elements** - Charts, images, videos, infographics\n   - **FAQs** - Any FAQ sections or People Also Ask coverage\n   - **Unique angles** - What makes each result distinct\n   - **Gaps** - What's missing or weak\n\n3. Use WebFetch on the top 2-3 results to extract detailed heading structures\n   if the search snippets are insufficient.\n\n4. Compile a summary of common patterns and missed opportunities.\n\n### Step 3: Generate Outline\n\nCreate a structured outline with the following format:\n\n```\n# Outline: [Topic]\n\n## Title Suggestions\n1. [Primary title - 40-60 chars, front-loaded keyword, power word]\n2. [Alternative title - different angle]\n3. [Alternative title - question format]\n\n## Target Parameters\n- **Primary keyword**: [keyword]\n- **Search intent**: [Informational/Commercial/Transactional]\n- **Target word count**: [X,XXX] words\n- **H2 sections**: [6-8]\n- **Target reading level**: Flesch 60-70\n\n---\n\n## Outline\n\n### H2: [Section Title - Question Format] (~300-400 words)\n- **Answer-first opener**: [What stat or fact should open this section?]\n- **Key points to cover**:\n  - [Point 1]\n  - [Point 2]\n  - [Point 3]\n- **H3: [Subsection]** (if appropriate)\n  - [What this subsection covers]\n- **Key statistic to find**: [What data point would strengthen this section?]\n- **Chart suggestion**: [Bar/Line/Donut/None] - [What data to visualize]\n- **Image placement**: [Yes/No] - [Description of recommended image]\n\n### H2: [Section Title] (~300-400 words)\n[... repeat for 6-8 sections ...]\n\n### FAQ Section (3-5 items)\n1. [Question from People Also Ask] - [Brief answer direction]\n2. [Question from People Also Ask] - [Brief answer direction]\n3. [Question from People Also Ask] - [Brief answer direction]\n4. [Question from SERP analysis] - [Brief answer direction]\n\n### Conclusion (~100-150 words)\n- Key takeaways to summarize\n- Call to action direction\n\n---\n\n## Internal Linking Zones\n- **Link TO from this post**: [Existing content that should be referenced]\n- **Link FROM to this post**: [Existing content that should link here]\n\n## Content Gaps to Exploit\n1. [What competitors miss that this post should cover]\n2. [Unique angle or original perspective to include]\n3. [Format advantage - visuals, depth, or structure competitors lack]\n```\n\nGuidelines for heading generation:\n- 60-70% of H2 headings should be in question format\n- Each H2 should have a clear answer-first paragraph prompt\n- Include H3 subsections only where the topic genuinely warrants subdivision\n- Target word counts should sum to the overall post target\n- Chart type suggestions should be diverse (no two identical types)\n- Image placement markers should be distributed evenly across the post\n\n### Step 4: Content Gaps\n\nAfter generating the outline, add a dedicated content gaps analysis:\n1. List 3-5 topics or angles that all top-ranking competitors miss\n2. Identify opportunities for original data, case studies, or perspectives\n3. Note format advantages this post can have (more visuals, better structure,\n   deeper coverage on a specific subtopic)\n\n### Step 5: Save\n\nSave the outline to `outlines/[slug]-outline.md` or to a user-specified path.\nConfirm the outline is ready for `/blog write` to consume.\n\nIf the `outlines/` directory does not exist, create it.","tags":["blog","outline","claude","agricidaniel","agent-skills","ai-citations","ai-content","ai-marketing","ai-marketing-hub","blog-writing","claude-code","claude-code-skill"],"capabilities":["skill","source-agricidaniel","skill-blog-outline","topic-agent-skills","topic-ai-citations","topic-ai-content","topic-ai-marketing","topic-ai-marketing-hub","topic-blog","topic-blog-writing","topic-claude-code","topic-claude-code-skill","topic-claude-plugin","topic-claude-skill","topic-content-creation"],"categories":["claude-blog"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/AgriciDaniel/claude-blog/blog-outline","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add AgriciDaniel/claude-blog","source_repo":"https://github.com/AgriciDaniel/claude-blog","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 753 github stars · SKILL.md body (4,374 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:53:30.855Z","embedding":null,"createdAt":"2026-05-18T12:54:53.772Z","updatedAt":"2026-05-18T18:53:30.855Z","lastSeenAt":"2026-05-18T18:53:30.855Z","tsv":"'-150':449 '-3':247 '-400':339,400 '-5':410,596 '-60':290 '-70':331,519 '-8':325,405 '/blog':105,115,658 '1':125,132,187,286,358,412,488,593 '100':448 '2':138,172,193,246,298,360,421,497,607 '3':151,240,271,303,362,409,430,505,595,617 '300':338,399 '4':260,439,580 '40':289 '5':181,199,636 '6':324,404 '60':330,518 'across':576 'action':457 'add':587 'advantag':507,620 'also':224,416,425,434 'altern':63,299,304 'analysi':16,60,85,174,443,592 'analyz':178 'angl':228,302,499,599 'answer':342,419,428,437,445,535 'answer-first':341,534 'appropri':366 'approxim':209 'ask':225,417,426,435 'bar/line/donut/none':384 'better':627 'blog':2,44,54,110 'blog-outlin':1 'blog-post-outline-prompt':109 'brief':68,418,427,436,444 'call':455 'case':613 'char':291 'chart':24,214,382,559 'clear':533 'commerci':155 'common':265 'competit':13,84 'competitor':490,512,605 'compil':261 'complementari':120 'conclus':447 'confirm':652 'consum':661 'content':14,67,75,98,207,468,479,484,581,590 'content-plan':97 'context':170 'count':22,42,211,318,551 'cover':206,356,370,496 'coverag':226,630 'creat':274,669 'cross':87 'cross-refer':86 'data':376,386,612 'dedic':589 'deep':79 'deeper':629 'depth':509 'descript':392 'detail':251 'differ':148,301 'direct':420,429,438,446,458 'directori':665 'distinct':233 'distribut':574 'divers':564 'element':213 'even':575 'evid':91 'evidence-l':90 'exact':142 'exist':467,478,668 'exploit':487 'extract':250 'fa':43 'fact':348 'faq':29,218,220,407 'find':107,374 'first':343,536 'flesch':329 'flow':106,116 'follow':280 'format':281,307,337,506,527,619 'front':293 'front-load':292 'full':66,83 'gap':15,76,234,485,582,591 'gather':128 'generat':8,46,52,272,517,584 'genuin':546 'given':163 'guidelin':514 'h2':322,333,396,521,529 'h2/h3':10,39,204 'h3':363,540 'head':11,70,202,252,516,522 'hierarchi':12,40,71 'ident':567 'identifi':608 'imag':26,215,389,395,569 'includ':504,539 'infer':164 'infograph':217 'inform':6,49,57,154 'informational/commercial/transactional':315 'insuffici':259 'intent':127,153,168,314 'intern':33,459 'item':411 'key':353,371,451 'keyword':136,140,166,186,192,295,311,312 'lack':513 'led':92 'length':208 'level':328 'lighter':62 'link':34,460,462,473,482 'list':594 'load':294 'make':230 'marker':28,571 'miss':237,268,491,606 'note':77,201,618 'open':344,350 'opportun':269,609 'optim':117 'origin':501,611 'outlin':3,7,45,56,103,112,273,277,282,332,586,640,642,654,664 'outline.md':644 'overal':556 'paragraph':537 'paramet':309 'path':651 'pattern':266 'peopl':223,415,424,433 'perspect':502,616 'phrase':143 'placement':27,390,570 'plan':31,51,99 'point':354,357,359,361,377 'post':55,111,466,477,494,557,578,622 'power':296 'primari':287,310 'produc':69 'prompt':100,113,538 'question':30,306,336,413,422,431,440,526 'rank':145,604 'read':327 'readi':656 'recommend':394 'refer':88,122 'referenc':472 'relev':95 'repeat':402 'requir':137 'research':81 'result':182,200,232,248 'save':637,638 'search':152,188,256,313 'section':18,20,72,221,323,334,352,381,397,406,408 'section-by-sect':17 'see':104 'serp':5,48,59,173,442 'serp-inform':4,47 'skelet':53 'skeleton':36 'skill' 'skill-blog-outline' 'slug':643 'snippet':257 'source-agricidaniel' 'specif':633 'specifi':650 'stat':346 'statist':80,372 'step':124,171,270,579,635 'strengthen':379 'structur':38,50,121,203,253,276,511,628 'studi':614 'subdivis':548 'subsect':364,369,541 'subtop':634 'suggest':285,383,561 'sum':553 'summar':454 'summari':263 'takeaway':452 'target':23,73,135,139,185,191,308,316,326,549,558 'titl':284,288,300,305,335,398 'top':180,198,245,603 'top-rank':602 'topic':94,126,133,150,161,205,283,545,597 'topic-agent-skills' 'topic-ai-citations' 'topic-ai-content' 'topic-ai-marketing' 'topic-ai-marketing-hub' 'topic-blog' 'topic-blog-writing' 'topic-claude-code' 'topic-claude-code-skill' 'topic-claude-plugin' 'topic-claude-skill' 'topic-content-creation' 'topical-relev':93 'transact':157 'two':566 'type':560,568 'uniqu':227,498 'upstream':101 'use':175,241 'user':131,649 'user-specifi':648 'video':216 'visual':212,388,508,626 'warrant':547 'weak':239 'webfetch':242 'websearch':176 'without':78 'word':21,41,210,297,317,321,340,401,450,550 'workflow':123 'would':378 'write':659 'x':319 'xxx':320 'yes/no':391 'zone':35,461","prices":[{"id":"a9faa31c-1671-47d0-afb7-a4813d3dfa05","listingId":"e26be1c1-272b-46d8-a9fd-55259715fdd8","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"AgriciDaniel","category":"claude-blog","install_from":"skills.sh"},"createdAt":"2026-05-18T12:54:53.772Z"}],"sources":[{"listingId":"e26be1c1-272b-46d8-a9fd-55259715fdd8","source":"github","sourceId":"AgriciDaniel/claude-blog/blog-outline","sourceUrl":"https://github.com/AgriciDaniel/claude-blog/tree/main/skills/blog-outline","isPrimary":false,"firstSeenAt":"2026-05-18T12:54:53.772Z","lastSeenAt":"2026-05-18T18:53:30.855Z"}],"details":{"listingId":"e26be1c1-272b-46d8-a9fd-55259715fdd8","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"AgriciDaniel","slug":"blog-outline","github":{"repo":"AgriciDaniel/claude-blog","stars":753,"topics":["agent-skills","ai","ai-citations","ai-content","ai-marketing","ai-marketing-hub","blog","blog-writing","claude-code","claude-code-skill","claude-plugin","claude-skill","content-creation","content-optimization","content-strategy","eeat","geo","multilingual","open-source","seo"],"license":"mit","html_url":"https://github.com/AgriciDaniel/claude-blog","pushed_at":"2026-05-15T04:45:18Z","description":"Claude Code blog skill suite: 30 sub-skills, 5 agents, 5-gate v1.9.0 Blog Delivery Contract, dual-optimized for Google rankings and AI citations. Active development at AI-Marketing-Hub/claude-blog (AI Marketing Hub Pro community); public releases ship here.","skill_md_sha":"d607c50f93f812cbd7def23226f7ce364c966bf8","skill_md_path":"skills/blog-outline/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/AgriciDaniel/claude-blog/tree/main/skills/blog-outline"},"layout":"multi","source":"github","category":"claude-blog","frontmatter":{"name":"blog-outline","license":"MIT","description":"SERP-informed outline generation with H2/H3 heading hierarchy, competitive content gap analysis, section-by-section word count targets, chart and image placement markers, FAQ question planning, and internal linking zones. Skeleton only: structure, H2/H3 hierarchy, word counts, FAQ slots. Use blog-brief instead if you need full competitive analysis, statistics research, and image suggestions. Lighter than a full content brief, generates article skeleton and structure only, ready for /blog write to consume. Use when user says \"outline\", \"blog outline\", \"content outline\", \"structure blog\", \"plan sections\", \"article skeleton\", \"heading structure\", \"SERP analysis\", \"competitive outline\", \"plan article\"."},"skills_sh_url":"https://skills.sh/AgriciDaniel/claude-blog/blog-outline"},"updatedAt":"2026-05-18T18:53:30.855Z"}}