Stack doctor
One command to make any repo token-efficient for Claude Code & Cursor. Built-in code map, output compression, skills & hooks, savings measured with ccusage.
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.
One thing 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.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
1.3 KB, 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).