skills/seo/content/article/SKILL.md
When the user wants to create, optimize, or audit a single article/post page (not the blog index). Also use when the user mentions "article page," "blog post," "blog post page," "long-form content," "single post," "post template," "individual article," "article structure," "post optimization," "competitor article analysis," "optimize based on top-ranking articles," "analyze ranking articles," "optimize article for SEO," or "article schema."
npx skillsauth add irismaker/ai-agent-skills-hub article-page-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guides structure, SEO, and UX for individual article pages — one blog post, one guide, one piece of long-form content. Distinct from blog-page-generator, which covers the blog index/listing page.
When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
Output workflow: Always output in order: 0. Research Phase (keywords, search intent, competitors) → 1. Intent Analysis → 2. Content Analysis → 3. Recommendations. Do not skip steps. When Research Phase was performed via web search, show the search results and findings.
Article analysis and creation rest on four inputs. Gather or infer them before outputting recommendations:
| Input | Purpose | Source | |-------|---------|--------| | Product | Product connection, features, use cases, CTA placement | product-marketing-context (Sections 1–4, 9–11); article content; web search | | Keywords | Target keyword, primary/secondary placement | product-marketing-context Section 6; keyword-research; article | | Article intent | Informational, commercial, transactional, navigational; drives structure, CTA, SEO depth | product-marketing-context Section 6 (target intent); article orientation; content type | | Competitor articles | Structure to adopt, content gaps, length target, keyword opportunities | User-provided URLs; product-marketing-context Section 11; web search |
When any input is missing: Proactively ask or search. For article analysis: perform Research Phase (keyword search, search intent, competitor articles) by default — see Research Phase section. For product/keywords/intent, infer from article or prompt user to add product-marketing-context.
1. Product / company context
Use available context to give tailored analysis:
| Source | Use for | |--------|---------| | product-marketing-context.md | Keywords (Section 6), competitors (Section 7), content strategy (Section 11), product connection | | Article content | Extract product name, features, URLs; infer target keyword and audience | | Web search | When analyzing a known brand: search for "[product] features", "[product] vs competitors", company positioning — use to validate product connection, suggest missing features/use cases, and improve competitor gap analysis |
If no product-marketing-context exists, infer from the article and optionally search for company/product info to enrich recommendations.
Lightweight research for article analysis—keyword extraction, intent check, competitor structure. For deep keyword research, topical mapping, or content planning, use keyword-research and content-strategy.
When analyzing or auditing an article, perform the following searches and output the results in the analysis. Skip only if user explicitly asks to skip (e.g. "skip search").
"[primary keyword]" or "[primary keyword] related keywords""[primary keyword]" site:competitor.com (if competitors known)"[keyword]" to see SERP result types (blogs, product pages, etc.) and infer intent. See serp-features for SERP feature types."[target keyword]" or "[primary keyword]"/blog/how-to-optimize-seo)Check for product marketing context first: If .claude/product-marketing-context.md or .cursor/product-marketing-context.md exists, read it for topics, audience, keywords, and Section 11 (Content/Blog/Article Strategy).
Identify:
Product-linked content: Articles should tie to the product (problem it solves, features, use cases). Avoid purely generic content with no product relevance. Link to product/feature pages naturally in conclusion or when context fits.
Not all articles share the same goal. Choose structure, SEO depth, and schema based on orientation and primary objective.
| Orientation | Examples | Primary Goal | SEO Priority | |-------------|----------|--------------|--------------| | Funding / PR | Funding rounds, acquisitions, executive hires | Brand awareness, press, investor relations | Low — thin content, few search queries | | Product updates | Feature launches, release notes, changelogs | User education, product adoption | Low–medium — internal announcements rarely rank | | Guides / How-to | Tutorials, step-by-step, best practices | Education, lead nurture, authority | High — matches search intent | | News / Trending | Industry news, hot topics, seasonal | Engagement, social shares, topical relevance | Medium — quick traffic spikes, short shelf life | | Evergreen | Pillar guides, glossaries, comparisons | Long-term traffic, backlinks, authority | High — compounds over time |
| Attribute | Evergreen | Timely |
|-----------|-----------|--------|
| Relevance | Year-round; foundational topics | Weeks to months; trends, news, seasonal |
| Traffic | Steady, compounds over time | Spikes then decline |
| Examples | "How to write a business plan," "Best SEO strategies" | Holiday guides, trending microtrends, breaking news |
| Maintenance | Refresh every 6–12 months; update stats | Often one-and-done; may archive or redirect |
| Schema | Article or BlogPosting | NewsArticle for time-sensitive news |
Recommended mix: 70/30 or 60/40 evergreen-to-timely. Too much evergreen = blog feels outdated; too much timely = irregular traffic, constant churn. Use timely content to link into evergreen pillar articles.
Date display: For timely content, datePublished matters more; for evergreen, prefer dateModified when visible (see Date Display below).
Performed as part of Research Phase (see above). When competitor articles are obtained:
"[keyword]" to find top-ranking pages (default for analysis)| Section | Purpose | |---------|---------| | Hero/Header | Title (H1), author, single date (see Date Display below), reading time (word count ÷ 200; round up), featured image, share buttons | | TL;DR or Key Takeaways | Choose one: TL;DR = 50–100 word bold summary paragraph; Key Takeaways = 5–7 bullet points; placed after intro; supports GEO/AI citation | | Introduction | 40–120 words; hook in first 1–2 sentences (pain point, stat, or question); primary keyword in first 100 words; readers decide in ~8 seconds | | Body | H2–H3 hierarchy; QAE pattern (see GEO below); scannable (lists, short paragraphs 40–80 words, visuals) | | Conclusion | Summary, CTA (newsletter, related content, product — link to product/feature when relevant) | | Related posts | 3–6 contextual links; end-of-article recommendations | | Author bio | E-E-A-T; credentials, photo, link to author page — see eeat-signals |
The hero image displayed at the top of the article. Same image typically used for Schema, Open Graph, and Twitter Cards.
| Attribute | Guideline |
|-----------|-----------|
| Dimensions | 1200–1600px wide; proportional height; 1200×630px for social (og:image) |
| File size | Under 200 KB; compress (WebP preferred) |
| Format | WebP, JPEG, PNG; avoid oversized originals |
| Alt text | Descriptive; include keyword when natural; accessibility + Google Images |
| File name | Descriptive (e.g. seo-checklist-2025.webp); keyword when natural |
| Relevance | Must align with article topic; articles with relevant images get ~94% more views |
| LCP | Set width and height attributes to prevent CLS; use srcset/sizes for responsive |
Schema and Open Graph require the same image (min 1200px wide, absolute URL). See open-graph, twitter-cards.
Optimize for AI citation (ChatGPT, Perplexity, Google AI Overviews). Content structured for GEO is cited ~35% more frequently.
| Element | Guideline | |---------|-----------| | TL;DR or Key Takeaways | Choose one: TL;DR = 50–100 word summary paragraph; Key Takeaways = 5–7 bullet points; placed after intro; supports GEO | | QAE pattern | Question (H2) → Answer (2 sentences) → Evidence (data, examples, lists) | | Answer-first | Direct answer in first 40–60 words after each H2 | | Answer blocks | 100–200 words per section; direct answer + context + evidence + nuance | | Structured formats | Lists, tables, numbered steps increase citation rate |
See generative-engine-optimization for full GEO strategy.
| Element | Guideline | |---------|-----------| | Paragraph length | 2–4 sentences; 40–80 words per paragraph; avoid walls of text | | Break long blocks | Use lists, subheadings (H3), images, callout boxes every 2–3 paragraphs | | Answer blocks | 100–200 words per H2 section; direct answer + context + evidence | | Scannability | Short sentences; one idea per paragraph; front-load key info (F-pattern: readers scan top, then left); bold key phrases for Featured Snippets; see featured-snippet |
| Element | Guideline | |---------|-----------| | Title | 55 chars; primary keyword near start; power words | | Meta description | 150–160 chars; CTA; primary keyword | | H1 | One per page; matches title; primary keyword naturally |
Use url-slug-generator for slug creation. Key rules:
/blog/ai-people-search not /blog/ai-search-engine-finding-people-speed-discovery-outreach/blog/2025/01/15/article-title); copy-pasting full titleGoogle recommends: Minimize the presence of other dates on the page. If both datePublished and dateModified are shown, Google may pick the wrong date for SERP display.
dateModified if it exists, otherwise datePublished.datePublished and dateModified in JSON-LD; the rule applies to visible date only.Choose the most specific type that matches content:
| Type | Use case | |------|----------| | BlogPosting | Informal blog posts; individual authors; regularly updated | | Article | Formal, evergreen content; tool intros; encyclopedic | | NewsArticle | Time-sensitive news; recognized publishers |
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "The Ultimate SEO Checklist for 2025",
"description": "A complete guide to optimizing blog posts for search and AI.",
"image": "https://example.com/image.jpg",
"datePublished": "2025-01-15T09:00:00Z",
"dateModified": "2025-02-01T14:30:00Z",
"author": { "@type": "Person", "name": "Jane Doe", "url": "https://example.com/author/jane" },
"publisher": { "@type": "Organization", "name": "Example", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" } }
}
Place in <head> via <script type="application/ld+json">. Validate with Rich Results Test.
Use og:type: article for article pages (not website):
<meta property="og:type" content="article">
<meta property="og:article:published_time" content="2025-01-15T09:00:00Z">
<meta property="og:article:modified_time" content="2025-02-01T14:30:00Z">
<meta property="og:article:author" content="https://example.com/author/jane">
| Element | Guideline | |---------|-----------| | Volume | 3–5 contextual links in body + 3–6 in Related posts = 6–11 total per article | | First paragraph | 1 link to pillar or key related content | | Body | 2–4 contextual links; one per major section when relevant | | Related posts | 3–6 end-of-article links; same topic cluster | | Anchor text | Descriptive (e.g. "SEO checklist for 2025", "how to optimize meta tags"); avoid "click here", "learn more", "read more" | | Variation | Mix exact-match, partial-match, branded anchors; avoid over-optimization | | Orphan prevention | Every article has ≥1 internal link from hub/pillar or nav |
| Element | Guideline | |---------|-----------| | Volume | 2–5 external links per article; cite authoritative sources | | When to use | Statistics, research, definitions, tool comparisons, expert quotes | | Anchor text | Descriptive (e.g. "Google's Search Quality Guidelines", "SEO study"); link to source | | Same URL | Counts once per page for link equity; no need to repeat | | E-E-A-T | External links to reputable sources signal trust — see eeat-signals |
| Scenario | Recommendation | |----------|----------------| | Data or statistics | Cite source inline (e.g. "According to Source, 72% of…") or in a References section | | Expert quotes | Attribute; link to source or profile | | Reference section | For pillar/evergreen content with 5+ citations; list at end before Related posts | | Format | Inline links preferred; numbered refs (e.g. [1], [2]) for academic-style pieces | | When to include | Any claim that benefits from authority (stats, studies, definitions); strengthens E-E-A-T — see eeat-signals |
When content is AI-assisted: human review before publish; verify facts and add citations; original insights or data; avoid generic phrasing. See eeat-signals for E-E-A-T and AI content guidance.
When auditing or optimizing an article, analyze content (beyond structure):
| Dimension | What to check | |-----------|---------------| | Hook | Intro opens with pain point, stat, or question? | | Keyword in first 100 words | Primary keyword present? | | QAE pattern | H2s as questions? Answer-first (40–60 words) in each section? | | Word count | Matches type? (300–600 news, 1,000–2,500 cluster, 2,500+ pillar) | | Paragraph length | 40–80 words per paragraph? No walls of text? | | Multimedia | Images, tables, lists, stats; alt text; scannability | | Product connection | Ties to product? Natural links to features/pricing? | | CTA | Placement (conclusion, mid-article); clarity; product link | | Internal links | 3–5 in body + 3–6 Related? Descriptive anchor text? No "click here"? | | Outbound links | 2–5 external links? Authoritative sources? Descriptive anchors? | | References | Data/stats cited? Reference section for 5+ citations? E-E-A-T signal? | | Data/evidence | Original data, citations, examples; avoid thin content | | Gaps | What do top-ranking articles cover that this misses? |
When analyzing or auditing an article, output this section before Intent Analysis. Include search sources and findings. If user asked to skip search, note that and infer from article only.
| Section | Output | |--------|--------| | Keyword Search | Primary keyword (from article or search), secondary keywords, keyword opportunities (from SERP/competitor analysis). If search was performed: query used, top results observed. | | Search Intent | Intent for primary keyword (Informational/Commercial/Transactional/Navigational), intent for 2–3 secondary keywords, whether article content matches intent. If search was performed: SERP snippet types observed. | | Competitor Articles | If searched: 2–3 URLs, brief structure (word count, H2s), content gaps, length target. If user provided URLs: same. See competitor-research for full methodology. If skipped: "Competitor analysis skipped." |
Before any recommendations, output a brief analysis:
| Dimension | Output | |-----------|--------| | Orientation | Funding/PR, Product update, Guide, News, Evergreen | | Primary goal | Brand, PR, education, product adoption, organic traffic, … | | SEO vs non-SEO | SEO-driven / Non-SEO-driven / Hybrid | | Evergreen vs timely | Evergreen / Timely | | Implications | 1–2 sentences: e.g. "Low SEO priority → focus on clarity, shareability" or "SEO-driven → full keyword + GEO optimization" |
Apply the Content Analysis table above. Output a brief assessment per dimension (✅ / ⚠️ / ❌ + one-line note).
Assign priority to each item: P0 (critical), P1 (high), P2 (medium), P3 (nice-to-have). Output as table or list with priority prefix.
| Priority | Use when | |----------|----------| | P0 | Blocks GEO/SEO; missing core element (TL;DR or Key Takeaways, keyword in first 100 words, schema) | | P1 | Significant impact on traffic, CTR, or conversion (title length, share buttons, CTA) | | P2 | Improves UX or authority (related posts, author bio, internal links) | | P3 | Polish (image optimization, readability tweaks) |
Example: [P0] Add TL;DR or Key Takeaways — GEO, AI citation
tools
When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use when the user mentions 'video production,' 'AI video,' 'Remotion,' 'Hyperframes,' 'HeyGen,' 'Synthesia,' 'Veo,' 'Runway,' 'Kling,' 'Pika,' 'video generation,' 'AI avatar,' 'talking head video,' 'programmatic video,' 'video template,' 'explainer video,' 'product demo video,' 'video pipeline,' or 'make me a video.' Use this for video creation, generation, and production workflows. For video content strategy and what to post, see social-content. For paid video ad creative, see ad-creative.
tools
When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation. Also use when the user mentions "lead magnet," "gated content," "content upgrade," "downloadable," "ebook," "cheat sheet," "checklist," "template download," "opt-in," "freebie," "PDF download," "resource library," "content offer," "email capture content," "Notion template," "spreadsheet template," or "what should I give away for emails." Use this for planning what to create and how to distribute it. For interactive tools as lead magnets, see free-tool-strategy. For writing the actual content, see copywriting. For the email sequence after capture, see email-sequence.
development
When the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product mockups, profile banners, listing visuals, or brand assets. Also use when the user mentions 'AI image generation,' 'generate an image,' 'create a graphic,' 'product mockup,' 'hero image,' 'social media graphic,' 'banner image,' 'cover photo,' 'profile banner,' 'listing screenshot,' 'Flux,' 'Midjourney,' 'DALL-E,' 'GPT Image,' 'Ideogram,' 'Gemini image,' 'Canva,' 'Figma,' 'image optimization,' 'compress images,' 'WebP,' or 'OG image.' Use this for general-purpose marketing image creation and optimization. For paid ad image creative and platform-specific ad specs, see ad-creative. For video production, see video.
testing
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases. Credits: Original skill by @blader - https://github.com/blader/humanizer