Run D3 of manual-push mode (BDR-114). With every reader now failing closed, the skill prose stops saying the lib and hooks still push on an invalid value: - capitalize STEP 5C / STEP 6: the invalid outcome is split on the ahead count (nothing pushed vs pushed anyway by a stale fail-open hook or a manual push); the verb's stderr line is quoted verbatim; neighbouring closing lines carry push-mode qualifiers so none shadows the invalid case; the --no-push lines follow the same rule. - client-handover: "COMMIT + PUSH" labels become "COMMIT + PUSH STATE READ"; the STEP 5 residual sentences no longer imply the pipeline pushes; the invalid value is named as a case where the user pushes. - release-executor: prep span checks the version format by reading the string (never in a Bash command); manual mode and an invalid value both leave main/develop local.
5.7 KiB
5.7 KiB
name, effort, description, argument-hint, allowed-tools
| name | effort | description | argument-hint | allowed-tools | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| client-handover | xhigh | Use when finalizing a project for non-technical client delivery — final audits, live-site validation, branded deliverable (MD + HTML + PDF). Orchestrator: client-handover-writer spawns /seo + /harden in parallel, then /web-validate, then writes the deliverable. Triggers: "client handover", "livraison client", "rapport client", "deliverable", "livrable", "finaliser et livrer". |
|
|
MODEL GATE (blocking): run $HOME/.claude/lib/model-gate.md BEFORE loading
the agent below. Verdict small → STOP — print the gate's remedy, end the
turn, do not load the agent.
Load and follow strictly:
- $HOME/.claude/agents/client-handover-writer.md
Execute the CLIENT HANDOVER WRITER agent on this project. It runs the
audit/fix/gate pipeline INLINE on the big session model (gated above), its
skill-runner children dispatched model: "fable", then delegates the
client deliverable to the two-mode handover-doc-writer subagent —
synthesize on opus, render (Markdown + branded HTML + PDF) on the sonnet
pin (BDR-077).
The agent runs a ship-and-handover pipeline with explicit gates:
- PRE-FLIGHT — Detect git repo, project root, language, project type, web sub-type, NAP signals, stack.
- BASELINE AUDITS — Run /seo (SEO+GEO) and /harden in parallel. Capture initial scores (
SCORE_SEO_BEFORE,SCORE_GEO_BEFORE,SCORE_HARDEN_BEFORE). - FIX LOOPS (parallel, bounded) — For each audit < 17/20:
- Apply the pending FIX BUNDLE from the MAIN loop: items the audit classed AUTO directly, then every GATED item (CSP, redirects, anything harden marks "could BREAK the site") presented to the user at ONE gate before applying.
- Re-invoke the audit subagent in audit mode: it re-scores and returns the next FIX BUNDLE; it applies nothing (a dispatched child cannot hold a gate).
- Repeat up to
MAX_ITERATIONS(default 5). - If still < 17/20 after cap → escalate to user with concrete remaining issues; user decides continue / stop / manual intervention.
- COMMIT + PUSH STATE READ — If files changed during fix loops, run /commit-change (atomic logical commits); the gitflow hooks push in auto-push mode, otherwise (manual push mode, an invalid gitflow.autopush, or a hook push that failed) the agent tells the user to push with
! git push -u origin <branch>BEFORE the deploy pause. - 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.
- /web-validate (live site) — Run validator-analyzer against the deployed URL. Capture
SCORE_VALIDATE. - GATE — per-axis threshold ≥17/20 — Compute final
SCORE_*_AFTERfor SEO classique, GEO (IA), HARDEN, VALIDATE. If ANY < 17/20: STOP. Generate.claude/audits/HANDOVER-ROADMAP.mdwith prioritized analysis of what's blocking each below-threshold axis. Do NOT write the client deliverable. Report to user. - 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 6-chapter structure (BDR-013, full spec inagents/client-handover-writer.md):- §1 Ce qu'il fallait faire (et pourquoi) — brief + motivation, 100–180 words.
- §2 Résultats — état de santé du site (avant / après) — the score table (SEO classique + GEO + sécurité + conformité, before/after, gated independently at ≥17/20), promoted to the top of the doc for immediate impact.
- §3 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 (covers chapters 1–5). - §4 Vos informations officielles (NAP) — single source-of-truth table the client reuses across every external platform in §7 (web/local-business only).
- §5 Ce qui vous reste à faire — action-only checklist grouped by cadence (one-time / monthly / quarterly / yearly / when something changes).
- §6 Détails techniques (pour les curieux) — vulgarized BDR decisions, phases with technical detail, optional glossary (score table NOT here — promoted to §2).
- §7 Annexe — plateformes externes (web/local-business only).
- §8 Annexe — build & déploiement (only if requested).
- RENDER — Write
LIVRAISON.md(fr) orHANDOVER.md(en) at project root, then run$HOME/.claude/skills/client-handover/scripts/handover-to-pdf.shto produce the matching branded.html(always) and.pdf(when a PDF engine is on the host: weasyprint > wkhtmltopdf > chromium). HTML/PDF use the ZenQuality cover page, green palette, Inter + Playfair Display typography, running header/footer with project name + page numbers.
Flags:
--skip-fix-loop— run baseline audits once, skip auto-fix iterations.--max-iterations N— cap fix loop iterations (default 5).--skip-audits— bypass entire pipeline; jump straight to doc generation from existing audit files.- All previous flags still supported (see argument-hint).
Context from the user (if any): $ARGUMENTS