본문으로 건너뛰기
cccskills
무료GitHub에 공개

seo-plan

Build a phased SEO roadmap for a domain — quarter-by-quarter, tied to the site's competitive position, content gaps, technical debt, and AI Search readiness. Synthesises the outputs of multiple skills (`seo-technical-audit`, `seo-content-audit`, `seo-keyword-cluster`, `seo-competitor-gap-analysis`, `seo-ai-search-share-of-voice`) into one site-level plan with sequencing, owners, and success metrics. Distinct from `seo-keyword-cluster` (keyword architecture for one topic), `seo-content-brief` (one article), and `seo-keyword-niche` (longtail content tier). Use when the user asks for an "SEO plan", "SEO strategy", "SEO roadmap", "90-day plan", "quarterly SEO plan", "site SEO strategy", or "where do we focus next".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

seranking/seo-skills스타 188(GitHub 188 + cccskills 0)
연동 도구Google Analytics

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md17.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Example output: examples/seo-plan-wix-com-20260514/PLAN.md

SEO Plan

Produce a phased SEO roadmap for a domain. Output is a single PLAN.md plus per-phase deliverable folders, each phase scoped to a quarter (or a 90-day sprint), each with explicit goals, work items, owners, and metrics. The plan is grounded in the site's actual competitive position — not a generic checklist.

This is the "what should we work on next quarter" skill. It does not replace specialist skills — it composes them, then sequences their outputs.

Prerequisites

  • SE Ranking MCP server connected.
  • seo-firecrawl available for site mapping and head metadata (optional but recommended).
  • User provides:
    • Target domain.
    • Optionally: target country (default us), business type (saas / ecommerce / local / publisher / agency / b2b — auto-detected from the domain if not supplied), planning horizon (default 90 days, options: 30 / 90 / 180 / 365).
    • Optionally: known constraints (engineering capacity, content budget, no JS-render changes allowed, etc.).

