Stack doctor
Lint the agent-stack setup — CLAUDE.md token budget (≤800), each SKILL.md description (≤1024 chars) and body (≤500 lines), hook conflicts in settings.json, frontmatter validity, and adapter availability. Use when something feels off, before committing config changes, or to confirm a healthy setup. Wraps `agent-stack doctor`; exit code 1 means there are issues to fix.From its SKILL.md
npx -y skills add drmahdikazempour/agent-stack --skill stack-doctorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 4 commands, including `npx @drmahdikazempour/agent-stack doctor` and 3 more.
SKILL.md
1.3 KB, 247 tokens by cl100k_base, as published. Nobody here has run it
stack-doctor
Lint the optimization layer and report problems with exact files and limits.
Checks performed
CLAUDE.md≤ 800 tokens (startup-load budget).- Each
SKILL.mddescription ≤ 1024 chars (Agent Skills hard limit). - Each
SKILL.mdbody ≤ 500 lines. - Combined skill metadata ≤ 500 tokens.
- Zero hook conflicts in
.claude/settings.json. - Valid frontmatter (
name+description) on every skill. - Every adapter binary callable, or clearly flagged as config-only.
What to do
- Run
npx @drmahdikazempour/agent-stack doctor. - If it exits non-zero, surface each failure with the file and the limit it broke.
- For auto-fixable issues (e.g. CLAUDE.md over budget), offer
npx @drmahdikazempour/agent-stack optimize. - For hook conflicts, never hand-edit
settings.json— re-runinit/profile useso the merger reconciles them.
--skills-only lints just the SKILL.md files (used in CI).
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.