doctor - Blueprint health check
SkillDev toolsRun a Blueprint health and context check covering setup, adapters, commands, visibility, plans, overview freshness, configuration, dashboard state, and workflow drift. May offer to reset malformed generated dashboard state after approval. Use for /doctor, installation checks, context overhead, setup problems, or when something feels wrong.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the doctor - Blueprint health check skill
What this skill tells your AI
The instructions your AI receives, as published by aiblueprinthq/ai-blueprint in .agents/skills/doctor/SKILL.md and read by ahel’s review.
Context reuse: Reuse any required file already loaded in project instructions or the current session. Read it again only if absent, changed, or exact current bytes or line references are needed.
Where this sits in the workflow:
any time -> [doctor] -> reads setup + plans + workflow state + git
(diagnostic) prints health, warnings, and repair order
This skill answers one question: is this Blueprint project ready to use? It is
the diagnostic pass for setup drift, incomplete onboarding, missing files,
placeholder plans, stale generated context, Blueprint visibility, and confusing
workflow state. It never changes anything: no edits, no commits, no installs, no
builds, no branch changes. Its only repair is an approved reset of a malformed
generated blueprint/.state/run.json file.
Use /status when the user mainly wants progress and the next build action. Use
/doctor when the user wants to know whether the workflow itself is healthy.
Input
None. /doctor takes no argument.
What it checks
Gather these, then summarize. Do not dump file contents.
- Required Blueprint files
- Confirm
AGENTS.md,blueprint/,blueprint/project-plan.md,blueprint/build-plan.md, andblueprint/context/exist. - Confirm
blueprint/context/coding-standards.md,blueprint/context/ai-interaction.md,blueprint/context/current-feature.md, andblueprint/context/project-overview.mdexist. - Confirm
blueprint/history/features/andblueprint/history/fixes/exist. When the rollback skill is installed, also checkblueprint/history/rollbacks/. A missing rollback folder on a legacy installation is a warning, not a blocker;/completecreates it on the first rollback. - Check
blueprint/context/findings.md. Missing on a legacy installation is a warning, not a blocker;/auditand/completecreate it on first use. When present, confirm its entry headers still match### <id> [<severity>] <status> - <title>and warn on a malformed ledger. Report any P0 or P1 finding stillopenorfixedby ID, since it will block/complete. Never block on the ledger yourself. - Check
blueprint/context/review.md. Missing on a legacy installation is a warning, not a blocker;/audit independent currentand/completecreate it on first use. When present, validate the required request or receipt fields and report pending, changes-requested, malformed, or stale state. - If
.gitignoremarks Blueprint workflow files as local-only, still require the files to exist on disk. Ignored but present is healthy; ignored and missing means the local workflow needs to be restored. - Read
blueprint/config.jsonwhen present. Missing is healthy and means built-in defaults. When present, require a regular non-symbolic-link JSON file withschemaVersion: 1. Reject unknown keys and unsupported values. Report the effective workflow, git, verification, review execution, regular quality-gate, Continuous quality-gate, and Continuous Mode settings. Confirm each audit, independent-review, check, and try-guide gate uses its supported values. Independent review defaults towhen-sensitivefor both workflows; audit, check, and try guide default tomanual. Confirmreview.independentExecutionismanualorautomaticand defaults toautomatic. Do not claim automatic capability is available from installed project files alone. An invalid config is a setup blocker for mutating workflow skills because they must not guess which policy to follow.
- Confirm
- Tool adapters
- Read
blueprint/.state/manifest.jsonwhen present and report its exact logical adapters: Codex, Claude Code, GitHub Copilot, and OpenCode. - Confirm at least one compatible skill tree exists. Codex and GitHub Copilot
use
.agents/skills/. Claude Code uses.claude/skills/. OpenCode can use either tree. - If both skill trees are present, say that is healthy when the selected tools require both. Compare their skill folder names and warn about missing skills on either side.
- If OpenCode is selected, do not require
.opencode/skills/. If it contains duplicate Blueprint skills alongside.agents/skills/or.claude/skills/, warn that OpenCode discovers all of those locations and the duplicate tree should be reviewed. - If git shows changes under
.agents/skills/or.claude/skills/, check the matching adapter file too. Warn when workflow behavior was updated in one adapter but not the other. - Confirm each installed adapter tree contains
doctor/scripts/run-state.mjs. This managed helper validates and atomically writes dashboard activity. A missing helper needs a Blueprint update before tracked commands can record activity safely. - If only one tool is used, mention the unused adapter can be deleted. Do not treat extra adapters as an error.
- If
CLAUDE.mdexists and still starts with# Project Name, flag that/onboardprobably has not finished. - When Claude Code is installed, report its startup-context shape. Confirm
CLAUDE.mdimportsAGENTS.mdand lets skills load the overview, active spec, coding standards, and interaction guide on demand. If it directly imports any of those four context files, warn that this is the legacy always-loaded layout and give the exact direct import lines to remove. Count the imported files and their total byte size, plus the total byte size of project skill descriptions. Label these as file-size diagnostics, not token counts. Recommend Claude Code's/context allfor the live token breakdown.
- Read
- Commands and project setup
- Read existing
AGENTS.mdfor substantive proportional-engineering guidance, under## Proportional engineeringor equivalent customized wording. Accept equivalent guidance anywhere in the file; do not require exact prose. Look for current requirements over hypothetical scale, reuse before new machinery, smaller reversible defaults, questions for material unknowns, and trust boundaries grounded in actual reachability. Simplicity must preserve real validation, data-loss prevention, accessibility, security, configured tests, and project rules; stack-specific standards apply only to the project's stack. A heading or a single slogan is not sufficient. If guidance is missing or incomplete, identify the missing substance as a warning, not a setup blocker. The updater preserves existingAGENTS.md, so updating Blueprint alone does not repair this warning. - Check whether root
README.mdis still the copied Blueprint workflow doc by looking for# AI Coding Blueprintor opening text that describes the Blueprint workflow instead of the app. If so, warn that/onboardshould replace it with a project README before publishing. - If
blueprint/README.mdclearly contains copied Blueprint workflow docs, report it as an obsolete installer artifact. Its absence is healthy. An unchanged managed copy can be removed by the updater; a modified copy needs user review. - Check whether
AGENTS.mdhas a## Commandssection with dev and build commands. - Report missing lint or test commands as informational unless the project has
real lint or test scripts elsewhere that are not reflected in
AGENTS.md. - If
package.jsonexists, compare its scripts againstAGENTS.mdat a high level. Do not require every script to be documented. - If
AGENTS.mddeclares aVerifycommand, confirm it resolves to real project commands in the expected order: typecheck, tests when configured, then build. Do not require checks the project does not have. - If
.github/workflows/verify.ymlexists, confirm it runs the exact documentedVerifycommand for pull requests and pushes to the default branch, uses the detected runtime and package manager, and starts with read-only contents permission. Preserve other workflows and report overlap for review. - A missing
Verifycommand or GitHub workflow is informational. It means the optional automatic-check setup was not selected, not that the Blueprint is unhealthy.
- Read existing
- Ignore rules
- Check obvious ignore patterns for the detected stack. For Node or Astro,
look for
node_modules,.env,dist, and framework cache folders such as.astroor.nextwhen relevant. - Detect local-only Blueprint mode if
.gitignoreignores.agents/,.claude/,blueprint/, orCLAUDE.md. Report it as a visibility choice, not a failure, when the local files exist. - In local-only mode, check whether tracked
AGENTS.mdstill describes the Blueprint workflow, lists hidden adapter paths, or exposes the core skill list. If so, warn that/onboardshould makeAGENTS.mdpublic-safe. - If local-only mode is active but those paths are already tracked by git,
warn that
.gitignoredoes not hide tracked files and the user must approve anygit rm --cachedcleanup separately. - Keep this conservative. If uncertain, report "review" instead of failure.
- Check obvious ignore patterns for the detected stack. For Node or Astro,
look for
- Planning readiness
- Check whether
blueprint/project-plan.mdandblueprint/build-plan.mdlook filled in or still template-like. Treat obvious TODO, TBD, example-only text, or empty required sections as not ready. - Follow the proportional-engineering contract in
AGENTS.md: treat a blank or template-only optional Usage model and constraints section as healthy unknown context, not an incomplete requirement. - Check whether
blueprint/build-plan.mdis a numbered checkbox list. Raw bullets are allowed as a first draft, but they should be normalized by/overviewbefore the build loop starts. - Count checked and unchecked leaf items in
blueprint/build-plan.md.
- Check whether
- Overview freshness
- Check whether
blueprint/context/project-overview.mdexists and looks generated from the current plans. - Report its byte size. At or above 20,000 bytes, call it oversized and say
/featureshould stop until/overviewregenerates a compact consolidation. - If either planning file appears newer than the overview by filesystem time,
call the overview possibly stale and suggest
/overviewbefore feature work.
- Check whether
- Current workflow state
- Inspect
blueprint/.state/run.jsonwhen it exists. Missing means no recorded activity and is healthy. Require a regular non-symbolic-link JSON file that matches dashboard schema version 1 fromAGENTS.md. - If the path is a symbolic link or not a regular file, do not read, replace, or remove it. Report the exact path for manual review.
- If the regular file is invalid JSON or does not match the schema, report it as malformed generated state. Explain that resetting it removes only the dashboard's last-command record, not project work, and that the next tracked Blueprint command recreates it.
- Offer this exact repair question:
Reset the malformed dashboard state now?On approval, use the installed dashboard activity helper'sresetaction. It confirms the exact path is a regular non-symbolic-link file and removes onlyblueprint/.state/run.json. Verify the file is absent and report the dashboard state as reset. Never removeblueprint/.state/, its manifest, backups, or any project file. Without approval, leave it unchanged and include the reset inRepair order:. - Check whether
blueprint/context/current-feature.mdis the reset stub or an active feature, fix, or rollback spec. - If a spec is active, report checked and unchecked implementation steps.
- If
current-feature.mdis the reset stub but git has source or workflow changes, warn that work is happening without an active spec. - Flag active spec on
main, all spec steps checked but no completion, or a branch that does not match the configured feature, fix, or rollback prefix for the spec type. For a feature, also flag a mismatch with the next unchecked build-plan item. For a rollback, confirm its target is a checked item and do not compare it to the next unchecked item.
- Inspect
- Git
- Report current branch, clean vs dirty working tree, rough changed-file count, last commit subject, and whether the branch is ahead of upstream.
- If the directory is not a git repo, report that as a setup issue and keep going.
Output
Print a compact health report with these labels:
Health: Pass | Needs attention | Blocked
Setup: ...
Configuration: ...
Verification: ...
Adapters: ...
Context: ...
Visibility: ...
Plans: ...
Workflow: ...
Git: ...
Watch: ...
Repair order: ...
Use Watch: only when there are warnings. Use Repair order: for the exact next
steps, in order. Keep it short and practical.
Choose the repair order in this priority:
- Required Blueprint files missing -> overlay the Blueprint again, or use
/adoptfor a brownfield app. - Invalid
blueprint/config.json-> fix the named key or value, then rerun/doctor. Do not mutate project work while configuration is ambiguous. - No git repo -> initialize git before using the build loop.
- No tool adapter -> restore
.agents/skills/or.claude/skills/for the selected tool. OpenCode can use either compatible tree. - Installed adapter is missing
doctor/scripts/run-state.mjs-> update Blueprint before relying on dashboard activity. - Claude uses legacy direct context imports -> remove the exact direct imports
for
project-overview.md,current-feature.md,coding-standards.md, andai-interaction.mdthat are present inCLAUDE.md, then rerun/doctor. The files stay in the project and workflow skills still read them on demand. - Onboarding incomplete -> run
/onboard. - Proportional-engineering guidance missing or incomplete -> review the current
Blueprint template's
AGENTS.mdProportional engineering section and manually merge only the missing guidance into the project'sAGENTS.md. Preserve existing project rules and equivalent customized wording. In local-only mode, keepAGENTS.mdpublic-safe without adding hidden workflow paths or skill lists. Doctor must not edit or replaceAGENTS.md. - Root README is still the Blueprint workflow doc -> run
/onboardto replace it with a project README before publishing. - Local-only visibility selected but ignored Blueprint files are missing -> reinstall or restore the Blueprint files locally.
- Local-only visibility selected but Blueprint paths are tracked -> ask whether
to untrack them with
git rm --cachedwhile keeping local files. - Local-only visibility selected but
AGENTS.mdstill exposes the workflow -> run/onboardto makeAGENTS.mda lightweight public project guide. - A documented
Verifycommand, project script, and GitHub workflow disagree -> run/cito review and align them. Missing optional CI alone does not need repair. - Commands or ignore rules need review -> update the files or run
/onboardif this is an early project. - Plans are placeholders -> fill
blueprint/project-plan.mdandblueprint/build-plan.md. - Overview missing or stale -> run
/overview. - Malformed regular
blueprint/.state/run.json-> offer to reset that exact generated file, then rerun/doctoror refresh the dashboard. - Active spec has unchecked steps -> run
/statusor/implement, depending on whether the user wants orientation or action. - A P0 or P1 finding is
open-> repair it through/implementwhile a spec is active, or/fix <finding id>between work items. One that isfixed->/auditto re-review and close it. Both come before suggesting/complete. - Active spec is done but not closed -> run
/check, then/complete. - Everything is healthy -> say so, then suggest
/statusfor progress or/featurefor the next planned feature.
Rules
- Diagnostic by default. This skill never edits project files, commits, runs
installs, runs builds or tests, or switches branches. It may remove only a
malformed regular
blueprint/.state/run.jsonthrough the installed helper after the user approves the exact reset described above. - Diagnose, then order repairs. Do not just list problems. End with the smallest ordered sequence that gets the project back to a healthy state.
- Do not over-police adapters. Extra adapters are optional clutter, not a failure.
- Be conservative with stack-specific checks. If a command or ignore pattern is uncertain, mark it for review instead of inventing a hard failure.
- Stay concise. A doctor pass should feel like a checklist, not an audit.
Formatting
Format the output to match the project's conventions in
blueprint/context/ai-interaction.md: concise, scannable markdown, with lists for
enumerations and tables for matrices rather than dense paragraphs.
Signals
- GitHub stars
- 406
- Forks
- 102
- Last commit
- Sep 2026
ahel review
K6low
bundled executables the agent is told to run
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
doctor- Source
- github.com/aiblueprinthq/ai-blueprint