audit-website

Auditer un site web avec le CLI squirrelscan et corriger les résultats dans le code. Exécute les catégories de règles SEO, performance, sécurité, technique, contenu, accessibilité et 15 autres (249+ règles), renvoie un rapport optimisé pour LLM, puis pilote une boucle de correction itérative, en mappant les problèmes aux fichiers sources, en appliquant des correctifs et en ré-auditant jusqu'à ce que le site obtienne de bons scores. Utilisez-le pour découvrir et évaluer les problèmes d'un site web ou d'une application web et les résoudre.

npx skills add https://github.com/squirrelscan/skills --skill audit-website

Audit a Website and Fix It

Run a squirrelscan audit against a website, read the LLM report, map each issue to the code or content that causes it, fix in batches, and re-audit until the score target is met.

Requires the squirrel CLI (squirrelscan.com/download; verify with squirrel --version). For CLI setup, login, publishing, MCP, and general CLI usage, use the companion squirrelscan skill.

Rule docs

Look up any rule at https://docs.squirrelscan.com/rules/{rule_category}/{rule_id}, for example:

https://docs.squirrelscan.com/rules/links/external-links

Running the audit

squirrel audit https://example.com --format llm
  • ALWAYS use --format llm: it is compact, exhaustive, and made for agents.
  • If the user doesn't provide a URL, ask which site to audit.
  • PREFER auditing the live site: only there do you see true rendering, performance, and redirect behavior. If both a local dev server and a live site exist, suggest the live one; apply the fixes to the local code either way.
  • Audits are cached locally. Re-render later without recrawling: squirrel report <audit-id> --format llm.

Scan progression

  1. First pass, quick coverage (the default): a fast, shallow scan to learn the site's structure, technology, and biggest problems without impacting the site.
  2. Second pass, deeper coverage: -C surface (one page per URL pattern) for template-level coverage, or -C full for a comprehensive crawl before sign-off.
ModeDefault pagesUse
quick25First look, CI checks
surface100Template-level coverage (one sample per pattern like /blog/{slug})
full500Final verification, deep analysis

Useful flags: --refresh (ignore cache, full re-fetch), --resume (continue an interrupted crawl), -m <n> (page cap), --verbose (progress detail).

If the site blocks unknown crawlers (Shopify / Cloudflare), pass Web Bot Auth headers with repeated -H "Name: Value" flags. Header values are secrets and are redacted in output. See https://docs.squirrelscan.com/guides/web-bot-auth

The fix loop

  1. Present the report: score, grade, top issues by severity.
  2. Propose fixes: list the issues you can fix and confirm with the user before changing anything.
  3. Map issues to source: find the template, component, or content file behind each finding.
  4. Fix in batches: apply the approved fixes; use subagents to parallelize independent files.
  5. Re-audit (use --refresh after deploys or content changes) and show before/after scores.
  6. Repeat until the target is met or only judgment calls remain (for example "should this link be removed?"). Flag those for user review instead of guessing.

After each batch, verify the project still builds and existing checks pass.

Score targets

Starting scoreTargetExpected work
< 50 (F)75+ (C)Major fixes
50-70 (D)85+ (B)Moderate fixes
70-85 (C)90+ (A)Polish
> 85 (B+)95+Fine-tuning

A site is only considered COMPLETE and FIXED when it scores 95+ (Grade A) with --coverage full.

Issue categories and fix approach

CategoryFix approachParallelizable
Meta tags / titles / descriptionsEdit page components or metadata configNo
Structured dataAdd JSON-LD to page templatesNo
Missing H1 / heading hierarchyEdit page components + content filesYes (content)
Image alt textEdit content filesYes
Short meta descriptionsExtend frontmatter descriptionsYes
HTTP to HTTPS linksFind and replace in contentYes
Broken linksManual review, flag for userNo

Rules carry a level (error, warning, notice) and a rank (1-10): fix errors first, then high-rank warnings. Code changes and content changes are equally important; treat them the same.

Parallelizing with subagents

  • Ask the user first: always confirm which fixes to apply before spawning subagents.
  • Group 3-5 files per subagent for the same fix type; only parallelize independent files (no shared components or config).
  • Spawn the subagents in a single message so they run concurrently.

Verifying regressions

Compare against a baseline to prove improvement or catch regressions:

squirrel report --diff <baseline-audit-id> --format llm
squirrel report --regression-since example.com --format llm

Completion

Done means: all errors fixed; warnings fixed or documented as needing human review; a re-audit confirms the improvement; and the user has seen the before/after score comparison plus a summary of every change made. Re-audit regularly to keep the site healthy. If the user wants to share results, offer a published report (see the squirrelscan skill).

Report format

The LLM report is a compact XML/text hybrid optimized for token efficiency: summary with health score, issues grouped by category with affected URLs, broken links, and prioritized recommendations. Full spec: OUTPUT-FORMAT.md

Skills connexes

decompress-binary
clickhouse
Extract the inner ELF from a ClickHouse self-extracting `clickhouse` binary, including when its architecture differs from the host (e.g. to load an aarch64 CI…
auth0-dpop
auth0
À utiliser lors de l'ajout de la liaison de jeton DPoP (Demonstrating Proof-of-Possession) pour protéger les appels API avec des jetons d'accès liés à l'appareil et contraints par l'expéditeur, qui ne peuvent pas être…
instrument-observability
microsoft
Instrumente l'observabilité de Microsoft Agent 365 dans les agents .NET AgentFramework, Node.js ou Python existants. Ajoute le tracing basé sur OTel, la propagation de contexte, A365…
building-java-knowledge-graph
microsoft
Analyse les projets JVM (Java/Kotlin/Scala/Groovy) et génère des graphes de connaissances avec l'analyse tree-sitter. Nécessite Python 3 sur l'hôte et un projet JVM avec…
deepgram-js-voice-agent
deepgram
Use when writing or reviewing JavaScript/TypeScript in this repo that builds an interactive voice agent via `agent.deepgram.com/v1/agent/converse`. Covers…
hydrogen-versioning
shopify
Référence de versionnage pour les API GraphQL d'Hydrogen et de Shopify. Couvre les formats CalVer, les calendriers de versions trimestrielles, les politiques de support des versions et la cadence de publication…
marketing-claims-review
anthropic
Examiner les textes marketing pour repérer les affirmations nécessitant une justification, une reformulation ou une suppression. Utiliser lorsque l'utilisateur dit « examiner ce texte marketing », « vérifier ces affirmations »,…
version-update
openshift
Met à jour le numéro de version d'OLS dans tous les fichiers requis. À utiliser lors de l'incrémentation de la version pour une publication ou lorsque l'utilisateur demande de mettre à jour, d'incrémenter ou de modifier le…