From cave-teams
Run different agents depending on a condition (guarded choice / router). Use for 'if X do this else that', routing, triage, picking a path by the state. `choice()` / `router()`.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cave-teams:cave-branchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run the first route whose guard predicate over the context is true, else the default. Guards are plain predicates `Callable[[ctx], bool]` — the open, Turing-complete branch.
Run the first route whose guard predicate over the context is true, else the default. Guards are plain predicates Callable[[ctx], bool] — the open, Turing-complete branch.
from cave_teams import choice
routed = choice([(is_code, coder), (is_doc, writer)], default=triage)
# guards are predicates over the context dict: is_code = lambda ctx: ctx["kind"] == "code"
{"op": "choice",
"routes": [{"if_key": "kind", "equals": "code", "link": <spec>}],
"default": <spec>}
// data guards: {"if_key","equals"} or {"if_contains":{"key","text"}}
If the spec is malformed, cave() returns {"status": "construction_error", "hint": "read the cave-branch skill"} — the error names this skill.
cave-conditions · cave-dag · cave-teams
Part of the cave-teams plugin — the language + full DSL is the cave-teams skill; drive any pattern from data with the cave skill.
npx claudepluginhub sancovp/cave-teams --plugin cave-teamsGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.