Caveman

by juliusbrussee7421e87d5b51No license1.1K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 7 weeks ago

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".

AI-generated overview

Compresses SPEC.md and spec-adjacent writing into a terse symbol-based notation that cuts tokens while preserving facts.

What it does
Defines a compressed writing style for SPEC.md files and spec-referencing prose, using dropped articles and filler, short synonyms, and a fixed set of symbols. It specifies grammar rules, symbol meanings, verbatim-preserved content such as code, paths, URLs and identifiers, and fixed shapes for invariants, bug rows, task rows and interfaces. It also lists boundaries where normal English should be used instead.
When to use it
Use when writing or updating SPEC.md, spec-referencing prose or backprop entries and token economy matters. Also applies when the user asks to compress text, be brief, or invokes the caveman style.
Requirements
No scripts or tools; it is an instruction-only style guide. It needs no packages, credentials or network access.

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 handlerV2: token expiry ≤ current_time → reject

Bug row (pipe table under §B):

id|date|cause|fixB1|2026-04-20|token `<` not `≤`|V2

Task row (pipe table under §T):

id|status|task|citesT3|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 JSONenv: 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.

Source and attribution

Source:juliusbrussee/cavekitinskills/cavemanat commit7421e87

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal