$npx -y skills add JeffLi1993/seo-audit-skill --skill seo-audit-fullAdvanced full SEO audit skill. Runs its own full workflow from local scripts, including the basic SEO checks plus PageSpeed, social metadata, and advanced review modules when available.
| 1 | # seo-audit-full — Advanced Full SEO Audit |
| 2 | |
| 3 | This skill runs a full single-page SEO audit from the `seo-audit-full` directory. |
| 4 | It does not route to `seo-audit` when only a URL is provided. |
| 5 | |
| 6 | --- |
| 7 | |
| 8 | ## When to Use This Skill |
| 9 | |
| 10 | Use `seo-audit-full` when the user asks for: |
| 11 | |
| 12 | - "seo-audit-full" |
| 13 | - "full SEO audit" |
| 14 | - "advanced SEO audit" |
| 15 | - "technical SEO audit" |
| 16 | - "deep audit" |
| 17 | - "comprehensive SEO review" |
| 18 | - "audit everything" |
| 19 | |
| 20 | URL-only requests are valid. When external datasets are not supplied, run the |
| 21 | full public-signal workflow and clearly note missing data sources in the report. |
| 22 | |
| 23 | --- |
| 24 | |
| 25 | ## Input Expected |
| 26 | |
| 27 | | Input | Required | Notes | |
| 28 | |-------|----------|-------| |
| 29 | | Page URL | Yes | The primary page to audit | |
| 30 | | Primary keyword | Recommended | Improves content relevance scoring | |
| 31 | | PageSpeed API key | Yes | Required for full audit PageSpeed checks. Ask at the start and do not run PageSpeed without it. | |
| 32 | | Raw HTML or page content | Optional | Enables more accurate content checks when supplied | |
| 33 | | GSC / crawl / analytics data | Optional | Include when supplied, otherwise mark unavailable | |
| 34 | | Competitor benchmark data | Optional | Include when supplied | |
| 35 | |
| 36 | At the start of a full audit, ask the user for a PageSpeed Insights API key: |
| 37 | |
| 38 | ``` |
| 39 | For PageSpeed checks, please provide a Google PageSpeed Insights API key. |
| 40 | Get one here: https://developers.google.com/speed/docs/insights/v5/get-started |
| 41 | Open "Acquiring and using an API key" → "Get a Key". |
| 42 | If you do not provide one, I will stop before running the full audit because |
| 43 | PageSpeed is a required full-audit module. |
| 44 | ``` |
| 45 | |
| 46 | Do not run `seo-audit-full` PageSpeed checks without a PageSpeed API key supplied |
| 47 | by `--api-key`, `PAGESPEED_API_KEY`, or `GOOGLE_PAGESPEED_API_KEY`. If the key is |
| 48 | missing, stop and ask the user to configure it instead of rendering a full report |
| 49 | with missing PageSpeed data. |
| 50 | |
| 51 | --- |
| 52 | |
| 53 | ## Architecture: Full = Core + Performance + Advanced |
| 54 | |
| 55 | ``` |
| 56 | ┌─────────────────────────────────────────────────────────────┐ |
| 57 | │ seo-audit-full Workflow │ |
| 58 | │ │ |
| 59 | │ Phase 1: Run core scripts (./scripts/) │ |
| 60 | │ ┌──────────────────────────────────────────────────────┐ │ |
| 61 | │ │ check-site.py → robots.txt, sitemap, 404, URL │ │ |
| 62 | │ │ check-page.py → title, H1, meta desc, slug │ │ |
| 63 | │ │ check-schema.py → JSON-LD validation │ │ |
| 64 | │ │ fetch-page.py → raw HTML for analysis │ │ |
| 65 | │ └──────────────────────────────────────────────────────┘ │ |
| 66 | │ ↓ │ |
| 67 | │ Phase 2: Run performance + full-only scripts (./scripts/) │ |
| 68 | │ ┌──────────────────────────────────────────────────────┐ │ |
| 69 | │ │ check-pagespeed.py → Lighthouse scores + metrics │ │ |
| 70 | │ │ check-social.py → OG Tags + Twitter Card │ │ |
| 71 | │ │ (more scripts added here as modules grow) │ │ |
| 72 | │ └──────────────────────────────────────────────────────┘ │ |
| 73 | │ ↓ │ |
| 74 | │ Phase 3: LLM-only advanced checks │ |
| 75 | │ ┌──────────────────────────────────────────────────────┐ │ |
| 76 | │ │ E-E-A-T content quality scoring │ │ |
| 77 | │ │ Duplicate content signals │ │ |
| 78 | │ │ Anchor text quality assessment │ │ |
| 79 | │ └──────────────────────────────────────────────────────┘ │ |
| 80 | └─────────────────────────────────────────────────────────────┘ |
| 81 | ``` |
| 82 | |
| 83 | --- |
| 84 | |
| 85 | ## Output |
| 86 | |
| 87 | Produce an **Advanced Full SEO Audit Report** by filling the template at |
| 88 | [assets/report-template.html](assets/report-template.html), |
| 89 | then **save it to a file — never print raw HTML to the terminal**. |
| 90 | |
| 91 | **File naming:** `reports/<hostname>-<slug>-full-audit.html` |
| 92 | ``` |
| 93 | https://example.com/blog/best-tools → reports/example-com-blog-best-tools-full-audit.html |
| 94 | https://example.com/ → reports/example-com-full-audit.html |
| 95 | ``` |
| 96 | |
| 97 | **After saving, tell the user:** |
| 98 | ``` |
| 99 | ✅ Full Report saved → reports/example-com-full-audit.html |
| 100 | Open it now? (yes / no) |
| 101 | ``` |
| 102 | If yes → run: `open reports/example-com-full-audit.html` |
| 103 | |
| 104 | **Template placeholders** — fill each independently: |
| 105 | |
| 106 | | Placeholder | Content | |
| 107 | |---|---| |
| 108 | | `{{summary_verdict}}` | One sentence: total checks run, how many failed/warned/passed | |
| 109 | | `{{summary_critical_html}}` | `<li>` per critical item, or `<li class="summary-empty">None</li>` | |
| 110 | | `{{summary_warnings_html}}` | `<li>` per warning item, or `<li class="summary-empty">None</li>` | |
| 111 | | `{{summary_passing_html}}` | `<li>` per passing check, or `<li class="summary-empty">None</li>` | |
| 112 | | `{{pagespeed_checks_html}}` | Full PageSpeed module using `check-pagespeed.py` |