Process

  1. Google data availability check (advisory, not blocking)

    • Run python3 scripts/google_auth.py --check --json. If tier >= 0, the downstream specialist skills (technical-audit, page, content-audit, drift) will enrich their outputs with real Google field data — and seo-plan ingests those richer outputs in step 4. The plan itself doesn't dispatch seo-google directly; it prints a one-line notice so the user knows the option is on the table:
    > Google APIs detected (tier {n}, available: {comma-list}). Downstream specialist
    > skills (seo-technical-audit, seo-page, seo-content-audit, seo-drift) will enrich
    > their outputs with real CrUX / GSC / GA4 / URL Inspection data automatically.
    
    • If creds are missing, the plan continues with SE Ranking-only data and prints:
    > Google APIs not configured. To enrich downstream phases with real CWV / GSC /
    > GA4 / indexation data, run `bash extensions/google/install.sh`. Plan continues
    > with SE Ranking data only.
    
    • This is the lightest possible auto-spawn — seo-plan doesn't run seo-google itself (transferring friction to a single command is theirs' anti-pattern we critiqued in EVAL_RESULT_v2.md); it surfaces the option so the user can opt in or out before specialist skills run. See skills/seo-google/references/cross-skill-integration.md § "seo-plan" for the full rationale.
  2. Detect business type DATA_getDomainOverviewWorldwide, plus a Firecrawl scrape of the homepage if available

    • Inspect title, H1, JSON-LD types, primary nav patterns.
    • Classify as one of: saas, ecommerce, local, publisher, agency, b2b-services, marketplace. If ambiguous, ask the user once.
    • Business type drives template selection (see step 6).
  3. Domain baseline DATA_getDomainOverviewWorldwide, DATA_getDomainOverviewHistory, DATA_getDomainAuthority, DATA_getBacklinksSummary

    • Capture: organic keywords, organic traffic estimate, DA, backlink profile health, top countries, traffic trend over the last 12 months.
    • This sets the "where you are now" anchor.
  4. Competitive frame DATA_getDomainCompetitors

    • Pull top 5–10 organic competitors.
    • For each: organic keywords, traffic share, DA, top topical clusters they own.
    • Identifies who the user is actually competing with on the SERP (often different from who they think).
  5. Pull specialist inputs — confirm-then-dispatch pattern

    • 4a. Detect existing outputs. In the current working directory, look for any folder matching the patterns below dated within the last 30 days (treat folders older than 30 days as stale and re-list them as missing):
      • seo-technical-audit-*
      • seo-content-audit-*
      • seo-competitor-gap-analysis-*
      • seo-ai-search-share-of-voice-*
      • seo-backlinks-profile-*
    • For each present folder, ingest its primary deliverable (TECH-AUDIT.md, VERDICT.md rollup, GAPS.md, REPORT.md, PROFILE.md respectively).
    • 4b. Build the missing list. For each prerequisite that did not have a fresh output, look up its credit-cost figure from the specialist's own SKILL.md (read those when forming the prompt — figures may drift):
      • seo-technical-audit → varies by page count for a fresh audit; ~6 Firecrawl credits for the modern-signals step. Cite "varies; check page count" if no recent audit cached.
      • seo-content-audit → ~10–15 SE Ranking credits + 1 Firecrawl credit per audited URL (default cap 50; for the seo-plan top-10-pages scope, expect ~10–15 SE Ranking + ~10 Firecrawl).
      • seo-competitor-gap-analysis → ~30–80 credits for 10 seeds.
      • seo-ai-search-share-of-voice → ~10–20 credits (leaderboard + ~20 prompts × N domains).
      • seo-backlinks-profile → ~25–40 SE Ranking credits.
    • 4c. Print the confirmation prompt (single block, exactly this shape, with the missing-list filtered to only what is actually missing):
    To produce a defensible plan, seo-plan needs outputs from N specialists not yet
    run for {domain}:
    - seo-technical-audit (~{N} credits)
    - seo-content-audit (~{N} credits)
    - seo-competitor-gap-analysis (~{N} credits)
    - seo-ai-search-share-of-voice (~{N} credits)
    - seo-backlinks-profile (~{N} credits)
    Total estimated cost: ~{N} credits.
    Run them now in this session? (y/N — default N preserves the existing v2.6 behavior of asking the user to run them manually first)
    
    • 4d. If user answers y: dispatch each missing specialist in this order, ingesting each primary deliverable as it completes:
      • Parallel batch (independent): seo-technical-audit, seo-competitor-gap-analysis, seo-ai-search-share-of-voice, seo-backlinks-profile.
      • Sequential after the batch: seo-content-audit — its top-10-pages scope depends on knowing the top traffic pages from seo-competitor-gap-analysis / DATA_getDomainKeywords, so it must run after the gap-analysis batch completes.
      • Each specialist runs its own DATA_getCreditBalance preflight and surfaces cost before proceeding (their existing behaviour — seo-plan does not bypass it). If any specialist aborts on a credit-balance check, surface that abort to the user and let them decide whether to top up or skip.
      • After every dispatch, ingest the new folder the same way step 4a does.
    • 4e. If user answers N (or anything else — default N): fall through to the existing v2.6 behaviour — the plan opens with Phase 0: Discovery, and running each missing specialist becomes the first sprint's work. This preserves the user's control over credit spend in environments where the specialists should be scheduled or batched separately.
  6. Score the four pillars

    • Technical health (0–100): from seo-technical-audit severity-weighted issue count.
    • Content quality (0–100): average E-E-A-T+CITE score across audited pages.
    • Topical authority (0–100): cluster coverage relative to top 3 competitors.
    • AI Search readiness (0–100): citation share vs SoV competitors.
    • The lowest pillar becomes the lead theme for the first phase.
  7. Apply business-type template (templates differ — pick one and parameterise)

    • saas → product-led pillars + integration pages + comparison/alternatives + JTBD content.
    • ecommerce → category page hygiene + product schema + faceted-nav indexation rules + review aggregation.
    • local → GBP optimisation + location pages + citation cleanup (note: we don't have a seo-local skill yet — flag this as a manual sub-step or external).
    • publisher → topical clusters + author E-E-A-T + freshness cadence + AI-Search citations.
    • agency → service pages + case studies + comparison content + lead-gen LP (use seo-agency-landing-page).
    • b2b-services → industry-specific landing pages + thought-leadership clusters + decision-stage content.
    • Template provides default work-item categories; the lowest-pillar score from step 5 weights them.
  8. Phase the plan — three phases over the planning horizon, each with goals, work items, owners, metrics

    • Phase 1 (weeks 1–4 of horizon): Foundations. Technical fixes that unblock everything else, baseline drift snapshot, 1–2 quick-win content refreshes from seo-page verdicts.
    • Phase 2 (weeks 5–8): Build. Content tier from seo-keyword-cluster (1 pillar + 3–7 spokes), schema fixes from seo-schema, comparison page from seo-competitor-pages if competitive frame supports it.
    • Phase 3 (weeks 9–12): Compound + measure. AI Search readiness pass via seo-geo on top pages, backlink-gap outreach starter from seo-backlink-gap, second drift comparison via seo-drift compare, retro + adjust.
    • For longer horizons (180/365 days), repeat phases 2+3 with refreshed inputs and a quarterly retro.
    • Each work item is tagged with the skill that produces it: seo-content-brief, seo-schema, seo-page, etc.
  9. Pick metrics

    • Lagging (quarterly): organic traffic, organic keywords ranking top-10, organic conversions.
    • Leading (weekly/monthly): technical-issue count, pages with E-E-A-T verdict ≥ 70, AI Search citation count, referring-domain count.
    • One leading + one lagging per phase. Tie each metric to a current value (from step 2) and a phase-end target. Targets must be defensible — call out base rates.
  10. Sequencing + dependencies

    • Build a dependency map: e.g., "rewrite cluster A pillar" depends on "fix noindex on /blog templates" depends on "run seo-technical-audit."
    • Surface the critical path. Anything off the critical path is moveable; anything on it blocks the phase.
  11. Synthesise PLAN.md

Output format

Folder seo-plan-{domain-slug}-{YYYYMMDD}/:

seo-plan-{domain-slug}-{YYYYMMDD}/
├── PLAN.md                              (synthesis — primary deliverable; inlines 01-baseline, 02-competitive-frame, 07-dependencies, 08-metrics as sections)
├── 04-phase-1-foundations.md            (load-bearing — owners share single phase files in standups)
├── 05-phase-2-build.md                  (load-bearing — owners share single phase files)
├── 06-phase-3-compound.md               (load-bearing — owners share single phase files)
└── evidence/
    ├── 01-baseline.md                   (where you are now — raw data inlined into PLAN.md)
    ├── 02-competitive-frame.md          (who you're actually competing with — raw data inlined into PLAN.md)
    ├── 03-pillar-scores.md              (technical / content / topical / AI Search — scoring math)
    ├── 07-dependencies-and-critical-path.md  (dependency map — inlined as PLAN.md section)
    └── 08-metrics.md                    (metric tables — inlined as PLAN.md section)

Top-level: PLAN.md + the three phase files (04/05/06). Owners share single phase files in standups, so phase files stay top-level rather than collapsing into PLAN.md. The verbatim-duplicate sections (baseline, competitive frame, dependencies, metrics) are inlined into PLAN.md but the raw step files are preserved in evidence/ along with the pillar-scoring math.

PLAN.md follows this shape:

# SEO Plan: {domain}

> Plan dated {YYYY-MM-DD} · Horizon: {n} days · Business type: {type} · Country: {country}

## Where you are
- Organic keywords: {n} (trend: {↑↓→ over 12mo})
- Organic traffic estimate: {n}/mo
- Domain authority: {n}
- Referring domains: {n}
- Pillar scores: Technical {n}/100 · Content {n}/100 · Topical {n}/100 · AI Search {n}/100

## Lead theme
{The lowest pillar from step 5, plus a one-line "why this is the constraint."}

## Top 5 competitors
| Domain | DA | Organic kw | Top cluster they own |
|---|---|---|---|
| {comp} | {n} | {n} | {cluster} |

## Phase 1 — Foundations (weeks 1–4)

**Goal:** {1-line outcome, e.g. "remove technical debt blocking content investment"}

| # | Work item | Skill / source | Owner | Effort | Phase-end metric |
|---|---|---|---|---|---|
| 1.1 | {item} | `seo-technical-audit` follow-up | {role} | {S/M/L} | {metric} |
| 1.2 | ... | | | | |

**Phase exit criteria:** {what must be true to declare Phase 1 done}

## Phase 2 — Build (weeks 5–8)
{same shape}

## Phase 3 — Compound + measure (weeks 9–12)
{same shape}

## Critical path
{Ordered list of work items that block subsequent phases. Anything not on this list is moveable.}

## Metrics

| Metric | Type | Current | Phase 1 target | Phase 2 target | Phase 3 target |
|---|---|---|---|---|---|
| Organic traffic | Lagging | {n} | {n} | {n} | {n} |
| Pages with E-E-A-T ≥ 70 | Leading | {n} | {n} | {n} | {n} |
| Technical issue count | Leading | {n} | {n} | {n} | {n} |
| AI Search citation count | Leading | {n} | {n} | {n} | {n} |
| Referring domains | Leading | {n} | {n} | {n} | {n} |

## Constraints / caveats
{User-supplied constraints, plus anything the data flags — e.g., "DA gap to top competitor is 25 points; expect 6+ months for keyword parity."}

## Recommended next step
Run Phase 1 work items. After week 4, run `seo-drift compare` against the baseline captured today, then adjust Phase 2 scope.

Tips

  • Default is "no auto-dispatch." The confirm prompt in step 4c defaults to N. If the user just hits Enter (or answers anything other than an explicit y), seo-plan falls through to the v2.6 Phase-0 behaviour and lists the missing specialists as the first sprint's work. This preserves user control over credit spend — important when the user is on a tight SE Ranking budget or wants to schedule specialists separately.
  • Auto-dispatch (the y path) is the convenience option. When the user wants a finished plan in one session and is comfortable with the displayed credit estimate, the y path runs the missing specialists in the optimal parallel-then-sequential order described in step 4d, ingests their outputs, and proceeds straight into pillar scoring (step 5). No silent re-execution: every dispatch is gated by the single confirmation in step 4c.
  • Auto-dispatch respects each specialist's own credit-balance preflight. Each specialist already calls DATA_getCreditBalance at its first step and surfaces cost before consuming credits — seo-plan does not bypass that gate. If a specialist aborts on its preflight (insufficient credits, user declines its inner cost prompt), seo-plan surfaces the abort and lets the user choose to top up, skip that specialist (and let it remain a Phase-0 work item), or cancel the rest of the dispatch.
  • Auto-detect business type cheaply. Homepage <title>, schema @type, and top-nav anchors are usually enough. Ask the user only when truly ambiguous.
  • The lead theme is the lowest pillar score. Don't pick the pillar the user is most excited about — pick the one the data says is the constraint. Surface this gap explicitly if they conflict.
  • Three phases, even for 30-day horizons. Compress, don't drop. A 30-day plan is foundations (weeks 1–2), build (weeks 2–3), measure (week 4). The structure forces sequencing discipline.
  • Targets must be defensible. Don't write "double organic traffic in Q1." Tie each target to a base rate from competitor data or category benchmarks. If the math doesn't support a target, say so and lower it.
  • Critical path is the deliverable. Most teams can do something; few know what's blocking what. Surface the dependency chain — that's where this skill earns its keep.
  • Local SEO is a known gap. If business type is local, flag that we don't have a seo-local skill yet and recommend manual GBP audit as a Phase 0 item. Don't pretend coverage we don't have.
  • Don't generate work items the team can't execute. If the user said "no JS-render changes allowed," drop those items even if they're high-leverage. A plan that won't ship is worse than a smaller plan that does.
  • Update cadence. A 90-day plan should be re-run at the 90-day mark with seo-drift compare against the original baseline as input. Drift output rewrites the "Where you are" section; everything downstream updates from there.

Works well with

  • Predecessors:
    • seo-technical-audit, seo-content-audit, seo-competitor-gap-analysis, seo-ai-search-share-of-voice, seo-backlinks-profile — produce inputs.
    • seo-drift baseline — captures the snapshot the plan measures progress against.
  • Successors:
    • seo-keyword-cluster — when Phase 2 calls for a content tier.
    • seo-content-brief — for each spoke article in Phase 2.
    • seo-schema — for structured-data work items.
    • seo-competitor-pages — when comparison content is on the plan.
    • seo-drift compare — at end of phase to measure progress.
    • seo-page — for individual URL keep/refresh/consolidate/kill calls in Phase 1.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Find the AI-search prompts and topics where a brand is invisible (or losing to competitors) in SE Ranking, then turn those gaps into a social campaign in Planable and set up before/after tracking. Use this skill whenever the user wants to improve how their brand shows up in AI answers (ChatGPT, Perplexity, Gemini, Google AI Overview, AI Mode) through content, or says things like "what should we post to get cited by AI", "where are competitors winning in AI answers and we're not", "create content for the prompts we're missing", "improve our AI visibility with social", "AEO/GEO content plan", or "turn our AI search gaps into posts". Always activate when AI-search visibility is the goal and Planable is where the content will be made.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

seranking/seo-skills1882026년 6월 25일 업데이트

Build a data-backed client onboarding proposal for an agency starting a new engagement, combining an SE Ranking SEO + AI-search audit with a Planable analysis of the client's current social performance. Use this skill whenever an agency wants to show a new (or about-to-sign) client where they stand and what the plan is, or says things like "build an onboarding proposal for [client]", "we're starting with [client], put together the SEO + social analysis", "create a client proposal with audit and social baseline", "scope a SEO + AI + social engagement", or "show the client their opportunities and our plan". Assumes the client's social accounts are already connected in Planable. Always activate for new-engagement proposals that pair SE Ranking analysis with Planable social data.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

seranking/seo-skills1882026년 6월 25일 업데이트

Build and track local search visibility with SE Ranking city-level rank tracking and turn it into local social content in Planable, including Google Business Profile posts. Use this skill whenever the user wants to grow a business's presence in a specific city or cities and pair it with local social, or says things like "track our rankings in [city]", "set up local rank tracking", "we want to show up in local search", "create Google Business Profile posts", "local SEO plus social for our locations", or "how are we ranking city by city and what should we post locally". Always activate for local/multi-location visibility work that combines SE Ranking rankings with Planable local/GMB content.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

seranking/seo-skills1882026년 6월 25일 업데이트

seo-ads

무료

Paid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain ad keyword footprint, ad copy patterns, who else bids on the same keywords, SERP shopping/ad-pack visibility — and produces a competitive ads brief plus a recommended bid-keyword shortlist. Use when the user asks "paid search analysis", "competitor ads", "PPC competitive", "ad copy intelligence", "shopping pack", "who bids on this keyword", or "paid keyword footprint".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

seranking/seo-skills1882026년 6월 25일 업데이트

Generate a demand-gen landing page for an SEO agency, complete with pain-point hook, proof, a free-audit lead magnet flow, and CTAs tuned for cold traffic. Pulls real competitive and AI-search data for the agency's target niche to make the copy specific and credible. Use when the user asks for an SEO agency landing page, lead-gen page for an SEO agency, demand-gen page, free-audit landing page, or wants to convert cold traffic into discovery calls.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

seranking/seo-skills1882026년 6월 25일 업데이트

Measure AI Search share of voice for a target domain versus competitors across ChatGPT, Perplexity, Gemini, Google AI Overview, and AI Mode. Pulls the AIO leaderboard, then samples prompts where each domain appears as a source or brand mention, and analyses topic clusters each brand owns. Use when the user asks for AI Search share of voice, LLM visibility tracking, AEO/GEO analysis, AI Overview competitive analysis, or wants to know which brands LLMs cite in their category.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

seranking/seo-skills1882026년 6월 25일 업데이트

seranking의 스킬 모두 보기

이 스킬의 문제 신고