From cookbook
Runs the conformance doctors of every recipe installed in a repo (per .recipes/lock.json) and aggregates the gaps into one readable report with suggested fixes. Use when asked to check recipe conformance, audit a repo's process health, run the doctor(s), diagnose drift from installed recipes, or survey an un-adopted repo against the recipe catalog.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cookbook:recipe-doctorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Doctors are the "enforce with hooks, not memory" half of the recipe system:
Doctors are the "enforce with hooks, not memory" half of the recipe system: deterministic scripts that check presence and shape, never byte-equality — a repo's local adaptations are legitimate; missing or broken machinery is not. This skill runs them all and turns the output into an actionable report.
${CLAUDE_PLUGIN_ROOT}/skills/recipe-doctor/scripts/run-doctors.sh <target>.
It reads .recipes/lock.json and runs each installed recipe's doctor at
its locked tier. No lock? Re-run with --all for a survey of every
recipe (expect gaps — that's the point of a survey) and recommend
adopt-recipes.GAP: line. Each is one missing/broken conformance
fact with the reason it matters baked into the message.Each doctor: 0 conformant · 1 gaps (readable GAP: lines) · 2 usage
error. The aggregator exits 1 if any doctor reported gaps — wire it into a
make doctor target or CI for scheduled conformance (the next section is how
an adopted repo resolves the scripts, since they aren't installed into it).
make doctor in an adopted repo (resolving the scripts)The doctors live in the plugin, not the repo: provides.scripts are
recipe-owned and never installed (SPEC §2), so a wired make doctor has to
resolve them — it can't just run a repo-local file. Only the durable repo
state travels plugin-free (CONVENTIONS, the CI guard, CONTRACTS + the installed
fleet-doctor.sh); the recipe-conformance audit is deliberately a plugin
operation, because doctors are versioned with the catalog and check shape
against the current recipe definitions. Resolution order for the target:
${CLAUDE_PLUGIN_ROOT} is exported; run the
aggregator straight from it. Zero config while an agent operates the repo.CLAUDE_PLUGIN_ROOT is unset; fall back to an
overridable variable pointing at a cookbook checkout the adopter controls (a
pinned clone, a submodule, or the marketplace install path). CI that wants
scheduled conformance must check the plugin out — the lock travels with the
repo, the doctors do not.exit 2), never pass silently: a doctor
that can't run is an unknown, not a green, and silent-green is exactly the
"memory, not hooks" failure the doctors exist to kill.Drop-in make target (npm flavor: mirror it as a doctor script):
# Resolve the cookbook plugin: in-session via CLAUDE_PLUGIN_ROOT, else override
# on the command line / in CI: make doctor COOKBOOK=/path/to/plugins/cookbook
COOKBOOK ?= $(CLAUDE_PLUGIN_ROOT)
.PHONY: doctor
doctor:
@[ -n "$(COOKBOOK)" ] && [ -d "$(COOKBOOK)" ] || { \
echo "recipe doctors not found — run inside Claude Code or set COOKBOOK=/path/to/plugins/cookbook" >&2; exit 2; }
@bash "$(COOKBOOK)/skills/recipe-doctor/scripts/run-doctors.sh" .
The aggregator reads this repo's .recipes/lock.json and runs each installed
recipe's doctor at its locked tier, so the one target stays correct as recipes
are added or graduate — no per-recipe edits, and adopt-recipes step 8 only
has to drop it in and reference it from CONVENTIONS' Quality gates.
adopt-recipes /
update-recipes when gaps trace to a missing install or version drift.Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub dotts-h/claude-skills --plugin cookbook