Run comprehensive SEO audit. Use when: checking technical health, on-page, content quality, E-E-A-T, or link profile.
npx skills add https://github.com/indranilbanerjee/digital-marketing-pro --skill seo-audit
Perform a comprehensive SEO audit that evaluates a website across all major ranking dimensions. Produces a prioritized action plan with estimated impact and effort for each recommendation.
> Time-boxed guidance — valid until ~2026-08. This block is specific to the May 2026 Core Update window. After ~August 2026 it is stale: re-check the Google Search Status Dashboard for the current/most-recent core update and its dates before applying any of the timing advice below.
Google rolled out a broad core algorithm update starting 21 May 2026 with the usual ~2-week deployment window. If the audit is being run inside that window (or in the 4 weeks after) and the brand is showing ranking volatility:
The user must provide (or will be prompted for):
~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.json. Apply brand voice, compliance rules for target markets (skills/context-engine/compliance-rules.md), and industry context. Also check for guidelines at ~/.claude-marketing/brands/{slug}/guidelines/_manifest.json — if present, load restrictions and relevant category files. Check for custom templates at ~/.claude-marketing/brands/{slug}/templates/. Check for agency SOPs at ~/.claude-marketing/sops/. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.05-link-profile.md): python "${CLAUDE_PLUGIN_ROOT}/scripts/link-profile-analyzer.py" \
--file "${CLAUDE_PLUGIN_DATA}/{brand}/seo/seo-audit/{date}/links-export.json" \
--brand-domain {brand-domain}
(--file is a JSON array of link objects [{"url","anchor_text","domain","da","follow"}], or pass --links '<json>' inline; --brand-domain excludes internal links.) For competitor link-gap prospecting, hand off to /digital-marketing-pro:backlink-gap.
A structured SEO audit report containing:
All audit outputs go to ${CLAUDE_PLUGIN_DATA}/{brand}/seo/seo-audit/{YYYY-MM-DD}/:
00-input.md target URL, audit scope, brand context, Core Update window flag
01-crawl-inventory.md discovered URLs, status codes, redirect chains
02-technical-scorecard.md Core Web Vitals, crawlability, schema validity (1-10 per dimension)
03-onpage-findings.md per-template issues with affected URL list
04-content-quality.md E-E-A-T, thin/duplicate, topical coverage
05-link-profile.md own backlink health (hand off to backlink-gap for prospect work)
06-eeat-evaluation.md author signals, expertise indicators, trust elements
07-local-seo.md only if business profile.target_markets has local intent
08-quality-scorecard.md the gates below — must pass for status: ready
09-prioritised-actions.md impact × effort matrix, top 20 actions
PLAN.md single-page deliverable
Downstream skills (seo-implement, seo-plan, content-engine) consume PLAN.md and the relevant numbered file rather than re-querying.
| Gate | What it checks |
|---|---|
| crawl_coverage | ≥ 90% of sitemap URLs successfully crawled (else input data is incomplete) |
| dimension_completeness | Scores filled for all 6 mandatory dimensions (technical, on-page, content, E-E-A-T, link, local-if-applicable) |
| finding_actionability | Every "high impact" finding has a named owner + effort estimate (else it's not actionable) |
| core_update_flag_set | If running inside a Core Update window, 00-input.md flags it AND PLAN.md carries the "wait 7-14 days before reactive changes" callout |
status: ready requires all four gates pass.
tech-seo-audit, aeo-audit outputs/digital-marketing-pro:seo-implement — applies the top-N findings to CMS / dev backlog/digital-marketing-pro:seo-plan — consumes via dispatcher pillar scoring/digital-marketing-pro:backlink-gap — for the link-prospect side that 05-link-profile.md only covers from the own-domain angle/digital-marketing-pro:seo-drift — next quarter, compare two audit snapshots00-input.md and don't recommend reactive changes. The audit findings stay valid; the timing of action does not.business_model: local or target_markets includes specific geographies with physical service. Otherwise skip./digital-marketing-pro:backlink-gap — don't try to do both in this audit.A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take indranilbanerjee/seo-audit from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.