Skip to content
Back to skills

Caveman

ASecurity

Caveman encoding for SPEC.md and spec-adjacent writes. Loaded by /spec, /build, /check. Cuts tokens ~75% vs prose while staying precise. Triggers on any write to SPEC.md or when user says "caveman", "compress this", "be brief".

  • 1,141 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 6, 2026
developmentgosqlgitapi

Works with

  • api

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add JuliusBrussee/cavekit --skill caveman --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Caveman?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Caveman
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/juliusbrussee-caveman-cavekit/badge)](https://www.skillsdirectory.com/skills/juliusbrussee-caveman-cavekit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: caveman
description: |
  Caveman encoding for SPEC.md and spec-adjacent writes. Loaded by /spec, /build,
  /check. Cuts tokens ~75% vs prose while staying precise. Triggers on any write
  to SPEC.md or when user says "caveman", "compress this", "be brief".
---

# caveman — spec encoding

Applies to SPEC.md writes, spec-referencing prose, backprop entries.
Does NOT apply to code, error strings, commit messages, PR descriptions.

## GRAMMAR

- Drop articles (a, an, the).
- Drop filler (just, really, basically, simply, actually).
- Drop aux verbs where fragment works (is, are, was, were, being).
- Drop pleasantries.
- No hedging (skip "might", "perhaps", "could be worth").
- Fragments fine.
- Short synonyms: fix > implement, big > extensive, run > execute.

## SYMBOLS

Prefer over words:

```
→   leads to / becomes / on <x>
∴   therefore / fix
∀   for all / every
∃   exists / some
!   must / required
?   may / optional / unknown
⊥   never / forbidden / nil
≠   not equal
∈   in
∉   not in
≤   at most
≥   at least
&   and
|   or
§   section reference
```

## PRESERVE VERBATIM

Never compress:

- Code blocks, snippets, one-liners with backticks.
- Paths: `src/auth/mw.go`.
- URLs.
- Identifiers: function names, variable names, env vars.
- Numbers and versions.
- Error message strings.
- SQL, regex, JSON, YAML.
- Quoted strings.

## SHAPES

**Invariant**:
```
V<n>: <subject> <relation> <condition>
V1: ∀ req → auth check before handler
V2: token expiry ≤ current_time → reject
```

**Bug row** (pipe table under §B):
```
id|date|cause|fix
B1|2026-04-20|token `<` not `≤`|V2
```

**Task row** (pipe table under §T):
```
id|status|task|cites
T3|x|add auth mw|V1,I.api
```
Status: `x` done, `~` wip, `.` todo. Escape literal `|` as `\|`.

**Interface**:
```
<kind>: <name> → <shape>
api: POST /x → 200 {id:string}
cmd: `foo bar <arg>` → stdout JSON
env: FOO_KEY ! set
```

## EXAMPLES

**Bad**:
> The system should ensure that every incoming request is properly authenticated before being forwarded to its corresponding handler function.

**Good**:
> V1: ∀ req → auth check before handler

**Bad**:
> We discovered that the token expiration check in the middleware was using a strict less-than comparison operator, which meant tokens were being rejected at the exact moment of their expiry.

**Good**:
> B1: token `<` not `≤` → reject @ expiry boundary.

**Bad**:
> The POST endpoint at /x accepts a JSON body and returns a 200 response with an object containing the created id.

**Good**:
> api: POST /x → 200 {id}

## BOUNDARIES

- User asks for prose explanation → switch to normal English.
- Spec documents for external review (RFC, pitch) → normal English.
- Commit message → normal English (git readers expect it).
- Diff comment in code → normal English.

## WHEN UNSURE

If cutting a word loses a fact, keep it. Caveman is compression, not amputation.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…