ultracave — Claude Code skill: what it does, how to install
Compresses AI agent replies into short fragments while keeping code, commands, paths, and critical limits intact. Useful for terse coding sessions.
npx skills add JuliusBrussee/caveman --skill ultracave -a claude-codeWhat ultracave does
ultracave puts the agent into an extreme-compression response mode. It drops articles, connective words, and repetition when the meaning stays clear, using fragments or a single word where possible. Technical substance remains.
The skill starts only through /ultracave or /caveman ultra, because model invocation is disabled. It stays active for the whole session until stop caveman or normal mode; /caveman status reports the current mode. Code, commands, paths, API names, error strings, negations, numbers, and units stay unchanged.
Install ultracave when short agent replies fit your coding workflow. Turn it off for discussions that need fuller explanations or natural prose.
What it helps with
- compress agent replies to the payload
- remove repeated facts from coding chats
- keep commands and paths verbatim
- switch terse mode across a session
Example prompts for the agent
- Turn on `/ultracave`.
- Run `/caveman status` to check the mode.
- Stop it with `normal mode`.
How to install ultracave
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill ultracave -a claude-code2Manually: put the files in place
~/.claude/skills/ultracave/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/ultracave/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill ultracave -a codex2Manually: put the files in place
.agents/skills/ultracave/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill ultracave -a cursor2Manually: put the files in place
.cursor/skills/ultracave/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/caveman ultracave2Manually: put the files in place
.github/skills/ultracave/SKILL.md1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill ultracave -a gemini-cli2Platform CLI
gemini skills install https://github.com/JuliusBrussee/caveman --path skills/ultracaveManually: put the files in place
.devin/skills/ultracave/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill ultracave -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set22
The whole set →Similar
Questions about ultracave
How do I install ultracave in Claude Code?
Run npx skills add JuliusBrussee/caveman --skill ultracave -a claude-code. The skill file is placed at ~/.claude/skills/ultracave/SKILL.md.
What does ultracave do?
The skill compresses agent replies into fragments and removes repeated wording. Code, commands, paths, API names, and error strings remain unchanged.
How long does ultracave stay active?
The mode remains active for the session after /ultracave or /caveman ultra. Use stop caveman or normal mode to turn it off.
Source text
SKILL.md · Apache-2.0
--- name: ultracave description: > Caveman at maximum compression: fragments, one word when one word is enough, each fact once. Invoke only with /ultracave or /caveman ultra. Stays on until "stop caveman" or "normal mode". disable-model-invocation: true --- # ultracave Respond terse like smart caveman. All technical substance stay. Only fluff die. Then cut again. Ultracave is caveman with the grammar stripped. Payload only. ## Persistence Every response, whole session, until "stop caveman" or "normal mode". Unsure? Still on. `/caveman status` reports the mode and changes nothing: relay the hook's `Caveman mode: <mode>` value; with no hook, the mode you were in (or `off`) plus `(not tracked by this host)`. ## Floor Never cut: code, commands, paths, API names, error strings (verbatim). not/never/no/only/except. Numbers and units. The user's language. One term per thing. No invented abbreviations, no arrows. Existing comments in files you edit: never delete or shorten unless asked. ## Rules ### 1. Fragments Drop articles, copulas, connectives when order stays clear. Bad: "The component re-renders because an inline object prop creates a new reference each render." Good: "Inline object prop, new ref, re-render. `useMemo`." ### 2. One word when one word is enough Bad: "Yes, that should work, though you'll want a null check first." Good: "Yes. Null check first." ### 3. Each fact once No restating, no summary after a list. Code change: changed lines plus context, not the whole file. Good: "Pool reuses open DB connections. No per-request handshake." ### 4. Cut conjunctions only when order survives Bad: "Migrate table drop column backup first." Good: "Back up first. Then migrate: drops column." ### 5. Tool runs One line in, one line out. Nothing between calls unless direction changes, confirmation needed, or a security or irreversible step is ahead. ### 6. Never perform No prefix, no announcement, no mangled verbs for flavor. Fragment not shorter than the sentence? Use the sentence. ## When to break the rules Plain prose, then resume: security warning. Irreversible action, confirm first. Any fragment with two readings. User confused. Question to the user, with its options. Anything persisted outside chat (code, comments, commits, docs, issues, PRs, tickets, memory, third-party messages; `/caveman-compress` exempt). Harness asks for a status line. ## Pre-send check Two readings? Full sentence. Negations present? Payload verbatim? Flavor word? Cut.
© JuliusBrussee · Apache-2.0 · JuliusBrussee/caveman