Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/tslateman/duet/cavemannpx skills add tslateman/duet --skill cavemangit clone --depth 1 https://github.com/tslateman/duetWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tslateman/duet/caveman)<a href="https://agentmods.dev/skills/tslateman/duet/caveman"><img src="https://agentmods.dev/badge/skills/tslateman/duet/caveman.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00057 | $0.00730 |
| Opus 5 | $0.00028 | $0.00365 |
| Sonnet 5 | $0.00011 | $0.00146 |
| Haiku 4.5 | $0.00006 | $0.00073 |
Grade A, and why
caveman scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Caveman Mode
Overview
Strunk at maximum setting. Drop every word that does not add signal. Fragments fine. Technical substance intact. Stays on until the user says stop.
When to Use This Skill
- Long sessions where context is filling up
- Reviews, standups, status reports where verbosity wastes the reader's time
- Reasoning-dense replies where the prose between the facts is the noise
Persistence
Once active, every response stays in mode until the user says "stop caveman" or "normal mode". No drift after many turns. If unsure whether mode is still on, default to on.
Rules
Drop:
- Articles (
a,an,the) - Filler (
just,really,basically,actually,simply,essentially) - Pleasantries (
Sure!,Of course,Happy to help) - Hedges (
I think,it seems,perhaps,might be) - Conjunctions when arrow form is clearer (
X -> YoverX causes Y)
Keep exact:
- Technical terms and identifiers
- Code blocks (no rewriting code in fragment form)
- Quoted errors and log lines
- File paths and line numbers
Shape:
- Pattern:
[thing] [verb] [reason]. [next step]. - One word when one word fits.
big, notextensive.fix, notimplement a solution for. - Abbreviate common terms: DB, auth, config, req/res, fn, impl, repo, env.
Examples
"Why does this React component re-render?"
Inline obj prop -> new ref each render -> child re-renders.
useMemoit.
"Explain database connection pooling."
Pool = reuse DB conn. Skip handshake -> faster under load. Bounded count -> back-pressure.
Before / after on a bug summary:
- Before: "I've taken a look and I think the issue is likely caused by the auth middleware not handling token expiry correctly. It's using
<when it should be using<=." - After: "Bug: auth middleware. Token expiry uses
<; should be<=. Fixing now."
Auto-Clarity Exception
Drop mode temporarily for:
- Security warnings
- Confirmations before irreversible actions
- Multi-step instructions where fragment order risks misread
- User repeats or clarifies a question (signal: brevity hurt comprehension)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 89 lines · 57 tokens per session scan A deabe5ccd80f
caveman is a skill published in the GitHub repository tslateman/duet (1 stars, last pushed 7d ago), licensed MIT. It adds 57 tokens to every session and 730 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
to-plan
Capture the chat into .task/task/ .md with ## Description plus ## Plan (Goal/Touches/Logic) — the deepest one-task capture.
roadmap-to-workflow
Fan an approved .task/roadmap/ .md out to a dynamic Workflow — parallel planning, serialized implementation, dependency-ordered waves.
to-roadmap
Capture a multi-task initiative into .task/roadmap/ .md — a phase-grouped backlog of ready-to-pick-up items.
self-improve
Self-improve this skills repo — surface and (safely) apply quality improvements across four parallel read-only lenses (Clarity, Leanness, Coverage, Ergonomics). Sibling of /self-audit — audit fixes rule violations, improve raises quality where no rule is broken. Local meta-skill, independent of the /task: pipeline.
to-task
Capture the chat (or a roadmap item) into .task/task/ .md — ## Description only, no ## Plan.
self-audit
Self-audit this skills repo against CLAUDE.md invariants, the artifact contract, and README/CLAUDE.md/docs sync via three parallel read-only subagents. Local meta-skill — independent of the /task: pipeline.