Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add JuliusBrussee/caveman --skill caveman-manage -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/caveman-manage/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/caveman-manage/

From the same set22

The whole set →
caveman JuliusBrussee Cuts filler and polite greetings from agent responses while keeping technical facts and code exact. Stays active until turned off. Claude Code CX Codex Cursor +1 591,500installs caveman-commit JuliusBrussee Generates terse Conventional Commits messages focused strictly on intent. Ideal for keeping git history clean without boilerplate or AI signatures. Claude Code CX Codex Cursor +1 414,700installs caveman-review JuliusBrussee Generates terse, single-line code review comments with exact line numbers, problems, and fixes. Eliminates conversational filler in pull request reviews. Claude Code CX Codex Cursor +1 410,700installs caveman-compress JuliusBrussee Rewrites CLAUDE.md and todo files into terse caveman-speak so the model reads fewer input tokens. The source gets overwritten; a readable backup stays out of tree. Claude Code CX Codex Cursor +1 410,300installs caveman-help JuliusBrussee A quick reference for Caveman modes and commands in Claude Code and other supported hosts. Use it when you need to control response style or find related skills. Claude Code CX Codex Cursor +1 401,800installs cavecrew JuliusBrussee cavecrew delegates code searches, small edits, and diff reviews to three subagents. Use it when keeping the main agent's context lean matters. Claude Code CX Codex Cursor +1 357,900installs caveman-stats JuliusBrussee Displays recorded output and cache-read tokens for Claude Code sessions or points to host native usage stats. Useful for tracking raw token consumption. Claude Code CX Codex Cursor +1 356,700installs caveman-explore JuliusBrussee A read-only skill locates relevant files and line ranges in a repository. Use it for cold-start orientation or broad searches. Claude Code CX Codex Cursor +1 106,500installs

Similar

code-review-and-quality addyosmani Five review axes and a limit on diff size, so an agent checks a change before merge instead of after. Claude Code CX Codex Cursor +1 72,500installs security-and-hardening addyosmani Guides threat modeling and security checks for code that handles user input, authentication, sessions, or external services. Use it when building a feature that accepts untrusted data or reviewing code before release. Claude Code CX Codex Cursor +1 69,400installs debugging-and-error-recovery addyosmani This skill guides an agent from reproducing a failure to checking the fix. Use it when tests fail, a build breaks, or runtime behavior differs from expectations. Claude Code CX Codex Cursor +1 62,200installs improve-codebase-architecture Matt Pocock This skill scans a codebase for architectural friction, then builds a visual HTML report with refactoring candidates. Use it before a deeper architecture review. Claude Code 1,163,035installs design-taste-frontend Leonxlnx This skill directs the design of public pages and work screens, then checks the result in a browser through screenshots. Use it when an interface feels generic or unfinished. Claude Code CX Codex Cursor +1 673,100installs tdd Matt Pocock Guides the red-green TDD loop: ensures tests are written first, keep them at public interfaces, and avoid coupling to implementation details. Claude Code 1,141,062installs skill-creator official anthropics Creates and refines skills, then tests them with prompts, evaluations, and performance checks. Claude Code Claude.ai 414,180installs agent-browser vercel-labs A CLI skill for browser control: it opens pages, fills forms, clicks buttons, and tests web apps. Use it when an agent needs to act inside a website. Claude Code CX Codex Cursor +1 1,200,000installs

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

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor