cad-health

cad-health is a skill for Claude Code from crenshawdev/cadence. It costs 41 tokens per session (2,199 once invoked), scanned A, original, MIT.

A health check for a project's .planning folder and its core planning documents.

In plain words
What is it for?
Use it to check PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md, and the planning trace record.
Why use it?
It finds missing or inconsistent project records and checks whether the planning run log is being ignored and kept out of version control.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: names the AskUserQuestion tool.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the cadence plugin — 34 skills, 30 agents, 3 hooks shipped together

Good fit Use it to check PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md, and the planning trace record.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add crenshawdev/cadence
Claude Code
/plugin install cadence

Made for: Claude Code.

Or install cadence, the plugin that ships this one along with the rest of its 34 skills, 30 agents, 3 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cad-health

README.md
[![agentmods](https://agentmods.dev/badge/skills/crenshawdev/cadence/cad-health/github.svg)](https://agentmods.dev/skills/crenshawdev/cadence/cad-health)
Your own site
<a href="https://agentmods.dev/skills/crenshawdev/cadence/cad-health"><img src="https://agentmods.dev/badge/skills/crenshawdev/cadence/cad-health/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cad-health

Your own site · 80×15
<a href="https://agentmods.dev/skills/crenshawdev/cadence/cad-health"><img src="https://agentmods.dev/badge/skills/crenshawdev/cadence/cad-health.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 41 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,199 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00041 $0.02199
Opus 5 $0.00020 $0.01099
Sonnet 5 $0.00008 $0.00440
Haiku 4.5 $0.00004 $0.00220

Measured 10d ago against content hash 2e78d7950171, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

cad-health scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/cad-health/SKILL.md · 149 lines

How it starts

The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.

  1. Presence. .planning/ exists with PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md. A missing core doc is an issue (if the dir itself is absent, point at /cad-new-project for a blank page and /cad-adopt for a repo that already has code and history).

    • The run record stays out of git. Run node "${CLAUDE_PLUGIN_ROOT}/cadence-core/bin/planning.mjs" trace ignore --root . --check and report an issue when ignored is false or tracked is true. Silent when the record is ignored and untracked. A project scaffolded before that seam existed has no line of its own; --check writes nothing and this step never edits the user's .gitignore. The two flags are separate facts and take DIFFERENT remedies, so name the one that applies rather than one command for both: ignored:false is a missing rule, fixed by the same command without --check; tracked:true means the record is in the index ALREADY, where no ignore rule reaches it, and the fix is git rm --cached .planning/trace.jsonl. Both can be true at once, and then both steps are needed - adding the rule alone leaves a tracked file that keeps getting committed.
    • The capture queue, in two calls - a census of the file's sections, and a verdict on the walked queue itself: node "${CLAUDE_PLUGIN_ROOT}/cadence-core/bin/planning.mjs" capture-sections node "${CLAUDE_PLUGIN_ROOT}/cadence-core/bin/planning.mjs" capture-check From capture-sections, print one line per section whose in_walk is false, naming its heading and its bullet count, then what the number MEANS in one clause: those bullets are invisible to /cad-plan's recall. Silent when exists is false or every section is in the walk. It is a NAMED NOTE, not an issue, the way step 7's manifest clause is a distinct lower note: ## Debt markers is written wholesale by debt-harvest and is not a queue, so calling every out-of-walk section an issue trains the user to skim past exactly the line this is here to make readable. What is worth their attention is a count that MOVED, which they can only see because the steady-state number is printed too. From capture-check, print three things, and these ARE issues. .planning/CAPTURE.md holds the phase in flight and nothing else, so each one says that stopped being true:
      • substantive against bound, naming the crossing when over_bound is true. A crossed bound means a filing path stopped filing - the queue is carrying work that belongs on the tracker.
      • every annotations[] entry with its section, line and text. An annotation is an item adjudicated the WRONG WAY: an item is resolved by REMOVAL, so re-verifying one in place made the bullet longer instead of making it leave.
      • archive.heading with archive.bullets when archive.present is true. That heading has LEFT this file's contract - moving settled items to a section of the same document changes nothing about the bytes. Print both readings EVERY run, never filtered against a list of sections or items you expect. That allowlist is precisely what would have hidden the incident this check exists for - all five lost bullets sat under ## Archive, the section any allowlist would have named first.
  2. STATE cursor. Exactly the 4-line schema (Phase / Status / Next / Updated - references/conventions.md). Status is one of the lifecycle values (ready to plan | context gathered | planned | executed | phase complete | paused). Phase: N of M parses with N <= M (except in the closed-milestone case rule 5 states). Updated is a date. Flag a 5th line, an unknown status, or an unparseable phase.

Read the full file on GitHub · 149 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 149 lines · 41 tokens per session scan A 2e78d7950171

Subscribe to this mod's changes

cad-health is a skill published in the GitHub repository crenshawdev/cadence (5 stars, last pushed today), licensed MIT. It adds 41 tokens to every session and 2,199 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

branch-and-worktree-workflow

Isolates feature work in its own branch or worktree and integrates it cleanly when done. Use this when starting work that should not disturb the current workspace, when several efforts must proceed in parallel on one repository, or when implementation is finished and the change needs merging, rebasing, or splitting…

cbrock84/headcount · 70 tokens

loop-on-ci

Monitor PR checks and fix failures until green. Uses gh pr checks as the source of truth for PR-attached checks.

Kripu77/software-factory · 28 tokens

git-operations

Git command patterns, branching strategy, and safety protocols. TRIGGER when: managing branches, resolving merge conflicts, or running commit/merge/push operations. SKIP: worktree lifecycle and isolation recovery (use worktree-management); CI automation (use github-actions-template).

komluk/scaffolding · 58 tokens

dockerized-service-release-deployment-workflow

Create a Dockerized-service release contract with clean GitHub Actions builds, main-anchored tags, immutable digest manifests, published-release deployments, production approval, health checks, and exact-digest rollback.

gaelic-ghost/socket · 49 tokens

coordinate-worktrees-and-threads

Assign worktree, branch, write, validation, integration, and cleanup ownership before parallel repository work. Use when a worker will inspect or modify repository state outside the coordinator's worktree.

gaelic-ghost/socket · 44 tokens

agile-ledger-workspace

Optional multi-repo orchestrator for Agile-Ledger. Install once at a workspace root to manage many repositories at once: discover new repositories on a GitHub org (including ones nobody told you about), clone and bootstrap them, run a single cross-repo "what changed while I was away" sync, and reconstruct undocumented…

nunoamorim99/agile-ledger · 179 tokens