grow-harnesslisted
Install: claude install-skill duct-tape-and-markdown/temper
# Growing this harness
The harness is organized domain first, mechanism second. Its five domains —
conduct, orientation, standards, operations, governance — are declared as
requirements in `.temper/harness.ts`, and every member names the domain it
fills with a `satisfies` entry. Growth is additive: new knowledge joins an
existing domain; it never creates a parallel structure.
## The filing rule
Pick the domain, then the delivery tier, and the kind falls out:
- Needed **every session** (a fact, a always-true convention) — memory, or
a path-less rule when it would crowd the map.
- Needed **when touching certain files** — a rule with `paths`, or a
skill with `paths` when it is a procedure rather than a convention.
- Needed **on demand** (a playbook, reference material) — a skill.
- Must hold **every time, without asking** — a hook; an instruction is a
request, a hook is a guarantee.
## The triggers
Add a member when its trigger fires, not before (the harness's own vendor
documents this adoption order — code.claude.com/docs/en/features-overview,
retrieved 2026-07-15):
- The agent gets a convention or command wrong **twice** — a memory entry
or rule line (domain: standards, usually).
- The same playbook is pasted a **third** time — a skill (operations).
- Something must happen **every time** — a hook (governance).
## The one rule of authorship
A fact more than one surface states is authored once in
`.temper/facts.ts` and interpolated everywhere it is spoken. Never