article-page-generator
article-page-generator structures, optimizes, and audits individual article pages by analyzing keyword targeting, search intent, competitor positioning, and technical SEO elements like metadata and schema markup. Use this skill when optimizing a single blog post or article page for search visibility and user experience, distinct from blog index pages or article body content writing.
git clone --depth 1 https://github.com/kostja94/marketing-skills /tmp/article-page-generator && cp -r /tmp/article-page-generator/skills/pages/content/article ~/.claude/skills/article-page-generatorSKILL.md
# Pages: Article (Single Post) Guides **structure, SEO, and UX** for individual article pages — layout, metadata, schema, technical. For **article body content** (intro, body, conclusion, writing), see **article-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. ## Optimization Foundation: Four Inputs 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 | project-context (Sections 1–4, 9–11); article content; web search | | **Keywords** | Target keyword, primary/secondary placement | project-context Section 6; keyword-research; article | | **Article intent** | Informational, commercial, transactional, navigational; drives structure, CTA, SEO depth | project-context Section 6 (target intent); article orientation; content type | | **Competitor articles** | Structure to adopt, content gaps, length target, keyword opportunities | User-provided URLs; project-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 project-context. ## Before Analysis: Gather Context **1. Product / company context** Use available context to give **tailored** analysis: | Source | Use for | |--------|---------| | **project-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 project-context exists, infer from the article and optionally search for company/product info to enrich recommendations. ## Research Phase: Keyword, Search Intent, Competitor (Required for Article Analysis) **Lightweight** research for article analysis. When **analyzing or auditing** an article, perform searches and **output the results** in Section 0. Skip only if user explicitly asks to skip (e.g. "skip search"). - **Keyword**: Extract from article (title, H1, H2s, first 100 words); search for opportunities — see **keyword-research** (extract from article method) - **Search intent**: Informational / Commercial / Transactional / Navigational — see **keyword-research** Search Intent - **Competitor articles**: Fetch 2–3 top-ranking pages; analyze structure, gaps, length target — see **competitor-research** (Competitor Article Fetch Workflow) **Output format**: See Output Format Section 0 below. ## Scope - **Single article page**: One post, one URL (e.g. `/blog/how-to-optimize-seo`) - **Not** the blog index, category pages, or archive pages — see **blog-page-generator** for those ## Initial Assessment **Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for topics, audience, keywords, and Section 11 (Content/Blog/Article Strategy). Identify: 1. **Product connection**: How does this article support the product? (educate on problem, introduce features, nurture leads) 2. **Keyword basis**: Target keyword from product context or keyword research — see **keyword-research** 3. **Content type**: Blog post, guide, tutorial, news, evergreen 4. **Length**: Short (<1,000 words), medium (1,000–2,500), long (2,500+) 5. **Intent**: Informational, commercial, problem-aware **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. ## Article Orientations Choose structure, SEO depth, and schema based on **orientation**. See **content-marketing** for full Article Orientations (Funding/PR, Product update, Guide, News, Evergreen), SEO-driven vs non-SEO-driven, Evergreen vs Timely. **Intent Analysis output**: Orientation, primary goal, SEO vs non-SEO, Evergreen vs timely — see Output Format Section 1. ## Article Page Structure | Section | Purpose | |---------|---------| | **Hero/Header** | Title (H1), author, **single date** (see **schema-markup** Date display for CTR), **reading time** (word count ÷ 200; round up), featured image, **share buttons** | | **TL;DR or Key Takeaways** | See **article-content** for content; placed after intro; supports GEO/AI citation | | **Introduction** | See **article-content** for hook, length, keyword placement | | **Body** | See **article-content** for QAE, paragraph length, scannability | | **Conclusion** | See **article-content** for summary, CTA, product connection | | **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** | ### Featured Image See **image-optimization** (Article / Blog hero). Same image for Schema, Open Graph, Twitter Cards; min 1200px wide, absolute URL. See **open-graph**, **twitter-cards**. ### Social Sharing - Add **share buttons** (X, LinkedIn, Faceb
When the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search Console," "indexing report," "Core Web Vitals," "Enhancements," "Insights report," "search performance," "search queries," "search performance report," "URL inspection," "impressions," "CTR," "average position," "index coverage," "GSC data analysis," "Search Console API," or "searchanalytics.query." When the user wants to rewrite title tags (not only report on them), use title-tag. For meta description rewrites, use meta-description.
When the user wants to build an SEO data analysis system, monitor indexing/traffic/keywords/backlinks, or set up benchmarks. Also use when the user mentions "SEO data analysis," "SEO monitoring," "article database," "traffic benchmark," "penalty recovery," "SEO work document," "SEO dashboard," "keyword tracking," "ranking monitoring," "indexing report," or "backlink monitoring." For GSC API, use google-search-console.
When the user wants to track AI search traffic in GA4 or GSC. Also use when the user mentions "AI traffic," "ChatGPT referral," "Perplexity traffic," "AI Overviews," "GA4 AI sources," "AI search analytics," "track AI referrals," "AI search traffic," "Claude traffic," or "how to track AI traffic." For AI SEO strategy, use generative-engine-optimization.
When the user wants to analyze website traffic sources, attribution, or dark traffic. Also use when the user mentions "traffic sources," "dark traffic," "direct traffic," "UTM parameters," "traffic attribution," "channel attribution," "attribution optimization," "channel analysis," "traffic analysis," "traffic diversification," "natural traffic benchmark," or "organic vs paid traffic." For GA4 setup, use analytics-tracking.
When the user wants to set up, audit, or optimize analytics tracking (GA4, events, conversions). Also use when the user mentions "Google Analytics," "GA4," "event tracking," "conversions," "attribution model," "gtag," "data layer," "GA4 setup," "conversion tracking," "event setup," "User ID tracking," or "CTA attribution." For traffic insights, use traffic-analysis.
When the user wants to promote via forums, communities, or invite users to join a community. Also use when the user mentions "forum promotion," "Indie Hacker," "Hacker News," "community growth," "Discord promotion," "vertical community," "brand encyclopedia," "Wikipedia," "Quora," "Reddit community," "community building," "forum marketing," or "community invite." For Reddit copy, use reddit-posts. For strategy, use integrated-marketing.
When the user wants to submit a product or app to directories, curated lists, launch platforms, or app stores—and needs ready-to-paste copy per platform. Reads project-context.md when present. Also use when the user mentions "directory submission," "get listed," "app store listing," "submit to directories," "curated list," "best tools list," "Taaft," "Product Hunt," "directory ads," "newsletter feature," "directory campaign," "tailor description per platform," "Shopify App Store," "Chrome Web Store," "navigation site," or "product directory." For Product Hunt launch day tactics (hunter, first comment, timing), use product-hunt-launch. For full 0→1 channel planning, use cold-start-strategy.
When the user wants to launch on Product Hunt, prepare a PH submission, or plan launch day (hunter, first comment, timing, upvotes). Also use when the user mentions "Product Hunt," "launch on Product Hunt," "PH launch," "Product Hunt submission," "hunter," "Product of the Day," "upvotes," or "Product Hunt first comment." For multi-platform directory listings and paste-ready copy beyond PH, use directory-submission.