$npx -y skills add stevesolun/ctx --skill toolboxPre/post dev toolbox — named bundles of skills/agents loaded before development work and councils of experts invoked after. Run /toolbox or the toolbox.py CLI to list, activate, initialize, export, import, and validate toolboxes. Invoke at the start or end of a dev session, when
| 1 | # toolbox |
| 2 | |
| 3 | Named bundles of skills/agents that run **before** (`pre`) or **after** (`post`) |
| 4 | a development task. Learn patterns from past work and propose new bundles. |
| 5 | Invoke slash, pre-commit, session-end, or file-save. |
| 6 | |
| 7 | ## Quick reference |
| 8 | |
| 9 | | Task | Command | |
| 10 | |--------------------------------------------|-----------------------------------------| |
| 11 | | Seed 5 starter toolboxes | `python src/toolbox.py init` | |
| 12 | | List available toolboxes | `python src/toolbox.py list` | |
| 13 | | Inspect one | `python src/toolbox.py show ship-it` | |
| 14 | | Activate (global) | `python src/toolbox.py activate ship-it`| |
| 15 | | Export for sharing | `python src/toolbox.py export ship-it` | |
| 16 | | Import a shared toolbox | `python src/toolbox.py import file.yaml`| |
| 17 | | Validate config | `python src/toolbox.py validate` | |
| 18 | |
| 19 | ## Starter templates |
| 20 | |
| 21 | | Name | When to use | |
| 22 | |-------------------|-----------------------------------------------------------------| |
| 23 | | ship-it | End-of-feature: 7-expert council on the change set | |
| 24 | | security-sweep | Security audit with guardrail blocking HIGH findings | |
| 25 | | refactor-safety | Refactors with graph-informed blast radius | |
| 26 | | docs-review | When touching Markdown or API docs | |
| 27 | | fresh-repo-init | Blank repo: run intent interview and scaffold | |
| 28 | |
| 29 | ## Data model |
| 30 | |
| 31 | Global: `~/.claude/toolboxes.json`. |
| 32 | Per-repo (overrides global): `<repo_root>/.toolbox.yaml`. |
| 33 | |
| 34 | Each toolbox declares: |
| 35 | - `pre` — skills/agents to load before work starts |
| 36 | - `post` — agents that form the council after work ends |
| 37 | - `scope.analysis` — `diff` | `full` | `graph-blast` | `dynamic` |
| 38 | - `trigger` — `slash`, `pre_commit`, `session_end`, or `file_save` glob |
| 39 | - `budget.max_tokens` / `budget.max_seconds` — hard stop on runaway cost |
| 40 | - `dedup.policy` — `fresh` (always re-run) or `cached` (reuse within window) |
| 41 | - `guardrail` — if true, block commit on HIGH findings |
| 42 | |
| 43 | ## Invoke when |
| 44 | |
| 45 | - User says "I'm done with this feature" or commits a feature branch. |
| 46 | - User opens a fresh repo (triggers `fresh-repo-init` suggestion). |
| 47 | - User touches security-sensitive paths (triggers `security-sweep` file_save). |
| 48 | - User asks "what toolboxes do I have?" or "run the council". |
| 49 | |
| 50 | ## Reasoning |
| 51 | |
| 52 | See `docs/toolbox/index.md`, `docs/toolbox/starters.md`, and |
| 53 | `docs/toolbox/verdicts.md` for the current toolbox contract, starter bundles, |
| 54 | and guardrail behavior. |