feat(effort): entry effort level on the 31 user-invoked skills (spec D3)

A/B /reconcile headless — BEFORE requests=18 output=12374 thinking=3135 effort={'high'} duration_ms=96518 / AFTER requests=15 output=9038 thinking=2248 effort={'low'} duration_ms=78410
This commit is contained in:
bastien
2026-09-28 19:11:21 +02:00
parent 9223fda99f
commit 94189adbc6
29 changed files with 34 additions and 0 deletions
+6
View File
@@ -41,6 +41,12 @@ for a in plan-challenger plugin-advisor verifier security-auditor seo-analyzer g
for a in interviewer client-handover-writer status-reporter; do fm_no_effort "agents/$a.md"; done for a in interviewer client-handover-writer status-reporter; do fm_no_effort "agents/$a.md"; done
has "skills/init-project/SKILL.md" 'pin sonnet, effort medium' has "skills/init-project/SKILL.md" 'pin sonnet, effort medium'
# ── 4) skill entry levels (spec D3): the user's invocation sets the run's level
for s in status commit-change release-candidate doc capitalize close reconcile deploy profile plugin-check; do fm_has_effort "skills/$s/SKILL.md" low; done
for s in gitflow prune-memory find-docs; do fm_has_effort "skills/$s/SKILL.md" medium; done
for s in feat hotfix bugfix refactor web-validate harden seo geo; do fm_has_effort "skills/$s/SKILL.md" high; done
for s in ship-feature init-project onboard tour audit-delta analyze code-clean client-handover; do fm_has_effort "skills/$s/SKILL.md" xhigh; done
# ── summary (later tasks insert their locks ABOVE this line) # ── summary (later tasks insert their locks ABOVE this line)
printf 'effort-routing census: %d pass, %d fail\n' "$pass" "$fail" printf 'effort-routing census: %d pass, %d fail\n' "$pass" "$fail"
[ "$fail" -eq 0 ] [ "$fail" -eq 0 ]
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: analyze name: analyze
effort: xhigh
description: 'Deep factual code analysis (read-only) or DEBUG mode (pass error/stack trace) — no solutions proposed, no file modifications. Triggers: "analyze", "analyse", "how does X work", "comment ça marche", "investigate only", "root cause only, no fix", "pourquoi ce comportement", "debug analysis". Fix wanted → /bugfix or /hotfix instead.' description: 'Deep factual code analysis (read-only) or DEBUG mode (pass error/stack trace) — no solutions proposed, no file modifications. Triggers: "analyze", "analyse", "how does X work", "comment ça marche", "investigate only", "root cause only, no fix", "pourquoi ce comportement", "debug analysis". Fix wanted → /bugfix or /hotfix instead.'
argument-hint: <file/area to analyze — OR paste error/stack trace for DEBUG mode> argument-hint: <file/area to analyze — OR paste error/stack trace for DEBUG mode>
allowed-tools: Read, Grep, Glob, Bash allowed-tools: Read, Grep, Glob, Bash
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: audit-delta name: audit-delta
effort: xhigh
description: | description: |
Use when the user wants a recurring code audit scoped to changes since Use when the user wants a recurring code audit scoped to changes since
the previous run (full codebase on first run), on selectable axes: the previous run (full codebase on first run), on selectable axes:
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: bugfix name: bugfix
effort: high
description: | description: |
Structured bug fix with root cause investigation. For bugs where Structured bug fix with root cause investigation. For bugs where
the cause isn't immediately obvious, spans multiple files, or the cause isn't immediately obvious, spans multiple files, or
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: capitalize name: capitalize
effort: low
description: | description: |
Use when about to /clear or /compact, or closing a session, with Use when about to /clear or /compact, or closing a session, with
decisions, learnings, blockers, evals, or TODO changes not yet written decisions, learnings, blockers, evals, or TODO changes not yet written
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: client-handover name: client-handover
effort: xhigh
description: | description: |
Use when finalizing a project for non-technical client delivery — Use when finalizing a project for non-technical client delivery —
final audits, live-site validation, branded deliverable (MD + HTML + final audits, live-site validation, branded deliverable (MD + HTML +
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: close name: close
effort: low
description: | description: |
End-of-session ritual — flush what was decided, learned, and blocked into End-of-session ritual — flush what was decided, learned, and blocked into
`.claude/memory/`, reconcile `.claude/tasks/TODO.md`, and log a journal line. `.claude/memory/`, reconcile `.claude/tasks/TODO.md`, and log a journal line.
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: code-clean name: code-clean
effort: xhigh
description: | description: |
Full codebase cleanup: dead code, style/norm enforcement, structural Full codebase cleanup: dead code, style/norm enforcement, structural
issues. Two-phase: read-only audit, then approved fixes only issues. Two-phase: read-only audit, then approved fixes only
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: commit-change name: commit-change
effort: low
description: | description: |
Analyze all pending changes (staged, unstaged, untracked) and create Analyze all pending changes (staged, unstaged, untracked) and create
atomic commits grouped by logical unit, retracing the work. Any git atomic commits grouped by logical unit, retracing the work. Any git
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: deploy name: deploy
effort: low
description: | description: |
Use when deploying a project via its per-project runbook — instantiates the delta Use when deploying a project via its per-project runbook — instantiates the delta
since last deploy, hands off for out-of-band execution, resumes cold, learns from errors. since last deploy, hands off for out-of-band execution, resumes cold, learns from errors.
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: doc name: doc
effort: low
description: | description: |
Use when documentation may be out of sync with code — features Use when documentation may be out of sync with code — features
added/removed vs README / INSTALL / DEPLOY / CHANGELOG. Stack-aware added/removed vs README / INSTALL / DEPLOY / CHANGELOG. Stack-aware
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: feat name: feat
effort: high
description: | description: |
Small feature implementation (1-5 files). Reflection inline (scope, Small feature implementation (1-5 files). Reflection inline (scope,
plan, contract — session model), execution dispatched to the plan, contract — session model), execution dispatched to the
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: geo name: geo
effort: high
description: | description: |
Use when a web project needs AI-search visibility audit — ChatGPT, Use when a web project needs AI-search visibility audit — ChatGPT,
Perplexity, Gemini, AI Overviews, Copilot… Standalone GEO; dispatches Perplexity, Gemini, AI Overviews, Copilot… Standalone GEO; dispatches
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: gitflow name: gitflow
effort: medium
description: Use when a project needs gitflow branch operations — bootstrapping main+develop, starting a typed branch (feature/bugfix/release/hotfix), or integrating finished work by directed merge — or when an orchestrator must branch or merge under the gitflow model. Use when about to merge any branch into develop or main. description: Use when a project needs gitflow branch operations — bootstrapping main+develop, starting a typed branch (feature/bugfix/release/hotfix), or integrating finished work by directed merge — or when an orchestrator must branch or merge under the gitflow model. Use when about to merge any branch into develop or main.
--- ---
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: harden name: harden
effort: high
description: | description: |
Web hardening audit — HTTPS/TLS, HSTS, security headers (CSP, Web hardening audit — HTTPS/TLS, HSTS, security headers (CSP,
X-Frame-Options…), cookie flags, canonical, custom 404, server config X-Frame-Options…), cookie flags, canonical, custom 404, server config
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: hotfix name: hotfix
effort: high
description: | description: |
Quick fix for superficial bugs: typos, CSS issues, config errors, Quick fix for superficial bugs: typos, CSS issues, config errors,
off-by-one, wrong variable name, missing import, broken link. off-by-one, wrong variable name, missing import, broken link.
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: init-project name: init-project
effort: xhigh
description: 'Use when initializing a brand-new project from scratch — needs interview, design, scaffold, and TDD implementation. Multi-agent orchestrator: plugin-advisor + interviewer + analyzer + scaffolder with two validation gates. Triggers: "init project", "new project", "start project from scratch", "scaffold project", "init-project".' description: 'Use when initializing a brand-new project from scratch — needs interview, design, scaffold, and TDD implementation. Multi-agent orchestrator: plugin-advisor + interviewer + analyzer + scaffolder with two validation gates. Triggers: "init project", "new project", "start project from scratch", "scaffold project", "init-project".'
argument-hint: <project idea or description> argument-hint: <project idea or description>
allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Agent, Skill allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Agent, Skill
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: onboard name: onboard
effort: xhigh
description: 'Use when bringing an existing repo into the claude-config framework — needs archetype detection, config install, full multi-axis audit (debt/SEO/GEO/UI-UX/perf/security/a11y/docs), and prioritized backlog. Multi-agent orchestrator. Do NOT use for repos created via /init-project. Triggers: "onboard", "onboard project", "audit existing repo", "setup existing project".' description: 'Use when bringing an existing repo into the claude-config framework — needs archetype detection, config install, full multi-axis audit (debt/SEO/GEO/UI-UX/perf/security/a11y/docs), and prioritized backlog. Multi-agent orchestrator. Do NOT use for repos created via /init-project. Triggers: "onboard", "onboard project", "audit existing repo", "setup existing project".'
argument-hint: '[optional hints: "Python FastAPI" | "Next.js monorepo" | "force-archetype:wordpress"]' argument-hint: '[optional hints: "Python FastAPI" | "Next.js monorepo" | "force-archetype:wordpress"]'
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, Skill allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, Skill
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: plugin-check name: plugin-check
effort: low
description: 'Audit active plugins vs project needs. Read-only advisory recommending enable/disable. Triggers: "plugin-check", "quels plugins".' description: 'Audit active plugins vs project needs. Read-only advisory recommending enable/disable. Triggers: "plugin-check", "quels plugins".'
argument-hint: '[ex: "React + FastAPI" or "Rust CLI, no frontend"]' argument-hint: '[ex: "React + FastAPI" or "Rust CLI, no frontend"]'
allowed-tools: Read, Bash, Glob, Grep, Agent allowed-tools: Read, Bash, Glob, Grep, Agent
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: profile name: profile
effort: low
description: | description: |
Partition Claude skills by purpose: design, dev, qa, audit, minimal. Partition Claude skills by purpose: design, dev, qa, audit, minimal.
Toggles symlinks between skills/ and skills-disabled/ to keep only Toggles symlinks between skills/ and skills-disabled/ to keep only
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: prune-memory name: prune-memory
effort: medium
description: | description: |
Use when .claude/memory/ registries grow too large or noisy — superseded Use when .claude/memory/ registries grow too large or noisy — superseded
entries verbose, similar entries cluttering, journal stale, caveman style entries verbose, similar entries cluttering, journal stale, caveman style
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: reconcile name: reconcile
effort: low
description: Use when you need the REAL open-work state of a project and the TODO or memory registries may be stale — "is the queue empty?", "what's left open?", "qu'est-ce qui reste", before /close, after a break, or when a checkbox/status looks doubtful. Confronts declared status (TODO checkboxes, registry statuses) against real git/fs state and surfaces the gaps. NOT memory curation (that is /prune-memory). description: Use when you need the REAL open-work state of a project and the TODO or memory registries may be stale — "is the queue empty?", "what's left open?", "qu'est-ce qui reste", before /close, after a break, or when a checkbox/status looks doubtful. Confronts declared status (TODO checkboxes, registry statuses) against real git/fs state and surfaces the gaps. NOT memory curation (that is /prune-memory).
--- ---
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: refactor name: refactor
effort: high
description: 'Improve code quality without changing behavior — strict norm enforcement, targeted scope (file/module). Full-codebase audit+cleanup → /code-clean. Triggers: "refactor", "clean up code", "normaliser".' description: 'Improve code quality without changing behavior — strict norm enforcement, targeted scope (file/module). Full-codebase audit+cleanup → /code-clean. Triggers: "refactor", "clean up code", "normaliser".'
argument-hint: <file, function, or module to refactor> argument-hint: <file, function, or module to refactor>
allowed-tools: Read, Write, Edit, Grep, Glob, Bash, Agent allowed-tools: Read, Write, Edit, Grep, Glob, Bash, Agent
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: release-candidate name: release-candidate
effort: low
description: 'Use when develop is ahead of main and you want to cut a versioned release — finalize version.txt + CHANGELOG, merge develop→main via the gitflow fan-out, tag it, and push. Triggers: "cut a release", "release candidate", "tag a version", "ship develop to main". NOT feature/bugfix integration (that is gitflow finish via /ship-feature) nor a hotfix.' description: 'Use when develop is ahead of main and you want to cut a versioned release — finalize version.txt + CHANGELOG, merge develop→main via the gitflow fan-out, tag it, and push. Triggers: "cut a release", "release candidate", "tag a version", "ship develop to main". NOT feature/bugfix integration (that is gitflow finish via /ship-feature) nor a hotfix.'
allowed-tools: allowed-tools:
- Read - Read
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: seo name: seo
effort: high
description: | description: |
Use when a web project needs SEO + GEO audit or optimization — Use when a web project needs SEO + GEO audit or optimization —
classical search (Google, Bing) AND AI search (ChatGPT, Perplexity, AI classical search (Google, Bing) AND AI search (ChatGPT, Perplexity, AI
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: ship-feature name: ship-feature
effort: xhigh
description: 'Use when shipping a new feature end-to-end — needs design brainstorm, planning, TDD implementation with subagents, error recovery, code review, and finish. Multi-agent orchestrator (9-step pipeline). Triggers: "ship feature", "ship-feature", "build and merge", "feature end-to-end", "implement and ship".' description: 'Use when shipping a new feature end-to-end — needs design brainstorm, planning, TDD implementation with subagents, error recovery, code review, and finish. Multi-agent orchestrator (9-step pipeline). Triggers: "ship feature", "ship-feature", "build and merge", "feature end-to-end", "implement and ship".'
argument-hint: <feature description> argument-hint: <feature description>
allowed-tools: Read, Write, Edit, Bash, Grep, Glob allowed-tools: Read, Write, Edit, Bash, Grep, Glob
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: status name: status
effort: low
description: 'Consolidated project snapshot — plugins + passive token cost, git state, recent commits, GSD v2 milestone progress. Read-only. Run at session start or after a break. Open-work reconciliation (stale TODO vs real git) → /reconcile. Triggers: "status", "sitrep", "where are we", "project state", "after break".' description: 'Consolidated project snapshot — plugins + passive token cost, git state, recent commits, GSD v2 milestone progress. Read-only. Run at session start or after a break. Open-work reconciliation (stale TODO vs real git) → /reconcile. Triggers: "status", "sitrep", "where are we", "project state", "after break".'
argument-hint: (no arguments needed) argument-hint: (no arguments needed)
allowed-tools: Read, Bash, Glob, Grep, Agent allowed-tools: Read, Bash, Glob, Grep, Agent
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: tour name: tour
effort: xhigh
description: | description: |
Use when the user wants ONE grouped pass over a whole project (or a Use when the user wants ONE grouped pass over a whole project (or a
list of projects) covering all hygiene axes together: code cleanup + list of projects) covering all hygiene axes together: code cleanup +
+1
View File
@@ -1,5 +1,6 @@
--- ---
name: web-validate name: web-validate
effort: high
description: | description: |
Use when a web project needs W3C HTML/CSS validity or WCAG 2.1 Use when a web project needs W3C HTML/CSS validity or WCAG 2.1
accessibility audit. Dispatches the validator-analyzer agent, strict accessibility audit. Dispatches the validator-analyzer agent, strict