/toolbox
Pre/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
$ npx -y skills add stevesolun/ctx --skill toolbox --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/toolbox
Context preview
The summary Claude sees to decide when to auto-load this skill.
Pre/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
SKILL.md
toolbox.SKILL.mdname: toolbox
description: Pre/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 setting up a new repo, or when sharing toolboxes with a team.
type: feature
priority: 50
always_load: false
toolbox
Named bundles of skills/agents that run **before** (`pre`) or **after** (`post`) a development task. Learn patterns from past work and propose new bundles. Invoke slash, pre-commit, session-end, or file-save.
Quick reference
| Task | Command | |--------------------------------------------|-----------------------------------------| | Seed 5 starter toolboxes | `python src/toolbox.py init` | | List available toolboxes | `python src/toolbox.py list` | | Inspect one | `python src/toolbox.py show ship-it` | | Activate (global) | `python src/toolbox.py activate ship-it`| | Export for sharing | `python src/toolbox.py export ship-it` | | Import a shared toolbox | `python src/toolbox.py import file.yaml`| | Validate config | `python src/toolbox.py validate` |
Starter templates
| Name | When to use | |-------------------|-----------------------------------------------------------------| | ship-it | End-of-feature: 7-expert council on the change set | | security-sweep | Security audit with guardrail blocking HIGH findings | | refactor-safety | Refactors with graph-informed blast radius | | docs-review | When touching Markdown or API docs | | fresh-repo-init | Blank repo: run intent interview and scaffold |
Data model
Global: `~/.claude/toolboxes.json`. Per-repo (overrides global): `<repo_root>/.toolbox.yaml`.
Each toolbox declares:
- `pre` — skills/agents to load before work starts
- `post` — agents that form the council after work ends
- `scope.analysis` — `diff` | `full` | `graph-blast` | `dynamic`
- `trigger` — `slash`, `pre_commit`, `session_end`, or `file_save` glob
- `budget.max_tokens` / `budget.max_seconds` — hard stop on runaway cost
- `dedup.policy` — `fresh` (always re-run) or `cached` (reuse within window)
- `guardrail` — if true, block commit on HIGH findings
Invoke when
- User says "I'm done with this feature" or commits a feature branch.
- User opens a fresh repo (triggers `fresh-repo-init` suggestion).
- User touches security-sensitive paths (triggers `security-sweep` file_save).
- User asks "what toolboxes do I have?" or "run the council".
Reasoning
See `docs/toolbox/index.md`, `docs/toolbox/starters.md`, and `docs/toolbox/verdicts.md` for the current toolbox contract, starter bundles, and guardrail behavior.
Read more
name: toolbox description: Pre/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 setting up a new repo, or when sharing toolboxes with a team. type: feature priority: 50 always_load: false
toolbox
Named bundles of skills/agents that run **before** (`pre`) or **after** (`post`) a development task. Learn patterns from past work and propose new bundles. Invoke slash, pre-commit, session-end, or file-save.
Quick reference
| Task | Command | |--------------------------------------------|-----------------------------------------| | Seed 5 starter toolboxes | `python src/toolbox.py init` | | List available toolboxes | `python src/toolbox.py list` | | Inspect one | `python src/toolbox.py show ship-it` | | Activate (global) | `python src/toolbox.py activate ship-it`| | Export for sharing | `python src/toolbox.py export ship-it` | | Import a shared toolbox | `python src/toolbox.py import file.yaml`| | Validate config | `python src/toolbox.py validate` |
Starter templates
| Name | When to use | |-------------------|-----------------------------------------------------------------| | ship-it | End-of-feature: 7-expert council on the change set | | security-sweep | Security audit with guardrail blocking HIGH findings | | refactor-safety | Refactors with graph-informed blast radius | | docs-review | When touching Markdown or API docs | | fresh-repo-init | Blank repo: run intent interview and scaffold |
Data model
Global: `~/.claude/toolboxes.json`. Per-repo (overrides global): `<repo_root>/.toolbox.yaml`.
Each toolbox declares:
- `pre` — skills/agents to load before work starts
- `post` — agents that form the council after work ends
- `scope.analysis` — `diff` | `full` | `graph-blast` | `dynamic`
- `trigger` — `slash`, `pre_commit`, `session_end`, or `file_save` glob
- `budget.max_tokens` / `budget.max_seconds` — hard stop on runaway cost
- `dedup.policy` — `fresh` (always re-run) or `cached` (reuse within window)
- `guardrail` — if true, block commit on HIGH findings
Invoke when
- User says "I'm done with this feature" or commits a feature branch.
- User opens a fresh repo (triggers `fresh-repo-init` suggestion).
- User touches security-sensitive paths (triggers `security-sweep` file_save).
- User asks "what toolboxes do I have?" or "run the council".
Reasoning
See `docs/toolbox/index.md`, `docs/toolbox/starters.md`, and `docs/toolbox/verdicts.md` for the current toolbox contract, starter bundles, and guardrail behavior.
ctx is a Python CLI and library that recommends a small, relevant set of skills, agents, and MCP servers for a repository or task. It can use your organization's local/private knowledge or the shipped graph.
Repo: stevesolun/ctx
Other skills on stevesolun-ctx.
- /ctx-dispatch
Coordinate nontrivial work in the ctx repository when a task has independent investigation, implementation, or test lanes; compute-heavy checks; or repetitive changes suited to scripts or codemods. Use for decomposition and concurrency decisions, not simple edits or questions.
Open skill - /ctx-verify
Select proportional validation for changes or reviews in the ctx repository. Use before handing off material code, workflow, migration, documentation, security, packaging, or release changes; before a PR; or when asked whether a change is adequately tested. Do not use for pure
Open skill - /agents-md-protocol
Create or review an AGENTS.md file so coding agents get stable repo-local instructions: environment setup, testing, style, security boundaries, PR policy, and handoff rules. Use when a repo lacks durable agent guidance or when a custom harness needs a predictable context file.
Open skill - /cavecrew
Decision guide for delegating to caveman-style subagents. Tells the main thread WHEN to spawn `cavecrew-investigator` (locate code), `cavecrew-builder` (1-2 file edit), or `cavecrew-reviewer` (diff review) instead of doing the work inline or using vanilla `Explore`. Subagent
Open skill - /caveman-commit
Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit",
Open skill - /caveman-compress
Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md.
Open skill

