seo · affaan-m — Claude skill: SEO audit and fixes
A skill that walks your coding agent through technical SEO, on-page fixes, structured data and Core Web Vitals, with page-level recommendations.
npx skills add affaan-m/ECC --skill seo -a claude-codeWhat seo does
The seo skill gives the agent a working order: fix technical blockers first, then touch content. It checks robots.txt, accidental noindex, redirect chains longer than two hops and self-consistent canonicals. After that come title tags, meta descriptions and H1–H3 structure.
Performance targets are spelled out: LCP < 2.5s, INP < 200ms, CLS < 0.1, plus the usual fixes like preloading hero assets and reserving layout space. Structured data is covered per page type — Organization on the homepage, Article and BlogPosting for editorial, Product and Offer for commerce, BreadcrumbList for interior pages. There are title and meta description formulas and a JSON-LD example.
Audit output follows a fixed shape: severity, file path, the issue, the fix. That is the useful part. Every recommendation has to point at a page or an asset, so you get something you can act on instead of a generic checklist. Worth installing if you ship a site with public pages. On a private API repo it will have little to chew on.
What it helps with
- catch pages hit by accidental
noindexor looping canonicals - untangle redirect chains longer than two hops
- write JSON-LD for products, articles and breadcrumbs
- map keywords to URLs and spot cannibalization
- trim title tags and meta descriptions to a sane length
Example prompts for the agent
- audit this project for SEO issues and list them by file
- add `Product` and `Offer` schema to the product pages
- build a keyword map and assign one primary term per URL
How to install seo
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill seo -a claude-code2Manually: put the files in place
~/.claude/skills/seo/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/seo/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill seo -a codex2Manually: put the files in place
.agents/skills/seo/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill seo -a cursor2Manually: put the files in place
.cursor/skills/seo/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install affaan-m/ECC seo2Manually: put the files in place
.github/skills/seo/SKILL.md1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill seo -a gemini-cli2Platform CLI
gemini skills install https://github.com/affaan-m/ECC --path skills/seoManually: put the files in place
.devin/skills/seo/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill seo -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set146
The whole set →Other versions of seo
Similar
Questions about seo
How do I install seo in Claude?
Run npx skills add affaan-m/ECC --skill seo -a claude-code. The skill lands at ~/.claude/skills/seo/SKILL.md.
What does the seo skill do?
It audits technical SEO, improves on-page elements, adds structured data and maps keywords to URLs. Each recommendation ties back to a specific page or file.
Which platforms support the seo skill?
Claude, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode. On Copilot the install goes through gh skill install affaan-m/ECC seo.
Source text
SKILL.md · MIT
---
name: seo
description: Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.
metadata:
origin: ECC
---
# SEO
Improve search visibility through technical correctness, performance, and content relevance, not gimmicks.
## When to Use
Use this skill when:
- auditing crawlability, indexability, canonicals, or redirects
- improving title tags, meta descriptions, and heading structure
- adding or validating structured data
- improving Core Web Vitals
- doing keyword research and mapping keywords to URLs
- planning internal linking or sitemap / robots changes
## How It Works
### Principles
1. Fix technical blockers before content optimization.
2. One page should have one clear primary search intent.
3. Prefer long-term quality signals over manipulative patterns.
4. Mobile-first assumptions matter because indexing is mobile-first.
5. Recommendations should be page-specific and implementable.
### Technical SEO checklist
#### Crawlability
- `robots.txt` should allow important pages and block low-value surfaces
- no important page should be unintentionally `noindex`
- important pages should be reachable within a shallow click depth
- avoid redirect chains longer than two hops
- canonical tags should be self-consistent and non-looping
#### Indexability
- preferred URL format should be consistent
- multilingual pages need correct hreflang if used
- sitemaps should reflect the intended public surface
- no duplicate URLs should compete without canonical control
#### Performance
- LCP < 2.5s
- INP < 200ms
- CLS < 0.1
- common fixes: preload hero assets, reduce render-blocking work, reserve layout space, trim heavy JS
#### Structured data
- homepage: organization or business schema where appropriate
- editorial pages: `Article` / `BlogPosting`
- product pages: `Product` and `Offer`
- interior pages: `BreadcrumbList`
- Q&A sections: `FAQPage` only when the content truly matches
### On-page rules
#### Title tags
- aim for roughly 50-60 characters
- put the primary keyword or concept near the front
- make the title legible to humans, not stuffed for bots
#### Meta descriptions
- aim for roughly 120-160 characters
- describe the page honestly
- include the main topic naturally
#### Heading structure
- one clear `H1`
- `H2` and `H3` should reflect actual content hierarchy
- do not skip structure just for visual styling
### Keyword mapping
1. define the search intent
2. gather realistic keyword variants
3. prioritize by intent match, likely value, and competition
4. map one primary keyword/theme to one URL
5. detect and avoid cannibalization
### Internal linking
- link from strong pages to pages you want to rank
- use descriptive anchor text
- avoid generic anchors when a more specific one is possible
- backfill links from new pages to relevant existing ones
## Examples
### Title formula
```text
Primary Topic - Specific Modifier | Brand
```
### Meta description formula
```text
Action + topic + value proposition + one supporting detail
```
### JSON-LD example
```json
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Page Title Here",
"author": {
"@type": "Person",
"name": "Author Name"
},
"publisher": {
"@type": "Organization",
"name": "Brand Name"
}
}
```
### Audit output shape
```text
[HIGH] Duplicate title tags on product pages
Location: src/routes/products/[slug].tsx
Issue: Dynamic titles collapse to the same default string, which weakens relevance and creates duplicate signals.
Fix: Generate a unique title per product using the product name and primary category.
```
## Anti-Patterns
| Anti-pattern | Fix |
| --- | --- |
| keyword stuffing | write for users first |
| thin near-duplicate pages | consolidate or differentiate them |
| schema for content that is not actually present | match schema to reality |
| content advice without checking the actual page | read the real page first |
| generic “improve SEO” outputs | tie every recommendation to a page or asset |
## Related Skills
- `seo-specialist`
- `frontend-patterns`
- `brand-voice`
- `market-research`
© affaan-m · MIT · affaan-m/ECC