caveman-manage — Claude Code skill: Caveman experiment control
The skill reads an experiment's state and results in Caveman Cloud, weighs the evidence, then reports one recommendation or blocks the action.
npx skills add JuliusBrussee/caveman --skill caveman-manage -a claude-codeWhat caveman-manage does
It inspects a Caveman Cloud experiment and reports back: current lifecycle state, sample sizes on control and candidate, quality, and whatever guardrails are configured. Any lifecycle change counts as a production control action, so the skill itself only reads.
Under the hood it goes through MCP first: caveman_context, then caveman_experiment_get with get or results, and list when no id was named. Without MCP you fall back to caveman cloud experiments list, show , results . It then checks latency, error, cost and retry guardrails, evidence cost, and the rollback reason. A missing required field is not a pass, so it prints evidence incomplete and proposes nothing.
You need to be logged into Caveman with access to the project. The agent never supplies an organization id; scope comes from your identity and server RBAC. Rollback often answers cave_not_implemented on current deployments, and that response is not a rollback. Experiment lift never turns into verified_savings without the signed ledger. Install it if you review experiments in Caveman Cloud; otherwise there is nothing here for you.
What it helps with
- review experiment results before an approval decision
- catch a run whose error guardrail is breached
- explain why an experiment is on hold
- cancel an experiment nobody wants anymore
- keep experiment lift apart from confirmed savings
Example prompts for the agent
- look at experiment 7f3a and tell me if it can be approved
- what do the results for the new candidate show
- check the evidence and give me the rollback reason
How to install caveman-manage
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-manage -a claude-code2Manually: put the files in place
~/.claude/skills/caveman-manage/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/caveman-manage/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-manage -a codex2Manually: put the files in place
.agents/skills/caveman-manage/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-manage -a cursor2Manually: put the files in place
.cursor/skills/caveman-manage/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/caveman caveman-manage2Manually: put the files in place
.github/skills/caveman-manage/SKILL.md1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-manage -a gemini-cli2Platform CLI
gemini skills install https://github.com/JuliusBrussee/caveman --path skills/caveman-manageManually: put the files in place
.devin/skills/caveman-manage/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-manage -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set22
The whole set →Similar
Questions about caveman-manage
How do I install caveman-manage in Claude Code?
Run npx skills add JuliusBrussee/caveman --skill caveman-manage -a claude-code. The skill lands in ~/.claude/skills/caveman-manage/SKILL.md.
What does caveman-manage do?
It reads Caveman Cloud experiment state and results, checks samples, quality and guardrails, then reports a single recommendation or declines. It performs no lifecycle change.
Why won't the skill approve an experiment itself?
control-api does not yet enforce the full transition table and evidence gate atomically, so the MCP and CLI surfaces stay read-only. A string like : is agent-generatable and proves nothing about human intent.
Source text
SKILL.md · Apache-2.0
---
name: caveman-manage
description: >
Inspect Caveman Cloud's experiment lifecycle and block unsafe execution. Use
when asked to start, approve, cancel, promote or roll back a Caveman
experiment.
---
# Manage eval-gated experiments
Treat every lifecycle change as a production control action. Read current state
and results, then report one supported recommendation or block.
Current agent MCP is intentionally read-only: control-api does not yet enforce a
complete lifecycle transition table and evidence gate atomically.
## Non-negotiable gates
1. A request to review, inspect, explain, or recommend authorizes reads only.
2. Never approve an experiment whose results are pending, whose required
guardrails are absent, or whose evidence reports a breach.
3. Never convert experiment lift into `verified_savings`. Only active real
traffic plus provider-causal, provider-complete ledger evidence can do that.
4. Never supply an organization id. Project and tenant scope come from the
logged-in Caveman identity and server RBAC.
5. Never execute a lifecycle mutation, even after user approval. Exact
`<action>:<experiment_id>` strings are agent-generatable and are not proof of
human intent.
6. Unknown states and server errors fail closed. Report exact
`cave_snake_code`.
## Step 1 — Load project and experiment
Prefer MCP:
```text
caveman_context {}
caveman_experiment_get {"action":"get","experiment_id":"<id>"}
caveman_experiment_get {"action":"results","experiment_id":"<id>"}
```
Use `{"action":"list"}` when the user has not named an id.
CLI fallback:
```bash
caveman cloud experiments list
caveman cloud experiments show <id>
caveman cloud experiments results <id>
```
Stop if login, project, experiment, or results are unavailable.
## Step 2 — Evaluate evidence
Report:
- current lifecycle state and safety class;
- control and candidate sample sizes;
- quality or eval result;
- latency, error, cost, retry, drop, and escalation guardrails when present;
- evidence cost;
- rollback or hold reason;
- whether result is pending, failed, promotable, or active.
Absence is not a pass. If a required field is absent, state
`evidence incomplete` and do not propose approval.
## Step 3 — Propose one action
Allowed actions:
- `start` — only from a startable draft or queued state with configured graders;
- `approve` — only with complete passing evidence and a safety class the
current role may approve;
- `cancel` — stop a non-active experiment the user no longer wants;
- `rollback` — revert an active or harmful change through the server's linked
policy path. Current deployments may reject this honestly with
`cave_not_implemented`; never describe that response as a rollback.
Show recommendation and id:
```text
Proposed action: approve experiment 7f...
Reason: candidate passed quality and every configured guardrail.
Execution: blocked until server-authoritative lifecycle and evidence gates ship.
```
Do not treat earlier generic statements such as "manage it" or "do what is best"
as mutation approval.
## Step 4 — Block unsafe execution
Do not emit or run an executable lifecycle command. Explain that current server
does not yet enforce every evidence/state transition atomically. CLI and MCP
agent surfaces therefore expose experiment reads only.
## Step 5 — Re-read after external operator action
If operator says they executed command, read detail and results again. Report
server-observed post-state, audit or result response, and any policy-delivery
status returned. Never infer success from operator intent alone.
Use this close:
```text
Action: <action> <experiment-id>
Before: <state>
Server response: <status and cave_snake_code if any>
After: <re-read state>
Basis: experiment evidence only. Verified savings unchanged unless the signed
ledger independently records active, provider-causal real-traffic savings.
```
© JuliusBrussee · Apache-2.0 · JuliusBrussee/caveman