forked from bchanot/claude
refactor(skill): rename validate → web-validate
Clearer scoped name for the W3C + WCAG skill. Updated: folder (git mv),
frontmatter name, H1 title, command refs, CLAUDE.md routing, 6 profiles
(functional — activate the skill by folder name), cross-refs in
harden/seo/depth-matrix/client-handover, agent dispatch refs, README +
USAGE tables.
Confidentiality: the client-deliverable leak-guard regex
(client-handover-writer.md) now matches BOTH /web-validate and legacy
/validate, so older client docs stay covered.
Left intentionally: validator-analyzer agent name (lockstep with
subagent_type + registry), .validate-cache/ + VALIDATE.md (audit-file
family {SEO,GEO,HARDEN,CSO,VALIDATE}.md), .claude/ history (append-only),
CHANGELOG old entry (added a new "renamed" entry instead). NL trigger
keywords kept so "validate" still routes here. Third-party html-validate
untouched.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W9sqAwZxBMZSynZoVrEJhd
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
26658c4962
commit
e5e673ac1f
@@ -5,7 +5,7 @@ description: |
|
||||
final audits, deploy validation against live site, and a branded
|
||||
deliverable (Markdown + HTML + PDF). Multi-agent orchestrator: dispatches
|
||||
client-handover-writer which spawns parallel /seo + /harden subagents,
|
||||
then /validate, then writes the deliverable.
|
||||
then /web-validate, then writes the deliverable.
|
||||
Triggers: "client handover", "compte rendu client", "livraison client",
|
||||
"rapport client", "deliverable", "summary for client", "handover doc",
|
||||
"livrable", "ship and handover", "finaliser et livrer".
|
||||
@@ -39,11 +39,11 @@ The agent runs a **ship-and-handover pipeline** with explicit gates:
|
||||
- If still < 17/20 after cap → escalate to user with concrete remaining issues; user decides continue / stop / manual intervention.
|
||||
4. **COMMIT + PUSH** — If files changed during fix loops, run /commit-change (atomic logical commits) then `git push`.
|
||||
5. **DEPLOY PAUSE** — List exact deploy artifacts: changed files since baseline, deploy hints from project (vercel.json, netlify.toml, Dockerfile, .github/workflows/deploy.yml, etc.), and the deploy process in plain words. Use AskUserQuestion: "Deploy done? (Yes / Not yet / Skip validate)". Block until Yes or Skip.
|
||||
6. **/validate (live site)** — Run validator-analyzer against the deployed URL. Capture `SCORE_VALIDATE`.
|
||||
6. **/web-validate (live site)** — Run validator-analyzer against the deployed URL. Capture `SCORE_VALIDATE`.
|
||||
7. **GATE — per-axis threshold ≥17/20** — Compute final `SCORE_*_AFTER` for SEO classique, GEO (IA), HARDEN, VALIDATE. If ANY < 17/20: STOP. Generate `.claude/audits/HANDOVER-ROADMAP.md` with prioritized analysis of what's blocking each below-threshold axis. Do NOT write the client deliverable. Report to user.
|
||||
8. **DOC GENERATION (only if all scores ≥17/20)** — Read `.claude/memory/` registries + full git history. Ask whether to include build/deploy chapter. Synthesize the client deliverable using the 4-chapter structure:
|
||||
- **§1 Ce qu'il fallait faire (et pourquoi)** — brief + motivation, 100–180 words.
|
||||
- **§2 Ce qui a été fait** — lay summary, **≤300 words, zero technical jargon**, **no internal tool/skill names** (no `/seo`, `/harden`, `/validate`, `seo-analyzer`, etc. — replace with concept names: référencement / sécurité / conformité technique). Forbidden-token grep gate runs before write.
|
||||
- **§2 Ce qui a été fait** — lay summary, **≤300 words, zero technical jargon**, **no internal tool/skill names** (no `/seo`, `/harden`, `/web-validate`, `seo-analyzer`, etc. — replace with concept names: référencement / sécurité / conformité technique). Forbidden-token grep gate runs before write.
|
||||
- **§3 Ce qui vous reste à faire** — action-only checklist grouped by cadence (one-time / monthly / quarterly / yearly / when something changes).
|
||||
- **§4 Détails techniques (pour les curieux)** — score table (SEO classique + GEO + sécurité + conformité, before/after, gated independently at ≥17/20), vulgarized BDR decisions, phases with technical detail, optional glossary.
|
||||
- **§5 Annexe — plateformes externes** (web/local-business only).
|
||||
|
||||
@@ -352,8 +352,8 @@ Agent(
|
||||
- Legal pages (mentions légales, CGV, privacy) — unless the issue is
|
||||
a security-header gap on those pages, not their content
|
||||
- Content quality, keyword density, readability
|
||||
- a11y / WCAG (owned by /validate — W3C + WCAG audit)
|
||||
- W3C HTML / CSS syntactic validity (owned by /validate)
|
||||
- a11y / WCAG (owned by /web-validate — W3C + WCAG audit)
|
||||
- W3C HTML / CSS syntactic validity (owned by /web-validate)
|
||||
|
||||
If you detect an out-of-scope issue, DROP IT silently. Do NOT mention
|
||||
it even as a "note". Stay focused.
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ description: |
|
||||
"structured data", "JSON-LD", "sitemap", "robots.txt", "Google ranking",
|
||||
"local SEO", "AI search", "GEO", "llms.txt", "ChatGPT visibility",
|
||||
"Perplexity", "Google AI Overview".
|
||||
For GEO only → /geo. For W3C/a11y → /validate. For bugs → /bugfix.
|
||||
For GEO only → /geo. For W3C/a11y → /web-validate. For bugs → /bugfix.
|
||||
argument-hint: optional keywords/scope, e.g. "local SEO plombier 91 94 77" or "SaaS B2B content strategy"
|
||||
allowed-tools:
|
||||
- Read
|
||||
@@ -33,7 +33,7 @@ entry point for any SEO/GEO work on a web project.
|
||||
## Resources
|
||||
|
||||
- `resources/depth-matrix.md` — depth-decision rules (LOCAL vs FULL),
|
||||
score-weight table per axis, dedup rules with sibling skills (/validate,
|
||||
score-weight table per axis, dedup rules with sibling skills (/web-validate,
|
||||
/harden), and the envelope schema for `.claude/audits/SEO.md`.
|
||||
|
||||
Read `resources/depth-matrix.md` at the start of STEP 0 — it pre-answers
|
||||
|
||||
@@ -30,8 +30,8 @@ LOCAL caps at 20. FULL caps at 20. Never report above 20.
|
||||
|
||||
| Finding type | Owner skill | If reported by /seo, what to do |
|
||||
|---|---|---|
|
||||
| HTML validity errors (W3C nu validator) | /validate | Drop from /seo report; note `"see /validate report for HTML validity"`. |
|
||||
| WCAG accessibility | /validate | Drop. |
|
||||
| HTML validity errors (W3C nu validator) | /web-validate | Drop from /seo report; note `"see /web-validate report for HTML validity"`. |
|
||||
| WCAG accessibility | /web-validate | Drop. |
|
||||
| Missing CSP / HSTS / 404 page / HTTP→HTTPS | /harden | Drop unless it directly affects indexability (then mention with cross-link). |
|
||||
| Wikidata / sameAs / Knowledge Panel | /seo (GEO) | Owned here. |
|
||||
| llms.txt | /seo (GEO) | Owned here. |
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
name: validate
|
||||
name: web-validate
|
||||
description: |
|
||||
Use when a web project needs W3C HTML/CSS validity check or WCAG 2.1
|
||||
accessibility audit. Dispatches the validator-analyzer agent with a
|
||||
@@ -21,7 +21,7 @@ allowed-tools:
|
||||
- WebFetch
|
||||
---
|
||||
|
||||
# /validate — web standards audit (W3C + WCAG)
|
||||
# /web-validate — web standards audit (W3C + WCAG)
|
||||
|
||||
This skill orchestrates a narrow-scope standards audit :
|
||||
|
||||
@@ -46,20 +46,20 @@ Scope boundary :
|
||||
errors.
|
||||
|
||||
If a finding appears in an out-of-scope area (e.g. missing meta
|
||||
description), the agent drops it silently — `/validate` stays focused.
|
||||
description), the agent drops it silently — `/web-validate` stays focused.
|
||||
|
||||
### Relation to other skills
|
||||
|
||||
- `/onboard` runs an initial a11y audit at project setup (axe or
|
||||
static checklist → `.onboard-audit/a11y.md`). `/validate` is the
|
||||
static checklist → `.onboard-audit/a11y.md`). `/web-validate` is the
|
||||
**on-demand** equivalent, re-runnable anytime against the current
|
||||
codebase, and also covers HTML/CSS validity (which `/onboard` does
|
||||
not).
|
||||
- `/harden` audits security posture (headers, TLS, redirects).
|
||||
`/validate` audits conformance. They share no findings.
|
||||
`/web-validate` audits conformance. They share no findings.
|
||||
- `/seo` and `/geo` audit indexability. They may flag the same HTML
|
||||
features (alt attrs, heading structure) but from a ranking
|
||||
perspective. `/validate` flags from a **standards** perspective
|
||||
perspective. `/web-validate` flags from a **standards** perspective
|
||||
(WCAG SC number, W3C rule id). Findings may overlap — both reports
|
||||
are still valid.
|
||||
|
||||
@@ -95,7 +95,7 @@ CSS_COUNT=$(find . -name "*.css" \
|
||||
|
||||
If both counts are 0 and no URL provided → abort with :
|
||||
```
|
||||
⚠️ No HTML or CSS files found and no URL provided. /validate needs
|
||||
⚠️ No HTML or CSS files found and no URL provided. /web-validate needs
|
||||
either local files or a live URL. Re-run with --full <url>.
|
||||
```
|
||||
|
||||
@@ -126,7 +126,7 @@ If framework is JS-based and `BUILD_DIR` is empty, warn :
|
||||
⚠️ Framework detected : <name>. No build output found.
|
||||
HTML validity on JSX/TSX source is not meaningful.
|
||||
Options :
|
||||
1. Run `npm run build` then re-run /validate
|
||||
1. Run `npm run build` then re-run /web-validate
|
||||
2. Use --full <url> to audit production
|
||||
3. Continue with partial LOCAL audit (CSS + static WCAG only)
|
||||
```
|
||||
@@ -177,7 +177,7 @@ Agent(
|
||||
subagent_type="validator-analyzer",
|
||||
description="validate — W3C HTML + CSS + WCAG audit",
|
||||
prompt="""
|
||||
Dispatched from /validate. STRICT SCOPE — W3C HTML validity + W3C
|
||||
Dispatched from /web-validate. STRICT SCOPE — W3C HTML validity + W3C
|
||||
CSS validity + WCAG 2.1 accessibility ONLY.
|
||||
|
||||
CONTEXT:
|
||||
@@ -299,7 +299,7 @@ Fixes applied : <N>
|
||||
- [Moyenne][CSS] Removed invalid property `bakground` → `background` at line 23
|
||||
|
||||
Verification :
|
||||
- Re-run /validate → expected score bump <before> → <after>
|
||||
- Re-run /web-validate → expected score bump <before> → <after>
|
||||
- Tests to run : a11y regression (pa11y-ci), visual snapshot
|
||||
```
|
||||
|
||||
@@ -329,9 +329,9 @@ TOP 3 ACTIONS (by severity × user impact) :
|
||||
3. [Haute] <title>
|
||||
|
||||
NEXT STEPS :
|
||||
• /validate <url> --fix → apply recommended fixes
|
||||
• /validate <url> --full → re-run with live URL + remote APIs
|
||||
• /validate --no-external → skip third-party APIs (faster, LOCAL-like)
|
||||
• /web-validate <url> --fix → apply recommended fixes
|
||||
• /web-validate <url> --full → re-run with live URL + remote APIs
|
||||
• /web-validate --no-external → skip third-party APIs (faster, LOCAL-like)
|
||||
• /harden / /seo / /geo → complementary audits (other scopes)
|
||||
|
||||
Install for better LOCAL coverage :
|
||||
Reference in New Issue
Block a user