Full Shopify SEO audit with parallel subagent delegation. Spawns 6 audit agents (technical, onpage, schema, content, speed, backlinks), aggregates results into a scored SEO-AUDIT-REPORT.md. Use when user says "seo audit", "full seo check", or "/seo audit <url>".
Full-site Shopify SEO audit orchestrator. Spawns 6 audit agents and 2 research sub-skills in parallel, aggregates scored results into a final SEO Health Score, and writes three output files.
| Command | What it does |
|---|---|
/seo audit <url> | Full Shopify SEO audit — runs all checks, produces scored report |
/seo audit | Full audit using Karved Concepts preset (karvedconcepts.com) |
This skill is invoked by the seo orchestrator or directly via /seo audit <url>.
When invoked by seo orchestrator:
When invoked directly:
~/.claude/skills/seo/profiles/karved.json and use presetExecute these steps in order:
Verify that store URL and industry type are available from the parent seo/SKILL.md context intake. If invoked directly, collect context per the Context Intake section above.
python3 ~/.claude/skills/seo/scripts/crawl_store.py <store_url>
Output: seo-audit-crawl.json saved to the current working directory.
This file contains per-page data (title, meta description, H1, canonical, alt texts, internal links, structured data) for all crawled pages. All sub-skills read this same file — do NOT re-crawl.
Launch all 6 audit agents in parallel via Task tool, passing each the store URL and the path to seo-audit-crawl.json:
| Agent | Category | Weight | Output File |
|---|---|---|---|
| audit-technical | Technical | 25% | seo-technical-findings.md |
| audit-onpage | On-Page | 25% | seo-onpage-findings.md |
| audit-content | Content | 20% | seo-content-findings.md |
| audit-schema | Schema | 15% | seo-schema-findings.md |
| audit-speed | Speed | 15% | seo-speed-findings.md |
| audit-backlinks | Backlinks | 0% (informational) | seo-backlinks-findings.md |
Additionally, spawn research companions as sub-skills (unchanged — these are NOT agents):
| Sub-Skill | Output File |
|---|---|
| seo-keywords | seo-keywords-opportunities.md |
| seo-competitor | seo-competitor-gaps.md |
Note: seo-keywords and seo-competitor produce opportunity/gap tables, NOT findings tables with PASS/WARNING/FAIL. Their output files are consumed by Step 6 for the Opportunities section only — they do not contribute to the SEO Health Score.
Each agent writes a structured findings file in this exact format:
| Check | Severity | Result | Pages Affected | Fix |
Plus a score line: **Category score: {N}/100 (Grade {X})**
(Exception: audit-backlinks uses **Backlinks assessment: {summary}** — no numeric score)
Wait for all 8 parallel tasks (6 agents + 2 sub-skills) to complete. Collect all findings files from the current working directory.
Handling missing findings files:
seo-content-findings.md or seo-schema-findings.md is absent (Phase 6 sub-skills not yet built), mark that category as "Pending" in the reportseo-keywords-opportunities.md or seo-competitor-gaps.md is absent: these are research companion outputs, not scored findings. Omit the corresponding Opportunities subsection in SEO-ACTION-PLAN.md with a note (see Step 6). Do NOT affect the weighted score calculation.Load ~/.claude/skills/seo/references/scoring-system.md and apply the weighted formula:
S_total = Sum(C_pass x W_sev x W_cat) / Sum(C_total x W_sev x W_cat) x 100
Where:
Recompute all category scores from the raw check data in the findings tables — do NOT parse the agent score lines. The agent score lines are for human readability; the orchestrator computes from scratch for accuracy.
Assign a grade using the Grading Thresholds:
Write three files to the current working directory:
1. SEO-AUDIT-REPORT.md
2. SEO-ACTION-PLAN.md
3. SEO-QUICK-WINS.md
W_sev x estimated_impact descendingOpportunities Section in SEO-ACTION-PLAN.md:
After the severity-grouped findings sections (Critical, High, Medium, Low), append an Opportunities section:
## Opportunities
> Research signals from seo-keywords and seo-competitor. Do not affect the SEO Health Score.
### Keyword Gaps (High difficulty only — see seo-keywords-opportunities.md for full list)
| Keyword | Intent | Recommended Page |
|---------|--------|-----------------|
### Competitor Gaps (High priority — see seo-competitor-gaps.md for full list)
| Topic/Term | Competitors Cover It | Recommended Action |
|------------|---------------------|-------------------|
Handling missing opportunity files:
seo-keywords-opportunities.md is absent: omit "Keyword Gaps" subsection, add note: "seo-keywords not run — keyword opportunity data not available."seo-competitor-gaps.md is absent: omit "Competitor Gaps" subsection, add note: "seo-competitor not run — competitor gap data not available."This skill inherits all quality gates from seo/SKILL.md. Do NOT redefine or soften them here. Load ~/.claude/skills/seo/SKILL.md and apply its Quality Gates section to all findings before scoring.
Key inherited gates (for reference, not redefinition):
Load these on-demand as needed — do NOT load all at startup.
Path resolution: All references are installed at ~/.claude/skills/seo/references/.
references/scoring-system.md — Weighted scoring algorithm, severity multipliers, category weights, grade thresholds, Quick Wins logicreferences/benchmarks.md — Industry benchmarks for scoring context (load when computing scores)references/shopify-seo.md — Shopify-specific SEO patterns (load when interpreting findings)