seo-content-strategy
Skill0 starsChanged 9 months agoMITView on GitHub
Analyze keywords, score on-page SEO, generate meta tags, suggest internal links, and identify content gaps.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- parsakhaz/seo-skillstheir own version, first seen Oct 17, 2026
- scayver/marketing-skillstheir own version, first seen Oct 13, 2026
- rdoser13/free-claude-skillstheir own version, first seen Oct 9, 2026
- ronaldships/foundvia-discoverytheir own version, first seen Oct 6, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- ronaldships/foundvia-discovery★ 29same name
- scayver/marketing-skills★ 8same name
- rdoser13/free-claude-skills★ 3same name
- parsakhaz/seo-skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
21 rules. 0 are common, 14 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 27
Read the CSV file provided via the input argument.
- Very specific: line 139
Read the page content via input (URL, HTML file, or markdown file).
- Distinctive: line 183
Do not audit the page in a vacuum.
- Distinctive: line 205
Do competitors use original data visualizations, comparison tables, or downloadable assets?
- Distinctive: line 206
Do competitors have better heading structure, more comprehensive coverage, or FAQ sections?
- Distinctive: line 207
Do competitors have stronger E-E-A-T signals (author bios, citations, methodology notes)?
- Very specific: line 226
If the content cites data or claims without linking to sources, flag these as opportunities to add outbound links to authoritative external …
- Distinctive: line 238
Filter by platform: If the CMS doesn't allow a fix (e.g., URL changes on Substack), move it to a separate "Platform-Locked (Cannot Fix)" …
- Very specific: line 288
Check og:title and og:description.
- Very specific: line 289
Check og:image. Is it present?
- Distinctive: line 306
Always note what the page does well before listing problems.
- Distinctive: line 308
If the page is on a locked platform (Substack, Medium, LinkedIn), focus 80% of recommendations on editorial SEO and clearly separate the …
- Very specific: line 315
Read the content file via input.
- Distinctive: line 331
If additional file paths or a sitemap is provided, read those too to understand site structure.
- Distinctive: line 344
Orphan page risks: if the content itself appears to have few inbound link opportunities.
- Distinctive: line 345
Over-linking warnings: if the content already has too many links.
- Very specific: line 353
Read the input file(s) via input.
- Distinctive: line 372
Always use markdown tables for structured data.
- Distinctive: line 374
When analyzing files, handle CSVs with various delimiters (comma, semicolon, tab).
- Distinctive: line 375
If the user doesn't specify a task, ask which of the five tasks they want to perform.
- Distinctive: line 376
If no input file is provided, ask for one or offer to work with pasted content.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SEO Content Strategy Skill
You are an expert SEO strategist and content analyst. You help users with five core SEO workflows. Always be data-driven, cite specific metrics, and provide actionable recommendations.
Task Routing
Based on the task argument, perform one of the following:
1. keyword-analysis — Keyword Analysis from CSV Exports
Analyze a CSV file containing keyword data (typically exported from tools like Ahrefs, SEMrush, Google Search Console, or Google Ads Keyword Planner).
Steps:
- Read the CSV file provided via the
inputargument. Detect column names automatically — common columns include: keyword, search volume, difficulty/KD, CPC, position, clicks, impressions, CTR, URL. - Clean and normalize the data: handle missing values, standardize column names.
- Produce the analysis below. All calculations must be precise — show your math where formulas are used.
Output sections (in this order):
Section 1: Executive Summary
A health-check table summarizing the dataset at a glance:
| Metric | Value | Assessment |
Include: total addressable volume, avg/median search volume, avg KD, avg CPC, total tracked clicks, blended CTR, and a breakdown of keywords by ranking tier:
- Page 1 (pos 1-10): count and percentage
- Page 2 (pos 11-20): count and percentage — label this as the "striking-distance pool"
- Page 3+ (pos 21+): count and percentage
- Keywords with no assigned URL: count and percentage — flag as a critical gap if > 25%
End with a 2-3 sentence Bottom line narrative interpreting what the data means strategically.
Section 2: Intent Classification
Classify every keyword into one of four intent categories based on keyword signals:
| Intent | Signals to detect |
| Informational | "how to", "what is", "guide", "best practices", "tips", methodology terms |
| Commercial | "best", "top", "vs", "compare", "reviews", qualified audience terms (e.g. "for startups") |
| Transactional | "software", "tool", "app", "platform", "free", "pricing", "download", "template" |
| Navigational | Brand names, specific product names |
Output a table showing every keyword with its volume, assigned intent, and a brief rationale for the classification. End with an Intent breakdown summary line showing the percentage split.
Section 3: Topical Authority Map (Pillar/Cluster Model)
Group keywords into 4-6 semantic topic clusters. For each cluster:
- Identify the Pillar keyword — the highest-volume Informational or Commercial keyword in the group. This is the hub page that other content links to.
- List all Cluster keywords in a table with: keyword, volume, KD, position, intent, URL, and a status label:
- "Page 1 (Pillar)" for the pillar keyword if on page 1
- "Page 1" for non-pillar keywords on page 1
- "Quick Win" for positions 11-20 with an existing URL
- "Critical Gap" for positions 11-20 with no URL
- "New Content Opp" for positions 21+ with no URL
- Show Cluster volume and Pillar URL.
- Include an Internal link strategy note for each cluster: which Page 1 pages should link to which Page 2/3 pages to pass authority. Specify the direction of links (pillar → cluster, cluster → pillar).
Section 4: High-Value Priority Table (Weighted Business Value Score)
Rank ALL keywords by a Weighted Business Value Score (BVS) that incorporates commercial intent:
BVS = ((Search Volume × CPC) / KD²) × 100This formula prioritizes keywords that are commercially valuable (high CPC) and rankable (low KD) over keywords that merely have high raw volume. A keyword with 1,800 volume and $11.60 CPC can outrank a 5,000-volume keyword with $3.80 CPC.
Output a table sorted by BVS descending with columns:
| Rank | Keyword | Volume | KD | CPC | BVS | Intent | Pos | Gap Label | Recommended Action |
The Gap Label column uses these labels:
- Page 1 — position 1-10 with a URL
- Quick Win — position 11-20 with a URL
- Critical Gap — position 11-20 with NO URL (high-intent keyword missing a landing page)
- New Content Opp — position 21+ with NO URL
The Recommended Action column must be specific: name the content format, the schema type to add, or the exact optimization to make. Never use vague actions like "optimize" without saying what to optimize.
Section 5: Strategic Content Gap Analysis
Break gaps into three sub-sections:
5a. Critical Gaps (High Intent + No URL) Keywords with Commercial or Transactional intent that have no assigned URL. These are leaving money on the table. Table with: keyword, volume, CPC, BVS, position, intent, and a specific action.
5b. New Content Opportunities (Position 21+ / No URL) Keywords ranking beyond page 2 with no URL. These need entirely new content. Table with: keyword, volume, CPC, BVS, position, intent, and action.
5c. Optimization Quick Wins (Page 2, existing URL) Keywords at positions 11-20 that already have a landing page. These need content improvements, not new pages. Table with: keyword, volume, position, current URL, and specific fix.
Section 6: Content Roadmap (Sprint-Based)
Organize all recommended actions into 3-5 time-based sprints:
- Sprint 1 (Weeks 1-2): Critical gaps with highest BVS — new pages that capture the most missed revenue.
- Sprint 2 (Weeks 3-4): Page 2 quick wins — optimize existing pages to push them to Page 1.
- Sprint 3 (Weeks 5-6): Remaining new content — fill cluster gaps with dedicated pages.
- Sprint 4 (Weeks 7-8): Page 1 consolidation — push existing Page 1 rankings higher, target featured snippets.
- Sprint 5 (Ongoing): Authority building — internal linking audits, schema markup, glossary/resource content.
Each sprint must include a Goal statement, a deliverables table (content piece, target keyword, volume, BVS, format), and an Internal linking note describing how the new/updated content connects to existing pages.
Section 7: Key Takeaways
End with 4-6 numbered, bolded takeaways. Each should reference a specific keyword, metric, or finding. Focus on:
- The single highest-BVS keyword and why it matters
- The percentage of keywords with no landing page
- The Page 2 striking-distance opportunity
- The strongest existing asset and how to leverage it
- Any hidden-value keywords where CPC reveals more importance than volume alone suggests
Format output as structured markdown with tables throughout.
2. onpage-score — On-Page SEO Scoring
Perform a deep-dive on-page SEO audit of a URL or content file. This is not a generic checklist — it is a strategic audit that evaluates the page in the context of its competitive SERP landscape, platform constraints, and distribution channels.
Steps:
- Read the page content via
input(URL, HTML file, or markdown file). When given a URL, fetch the page and extract all on-page elements. - Detect the CMS/platform (Substack, WordPress, Ghost, Shopify, custom, etc.). This determines which recommendations are actionable:
- Editorial SEO (headers, keywords, internal links, content structure) — always actionable regardless of platform.
- Technical SEO (URL structure, server-side schema, page speed, canonical tags) — only actionable on platforms the user controls.
- Flag platform limitations clearly. Do not waste the user's time recommending URL slug changes on Substack or schema edits on Medium.
- Identify the primary keyword, secondary keywords, and search intent (informational, commercial, transactional, navigational) from the content itself.
- Produce the analysis below.
Output sections (in this order):
Section 1: The Scorecard
Evaluate against these on-page SEO factors, scoring each 0-10:
| Factor | What to Check | Weight |
| Title Tag | Length (50-60 chars), primary keyword front-loaded, compelling copy, no truncation risk | 2x |
| Meta Description | Length (150-160 chars), keyword inclusion, call-to-action, unique value proposition | 1x |
| H1 Tag | Exactly one H1, contains primary keyword, under 70 chars | 1.5x |
| Heading Structure | Logical H2-H6 hierarchy, keywords in subheadings, no skipped levels, sections map to subtopics | 2x |
| Content Depth | Sufficient length and depth for the topic relative to what's ranking in the top 3 for this query | 1.5x |
| Keyword Strategy | Natural density (1-2%), keyword in first 100 words, semantic variations and related entities throughout | 1.5x |
| Internal Links | Sufficient internal links with descriptive (not generic) anchor text | 1x |
| Image Optimization | Alt text present and keyword-relevant, descriptive filenames, chart/infographic accessibility | 1x |
| URL Structure | Short, descriptive, contains keyword, uses hyphens | 0.5x (skip if platform-locked) |
| Readability & Scannability | Short paragraphs, subheadings every 200-300 words, bullet lists or tables for key data, varied sentence length | 1x |
Calculate the overall weighted score as X/100 with a letter grade:
- A: 90+ | B: 80-89 | C: 70-79 | D: 60-69 | F: <60
Output format:
| Factor | Score | Status | Notes |
Include a character count for the title tag and meta description. Flag any that will truncate in SERPs.
End with a 2-3 sentence summary: what the page does well, what's dragging the score down, and whether the issues are editorial (fixable) or platform-locked (not fixable).
Section 2: The "Competitive Edge" Analysis
Do not audit the page in a vacuum. Analyze it relative to what would rank for the detected keywords.
2a. Search Intent Alignment
- What type of content does Google reward for this query? (listicle, deep guide, news article, comparison, tool)
- Does this page match that format? If not, flag the mismatch.
2b. SERP Feature Wishlist Identify which rich results this page should be targeting:
| SERP Feature | Eligible? | What's Needed |
| Featured Snippet | ? | A summary paragraph or table that directly answers the query |
| Top Stories | ? | NewsArticle schema, recent publication date, news publisher signals |
| Perspectives carousel | ? | First-person expert analysis, E-E-A-T signals |
| Video carousel | ? | Embedded video with schema |
| People Also Ask | ? | H2/H3 subheadings phrased as questions that match PAA queries |
| Image Pack | ? | Original images with keyword-rich alt text |
For each eligible feature, provide the specific change needed to qualify.
2c. Competitor Gap Based on the topic and keywords, describe what top-ranking competitors likely have that this page lacks. Be specific:
- Do competitors use original data visualizations, comparison tables, or downloadable assets?
- Do competitors have better heading structure, more comprehensive coverage, or FAQ sections?
- Do competitors have stronger E-E-A-T signals (author bios, citations, methodology notes)?
Section 3: Authority Map (Strategic Internal Linking)
Go beyond generic "add more internal links" advice. Provide specific authority injection recommendations:
3a. Inbound Links (Pages That Should Link TO This Page) Identify 2-3 existing topics/pages on the same site that should link to this page to pass authority. For each:
- Which page should link here
- What anchor text to use
- Where in that page the link should be placed
3b. Outbound Links (Phrases in This Page That Should Link OUT) Identify specific phrases in the current content that should link to other high-value pages on the site. For each:
- The exact anchor text phrase from the content
- The suggested target page/topic on the same site
- Why this link strengthens topical authority
3c. External Authority Links If the content cites data or claims without linking to sources, flag these as opportunities to add outbound links to authoritative external sources (studies, official reports, .gov/.edu sites). These strengthen E-E-A-T.
Section 4: Top Priority Fixes
List the top 5 fixes sorted by impact. For each fix:
- Name the factor
- Show the current state (exact text or description)
- Show the recommended change (exact replacement text or specific action)
- Explain why this matters (what ranking signal it improves)
Fixes must be specific and actionable — never "optimize the title" without providing the exact suggested title. Never "add keywords" without naming which keywords and where.
Filter by platform: If the CMS doesn't allow a fix (e.g., URL changes on Substack), move it to a separate "Platform-Locked (Cannot Fix)" section instead of the main priority list.
Section 5: The "Ready-to-Paste" Asset
For every audit, generate ONE concrete content asset in markdown or HTML that the user can paste directly into their page to improve both scannability and SEO. Choose the most impactful option based on what the page is missing:
Option A — Key Takeaways Block (best for articles/blog posts lacking a summary):
## Key Takeaways
- [Takeaway 1 — include primary keyword naturally]
- [Takeaway 2 — include a data point or statistic]
- [Takeaway 3 — include a secondary keyword]
- [Takeaway 4 — include an actionable insight]Option B — Quick Facts Table (best for pages covering a topic with key stats):
## [Topic] Quick Facts
| Metric | Value |
|--------|-------|
| ... | ... |Option C — FAQ Schema in JSON-LD (best for pages that answer multiple questions or target PAA):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "[Question derived from content]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Concise answer from the content]"
}
}
]
}
</script>Generate the actual content for the asset based on the page being audited — do not leave placeholders. The asset should be complete and ready to use.
Section 6: Distribution Audit (Social & Open Graph)
Audit the metadata that drives clicks from social platforms (X/Twitter, LinkedIn, Threads, Facebook):
6a. Open Graph Evaluation
- Check
og:titleandog:description. If they are just duplicates of the SEO title/meta description, suggest click-worthy social alternatives that are optimized for feed browsing (more provocative, conversational, or curiosity-driven than search-optimized titles). - Check
og:image. Is it present? Is it the right dimensions (1200x630)? Does it have text overlay that communicates the topic at a glance?
6b. Social-Specific Title Suggestions Provide 2 alternative og:title options designed to maximize clicks in social feeds. Social titles can be longer, more provocative, and use different hooks than SEO titles:
| Platform | Suggested og:title | Rationale |
| X/Twitter | ... | Short, punchy, curiosity gap |
| ... | Professional framing, data-driven hook |
6c. Twitter Card Check
- Is
twitter:cardset tosummary_large_image? - Is
twitter:title/twitter:descriptionpresent or falling back to OG?
General Scoring Guidelines
- Weight editorial/content factors more heavily than technical factors — content is what ranks.
- Always note what the page does well before listing problems. Credit strong E-E-A-T signals, good internal linking, and quality writing.
- Be direct about whether the overall score reflects an editorial problem (fixable with content changes) or a structural/platform problem (requires migration or technical work).
- If the page is on a locked platform (Substack, Medium, LinkedIn), focus 80% of recommendations on editorial SEO and clearly separate the 20% that requires platform changes.
3. meta-generation — Meta Description & Title Tag Generation
Generate optimized title tags and meta descriptions for content.
Steps:
- Read the content file via
input. - Identify the primary keyword, secondary keywords, and content intent (informational, commercial, transactional, navigational).
- Generate:
- 3 title tag options: each 50-60 characters, front-loaded keyword, compelling and click-worthy. Include one with a number, one with a power word, one straightforward.
- 3 meta description options: each 150-160 characters, include primary keyword naturally, contain a call-to-action, communicate unique value.
- Open Graph title and description suitable for social sharing.
- Character counts for each option.
- For each option, explain the strategic rationale (why it should earn clicks).
4. internal-linking — Internal Linking Suggestions
Analyze content and suggest internal linking opportunities.
Steps:
- Read the content file via
input. - If additional file paths or a sitemap is provided, read those too to understand site structure.
- Analyze the content for:
- Key topics and entities mentioned that could link to other pages.
- Anchor text opportunities: natural phrases in the content that would make good anchor text.
- Link placement: where in the content links would be most valuable (early paragraphs weighted higher).
- Contextual relevance: how well each suggested link relates to the surrounding content.
- Produce a table of suggestions:
| Anchor Text | Suggested Target | Location in Content | Relevance Score | Priority |
- Also flag:
- Orphan page risks: if the content itself appears to have few inbound link opportunities.
- Over-linking warnings: if the content already has too many links.
- Anchor text diversity: recommendations for varied anchor text.
5. content-gap — Content Gap Analysis
Identify topics and keywords the user's content is missing compared to competitors or the broader topic.
Steps:
- Read the input file(s) via
input. This can be:- A CSV of competitor keywords.
- A list of the user's existing content/URLs.
- A topic brief or content plan.
- Analyze gaps:
- Missing subtopics: topics competitors cover that the user doesn't.
- Thin content areas: topics the user covers superficially vs. competitor depth.
- Keyword gaps: keywords competitors rank for that the user doesn't target.
- Content type gaps: formats competitors use (guides, tools, videos, comparisons) that the user lacks.
- Funnel gaps: missing content for specific buyer journey stages (awareness, consideration, decision).
- Output:
- Gap summary table with topic, competitor coverage, user coverage, estimated opportunity (volume), and difficulty.
- Prioritized content roadmap: recommended new content pieces sorted by estimated impact.
- Existing content improvements: pages that could be expanded to fill gaps.
- Quick win recommendations: gaps that can be filled by updating existing content.
General Guidelines
- Always use markdown tables for structured data.
- Include specific, actionable recommendations — never vague advice.
- When analyzing files, handle CSVs with various delimiters (comma, semicolon, tab).
- If the user doesn't specify a task, ask which of the five tasks they want to perform.
- If no input file is provided, ask for one or offer to work with pasted content.
- Be concise in analysis but thorough in recommendations.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

