| name | seo-content-gap-analysis |
| description | Analyze a blog, keyword, draft, or route for search-intent gaps, metadata weaknesses, competitor framing, FAQ opportunities, and internal-link opportunities. Use before writing or when upgrading existing content for SEO and AI search. |
| argument-hint | <keyword, person, file path, or URL path> |
| context | fork |
| agent | general-purpose |
| path | .claude/skills/seo-content-gap-analysis/SKILL.md |
SEO Content Gap Analysis
Use this skill to decide what should be written, what should be updated, and what is missing from the current search-facing content.
If $ARGUMENTS is empty, ask for one of:
- A target keyword or topic
- A person name
- A blog file path
- A route or URL path
Examples:
/seo-content-gap-analysis enneagram and ADHD
/seo-content-gap-analysis Joe Rogan
/seo-content-gap-analysis src/blog/people/drafts/Jennifer-Lopez.md
/seo-content-gap-analysis /personality-analysis/Joe-Rogan
Read First
Load these references before analyzing:
docs/content-analysis/README.md
docs/content-analysis/seo-optimization-checklist.md
docs/content-analysis/ai-search-optimization-guide.md
docs/brand/README.md
Real Search Console data — check docs/data/gsc/latest.json (see docs/data/gsc/README.md). When present, pull the target's actual queries, impressions, CTR, and positions from the dated CSVs and rank recommendations by measured opportunity (striking-distance positions 8–20 first, then low-CTR titles at positions 1–5, then true gaps). When absent or stale (>45 days), say so and label conclusions as inference.
If the target is a recent people draft, also load:
docs/content-analysis/recent-people-drafts-seo-audit-2026-04-03.md
.claude/commands/blog_content_creator_people_v2.md
For the exact output shape, use:
Workflow
1. Resolve the target asset
- If the target is a file, read it directly.
- If it is a person name, search
src/blog/people/drafts/ and related route files.
- If it is a route, load the matching route and content source.
- If it is a topic or keyword, search the repo for nearby coverage before browsing outward.
2. Define the search job
State clearly:
- the likely primary query
- 3 to 6 secondary queries
- the reader's job to be done
- whether the query is informational, comparative, navigational, or mixed
3. Audit the current 9takes asset
Check:
- title and
meta_title
- description length and clarity
- first-100-word answer quality
- H2/H3 search phrasing
- FAQ presence
- table/list/snippet readiness
- internal links
- freshness and obvious maintenance gaps
4. Compare against external search framing
If web research is available, inspect the live search landscape:
- top ranking titles
- recurring subtopics
- repeated question patterns
- snippet formats
- where competitors are generic, shallow, or timid
Do not copy competitor structure blindly. Use it to identify:
- expected coverage
- under-served angles
- opportunities for stronger 9takes positioning
5. Find the real gaps
Separate:
must_have: search-intent basics missing from the current asset
differentiation: where 9takes can say something sharper or more evidence-based
internal_graph: crosslinks and adjacent articles that should be connected
Output Format
Use the supporting template and adapt the sections to the target.
Rules
- Start from real search intent, not what sounds literary.
- Keep the 9takes edge: pattern recognition, emotional logic, and practical payoff.
- Do not recommend generic SEO filler.
- For people drafts, preserve 1 to 2 strong signature headers if they are earning their place.
- Be explicit about whether the biggest issue is no content, weak structure, or weak positioning.
- ultrathink when the asset is strong editorially but weak for query match.
Save Behavior
Do not write a file unless the user asks or the workflow clearly calls for it.
If saving is useful, default to:
docs/content-analysis/[slug]-seo-gap-analysis.md