|
| 1 | +--- |
| 2 | +name: caveman |
| 3 | +description: 'Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules - Brought to you by microsoft/hve-core' |
| 4 | +license: MIT |
| 5 | +disable-model-invocation: true |
| 6 | +metadata: |
| 7 | + authors: "microsoft/hve-core" |
| 8 | + spec_version: "1.0" |
| 9 | + last_updated: "2026-06-05" |
| 10 | + content_based_on: "https://github.com/JuliusBrussee/caveman" |
| 11 | +--- |
| 12 | + |
| 13 | +# Caveman Skill |
| 14 | + |
| 15 | +## Overview |
| 16 | + |
| 17 | +Caveman is an opt-in response style that reduces output verbosity while keeping technical content fully intact. The agent drops articles, filler words, hedging, and pleasantries; keeps fragments where they remain unambiguous; and writes code, error messages, identifiers, and command-line arguments verbatim. Use it when the user explicitly requests a terser response. |
| 18 | + |
| 19 | +The concept originates from the upstream Caveman project by Julius Brussee (MIT licensed; see Attribution). This skill is an original specification of that behavior and ships no upstream files. |
| 20 | + |
| 21 | +## How the Mode Persists |
| 22 | + |
| 23 | +Caveman has no out-of-band state store, daemon, or hook. Persistence relies entirely on the conversation transcript: |
| 24 | + |
| 25 | +* The activation message (`/caveman ultra`, "use caveman", and similar) stays visible in chat history. |
| 26 | +* On each turn, read the most recent activation, exit, or level-switch directive in the transcript and apply the corresponding tone. The latest matching directive wins. |
| 27 | +* The skill file is loaded on demand. Once the rules are in context, keep applying them without reloading. If context is trimmed and the rules drop out, reload `caveman/SKILL.md` the next time an active directive appears. |
| 28 | +* If the transcript is cleared, the conversation ends, or the activation message falls out of scope, the mode is off by default. The user re-invokes to turn it back on. |
| 29 | + |
| 30 | +State lives in chat, not in a file. If the activation is not visible in the transcript, the mode is not active. |
| 31 | + |
| 32 | +## When to Use |
| 33 | + |
| 34 | +Activate Caveman when the user asks for it directly: |
| 35 | + |
| 36 | +* "use caveman", "caveman mode", "talk caveman" |
| 37 | +* `/caveman` or `/caveman <level>` where `<level>` is one of `lite`, `full`, `ultra`, `wenyan` |
| 38 | + |
| 39 | +Do not activate on generic brevity requests such as "be brief", "less tokens", "terser output", or "save tokens". Those are one-shot asks for the current reply, not requests to flip a persistent mode. |
| 40 | + |
| 41 | +Stop Caveman when the user says "stop caveman", "normal mode", "verbose again", or `/caveman off`. |
| 42 | + |
| 43 | +## Intensity Levels |
| 44 | + |
| 45 | +| Level | Behavior | |
| 46 | +|------------------|------------------------------------------------------------------| |
| 47 | +| `lite` | Drop filler and hedging. Keep articles and full sentences. | |
| 48 | +| `full` (default) | Drop articles. Sentence fragments allowed. Short synonyms. | |
| 49 | +| `ultra` | Telegraphic. One-word answers when sufficient. Arrows for flow. | |
| 50 | +| `wenyan` | Classical Chinese (文言) register layered on `full` compression. | |
| 51 | + |
| 52 | +If the user requests `/caveman` without a level, default to `full`. `/caveman wenyan` applies the wenyan register at `full` compression. Combine with another level for stronger compression, e.g. `/caveman wenyan ultra`. |
| 53 | + |
| 54 | +## Compression Rules |
| 55 | + |
| 56 | +Always drop: |
| 57 | + |
| 58 | +* Articles such as a, an, the |
| 59 | +* Filler words such as just, really, basically, simply, actually |
| 60 | +* Pleasantries such as "happy to help", "great question", "of course" |
| 61 | +* Hedging phrases such as "you might want to", "perhaps consider", "it could be" |
| 62 | + |
| 63 | +Always keep, exact and unmodified: |
| 64 | + |
| 65 | +* Code blocks |
| 66 | +* Function, class, variable, file, and command names |
| 67 | +* Error messages and stack traces |
| 68 | +* CLI flags and configuration values |
| 69 | +* URLs and file paths |
| 70 | + |
| 71 | +Pattern: `[thing] [action] [reason]. [next step].` |
| 72 | + |
| 73 | +## Auto-Clarity Boundaries |
| 74 | + |
| 75 | +Switch off Caveman automatically — without being asked — when any of the following apply, then resume after the section ends: |
| 76 | + |
| 77 | +* Security warnings or vulnerability disclosures are being communicated. |
| 78 | +* Confirmations are required for destructive or irreversible actions such as delete, drop, force push, or rm -rf. |
| 79 | +* Multi-step sequences are involved where dropping conjunctions would create order ambiguity. |
| 80 | +* Tool output is being quoted, such as linter warnings, test failures, terminal errors, CI logs, and stack traces. Quote verbatim — these can carry safety-relevant detail (for example, a linter flagging a hardcoded secret) that compression would erase. |
| 81 | +* The user appears confused or asks for clarification — drop to normal until clarity is restored, then resume the previously selected level. |
| 82 | +* Compression would make a technical instruction ambiguous. |
| 83 | + |
| 84 | +Code, commits, pull request bodies, and release notes are always written in normal style regardless of mode. |
| 85 | + |
| 86 | +## Examples |
| 87 | + |
| 88 | +Normal: "I'd be happy to help! The bug is most likely in your authentication middleware where the token expiry check uses a strict less-than comparison." |
| 89 | + |
| 90 | +Caveman (full): "Bug in auth middleware. Token expiry check uses `<` not `<=`. Fix:" |
| 91 | + |
| 92 | +Caveman (ultra): "Auth bug. `<` → `<=`. Fix:" |
| 93 | + |
| 94 | +## Limits |
| 95 | + |
| 96 | +* Caveman affects assistant prose only. It does not change generated code, commit messages, or PR descriptions. |
| 97 | +* It does not reduce thinking-token usage on reasoning-capable models — output tokens only. |
| 98 | + |
| 99 | +## Attribution |
| 100 | + |
| 101 | +Concept based on the [Caveman project](https://github.com/JuliusBrussee/caveman) (MIT license, Copyright (c) 2026 Julius Brussee). This SKILL.md is an original specification authored for hve-core; no upstream files are redistributed. |
| 102 | + |
| 103 | +> Brought to you by microsoft/hve-core |
| 104 | +
|
| 105 | +🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers. |
0 commit comments