seo-plan
Build a 12-month SEO plan that scores four pillars and phases the roadmap.
Skill by indranilbanerjee
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/indranilbanerjee-seo-plan
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/seo-plan
What's inside
- Skill name
seo-plan- Description
- Build a 12-month SEO plan that scores four pillars and phases the roadmap. "build an SEO strategy"
- License
- MIT
- Instructions
- 280 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# /digital-marketing-pro:seo-plan
## Purpose
Generate a comprehensive SEO strategy with industry-specific templates, competitive analysis, content roadmap, and phased implementation plan. Covers both traditional SEO and AI search readiness.
## Dispatcher mode (Confirm-Then-Dispatch)
When invoked on a brand that already has recent specialist outputs in `${CLAUDE_PLUGIN_DATA}/{brand}/seo/`, this skill operates as an **orchestrator** — it reads those outputs as inputs, scores the brand across four pillars, and uses the **weakest pillar to drive the lead theme** of the plan.
### Step D0 — detect fresh outputs (≤ 30 days)
Look under `${CLAUDE_PLUGIN_DATA}/{brand}/seo/` for the latest dated subfolder of each:
| Specialist skill | Output folder |
|---|---|
| `/digital-marketing-pro:tech-seo-audit` | `seo/tech-seo-audit/{YYYY-MM-DD}/PLAN.md` |
| `/digital-marketing-pro:content-decay-scan` | `seo/content-decay-scan/{YYYY-MM-DD}/PLAN.md` |
| `/digital-marketing-pro:aeo-audit` | `seo/aeo-audit/{YYYY-MM-DD}/PLAN.md` |
| `/digital-marketing-pro:backlink-gap` | `seo/backlink-gap/{YYYY-MM-DD}/PLAN.md` |
| `/digital-marketing-pro:gsc-ai-performance` | `seo/gsc-ai-performance/{YYYY-MM-DD}/PLAN.md` |
| `/digital-marketing-pro:keyword-cluster` | `seo/keyword-cluster/{YYYY-MM-DD}/PLAN.md` |
| `/digital-marketing-pro:seo-drift` | `seo/seo-drift/{YYYY-MM-DD}/PLAN.md` |
Any folder dated within the last **30 days** counts as fresh — its `PLAN.md` becomes a primary input.
### Step D1 — confirm before dispatching missing specialists
If some specialists have no fresh output, **do not silently re-run them.** Print exactly:
```
The following specialist outputs are missing or stale (>30 days old):
- tech-seo-audit (last: 2026-05-12 — 23 days old)
- backlink-gap (no run found)
- gsc-ai-performance (no run found)
Running these now will use approximately N MCP credits / API calls.
Run them now in this session? (y / N — default N)
```
- **If `y`** — dispatch in this order:
- **Parallel batch 1**: `tech-seo-audit`, `backlink-gap`, `aeo-audit`, `gsc-ai-performance` (independent)
- **Sequential after**: `content-decay-scan` (depends on `tech-seo-audit`'s URL inventory), `keyword-cluster` (depends on `aeo-audit` query set)
- Each specialist runs its own budget guard; surface aborts back to the user
- **If `N` or default** — fall through; treat missing pieces as Phase 0 ("Discovery") work in the final plan
### Step D2 — pillar scoring (the heart of the dispatcher)
Score each of four pillars 1–10 based on the available specialist outputs:
| Pillar | Sources | What 10 looks like |
|---|---|---|
| **Technical** | tech-seo-audit / gsc-ai-performance / Core Web Vitals data | Clean crawlability, all CWV pass, schema validates, sitemap accurate |
| **Content** | content-decay-scan / seo-audit / content-engine outputs | Topic coverage matches search demand, no cannibalisation, freshness ≥ 80% |
| **Topical** | keyword-cluster / aeo-geo / entity-audit | Clear pillar+spokes structure, entity consistency across Knowledge Graph |
| **AI Search** | aeo-audit / gsc-ai-performance / aeo-geo | Cited in AI Mode + AI Overviews + ChatGPT + Perplexity for target queries |
**The lowest-scoring pillar becomes the LEAD THEME** of the next quarter's plan. Everything else is supporting work. This forces focus.
### Step D3 — dispatcher output
Produce `${CLAUDE_PLUGIN_DATA}/{brand}/seo/seo-plan/{YYYY-MM-DD}/00-pillar-scorecard.md`:
```
Pillar scorecard for {brand} ({date})
=====================================
Technical : 8 / 10 ✓ healthy
Content : 6 / 10 ⚠ moderate gaps
Topical : 4 / 10 ⚠ LEAD THEME — weakest pillar
AI Search : 7 / 10 ✓ trending up
Lead theme this quarter: Topical authority build-out
(keyword cluster expansion + entity consistency + Knowledge Graph optimisation)
```
The rest of the plan (sections 1-6 below) is then **framed around the lead theme** — supporting work for the other 3 pillars stays in the plan but doesn't drive timeline / budget.
## Numbered output convention
The full dispatcher run produces, under `${CLAUDE_PLUGIN_DATA}/{brand}/seo/seo-plan/{YYYY-MM-DD}/`:
```
00-pillar-scorecard.md (from Step D2)
01-discovery.md (business type, audience, competitors — from §1 below)
02-competitive-analysis.md (competitors + gap synthesis — from §2 + backlink-gap if fresh)
03-architecture.md (URL hierarchy, internal-link strategy — from §3 + keyword-cluster if fresh)
04-content-strategy.md (content gaps, calendar, E-E-A-T — from §4 + content-decay-scan if fresh)
05-technical-foundation.md (hosting, schema, CWV — from §5 + tech-seo-audit if fresh)
06-roadmap.md (phased 12-month — from §6, framed around lead theme)
07-industry-template.md (which template applied — from §Industry Templates)
08-kpi-dashboard.md (metrics + cadence — what gets re-measured next drift)
PLAN.md (the deliverable)
```
## Input Required
- **Business type**: SaaS, ecommerce, local service, publisher/media, agency, or general
- **Website URL**: Existing site (if any) to assess
- **Target audience and markets**: Geographic, demographic, and intent profiles
- **Competitors**: 3-5 competitor URLs for gap analysis
- **Budget and timeline**: Resource constraints
- **KPIs**: What success looks like (traffic, rankings, conversions, AI visibility)
## Process
### 1. Discovery
- Business type, target audience, competitors, goals
- Current site assessment (if exists) — crawl health, content inventory, authority signals
- Budget and timeline constraints
- Key performance indicators (KPIs) aligned to business objectives
### 2. Competitive Analysis
- Identify top 5 competitors
- Analyze their content strategy, schema usage, technical setup
- Identify keyword gaps and content opportunities
- Assess their E-E-A-T signals
- Estimate domain authority and link profiles
- AI visibility comparison — which competitors appear in AI overviewsFrom indranilbanerjee/digital-marketing-pro, MIT.
More from indranilbanerjee/digital-marketing-pro
- 0.674score
competitor-monitor
indranilbanerjee
Monitor competitors over time: baseline sites, pricing and ads by script, flag changes.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
credential-switch
indranilbanerjee
Switch the active credential profile to another client, validating keys first, approval-gated.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
campaign-status
indranilbanerjee
Show status of every tracked campaign: health, spend, executions, pending approvals.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
competitor-analysis
indranilbanerjee
Analyze 2-5 competitors once: positioning, content, SEO, ads, pricing.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
continuous-improvement-loop
indranilbanerjee
Run the Part 12 continuous improvement loop into a quarterly brief for leadership.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
counter-narrative
indranilbanerjee
Build a counter-narrative playbook for a competitor's rebrand, category claim or attack.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
analytics-insights
indranilbanerjee
Design the analytics layer with script-backed benchmarks: KPI trees, report templates, MMM, cookieless.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
budget-tracker
indranilbanerjee
Project ad budget pacing by script from live accounts or given numbers: month-end overspend.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
client-report
indranilbanerjee
Write a white-labeled report for one client from tracked data.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
client-validation-document
indranilbanerjee
Produce the Part 5 client validation document: evidence-cited findings for client decisions.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
creative-testing-framework
indranilbanerjee
Plan a creative testing roadmap with script-computed sample sizes.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
crisis-response
indranilbanerjee
Respond to a breaking PR crisis: severity, holding statement, stakeholder messages, timeline.
SkillAFreshness: A★ 909Claude Code +9
Signals
- Stars
- 909
- Forks
- 146
- Open issues
- 0
- Last commit (this folder)
- Oct 9, 2026 (19 days ago)
- Last release
- Jul 29, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- indranil.in
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from indranilbanerjee
- 0.674score
campaign-status
indranilbanerjee
Show status of every tracked campaign: health, spend, executions, pending approvals.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
client-report
indranilbanerjee
Write a white-labeled report for one client from tracked data.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
analytics-insights
indranilbanerjee
Design the analytics layer with script-backed benchmarks: KPI trees, report templates, MMM, cookieless.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
budget-tracker
indranilbanerjee
Project ad budget pacing by script from live accounts or given numbers: month-end overspend.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
creative-testing-framework
indranilbanerjee
Plan a creative testing roadmap with script-computed sample sizes.
SkillAFreshness: A★ 909Claude Code +9 - 0.674score
client-validation-document
indranilbanerjee
Produce the Part 5 client validation document: evidence-cited findings for client decisions.
SkillAFreshness: A★ 909Claude Code +9
Cite this page
seo-plan skill. Agent Mart. https://agentmart.dev/skills/indranilbanerjee-seo-plan (last updated 2026-10-24)