campaign-health
SkillDev toolsHealth check for the bb/pt/ctf workflow driver subsystem - verifies everything is in place so every machine runs the same. Checks vault-content consistency (scripts present, JSON valid, routing wired, all 69 tool pages carry phase:, the tool index resolves, the hook edits are in place) AND per-machine wiring (the three workflow skills symlinked, hooks registered, imports work), then runs a live init->board->next smoke test. Use when setting up the workflow on a new machine, after a vault sync, when the driver misbehaves, or on "bb-health", "campaign health", "is the workflow set up", "check hooks and scripts", "why is the board not working".
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 campaign-health skill
What this skill tells your AI
The instructions your AI receives, as published by encod3d-sec/torch in skills/workflow/campaign-health/SKILL.md and read by ahel’s review.
The vault syncs across machines; ~/.claude (hook registration, skill symlinks, deps) does not.
So "it works here" does not mean "it works there". This skill confirms both halves before you rely on
bb-workflow / pt-workflow / ctf-workflow on this machine.
Run it
python3 scripts/campaign-doctor.py # summary (only WARN/FAIL shown)
python3 scripts/campaign-doctor.py --verbose # every check
Exit 0 = all green. Exit 1 = at least one FAIL; the driver will not run correctly here until fixed.
What it checks
- A. vault content - the driver's scripts exist, every campaign JSON is valid, each type's
approachexists inplaybook.jsonandcoverage-classes.json, the two hook edits (recon-capture emitsspec['tools'], tool-telemetry logs binaries) are present, all 69wiki/tools/pages carryphase:, andcampaign.tool_index()resolves an invocation for every tool. - B. machine wiring - the three workflow skills are authored and symlinked into
~/.claude/skills, hooks are registered (viacheck-hooks.py), and_engagementimports. - C. live smoke test -
init -> board -> nextagainst a throwaway copy of the fixture, asserting the board writes rows andnextwithholds the exploit at G1.
Fixing what it reports
- WARN (machine wiring) - usually one setup script the doctor names:
bash setup/install-skills.sh(skills) orbash setup/install-hooks.sh(hooks). - FAIL (vault content) - a stale sync or a partial edit. Re-pull the vault; if a tool page lost
its
phase:, re-runpython3 scripts/tool-phase-backfill.py --write.
Run this first on any new machine, and after every vault sync, so all machines run the same driver.
Signals
- GitHub stars
- 322
- Forks
- 44
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
campaign-health- Source
- github.com/encod3d-sec/torch