Pack Guard
Runtime check to ensure required skill packs are enabled before executing commands.
Runtime check that verifies required skill packs are enabled before a command runs.
When invoked
Any command whose frontmatter declares requires: with one or more optional packs.
Protocol
-
Read
.dog/config.jsonfrom the dog_stack plugin root- If file does not exist: assume all packs are enabled (backwards compatible with pre-onboarding installs)
- If file exists but malformed: warn and assume all packs are enabled
-
For each pack listed in the command's
requires:field:- Check
packs[packName].enabled === true - If disabled: STOP immediately and output this message:
- Check
This command requires the '<pack-name>' pack, which is not enabled.
Enable it now:
/dog:onboard --enable <pack-name>
Or reconfigure all packs:
/dog:onboard
Currently enabled packs: <list>
- If all required packs are enabled: proceed with the command normally (no output from pack-guard)
Behavior
- Never blocks core commands — core pack is always locked enabled
- Backwards compatible — missing config.json → all packs considered enabled
- Actionable errors — every block message includes the exact command to fix it
- Fast — single file read, no network, no subprocess