output-styles/katharsis.md, katharsis-coding.md |
Output styles |
The classification table, the reference codes, the question form. One body, two frontmatters. |
styles/*.md |
Guidance files |
One per exchange type: cues, ceiling, shape, ambiguities, verification, examples. README.md holds the shared rules, and katharsis-style-template.md is the skeleton for a new one. |
styles/models/*.md |
Model notes |
One per model family, or per version where a version needs its own, attached by the prompt hook when the note changes and after a compaction. |
scripts/katharsis-exchange-style.sh |
Script |
Prints a type’s guidance file and stamps the type. The model runs it once per typed turn. |
hooks/register.ts |
Hooks module |
The prompt hook: the per-turn reminder, the inherited stamp on an untyped turn, the active-session marker, the session record, the answers to the last Questions round, the owed list after a compaction, the model note, the handoff chain link, and the next free code numbers. |
hooks/ledger.ts |
Hooks module |
Reads the ledger and the session records for the prompt hook, the drawer, and kref, so all three agree on what a code says and where numbering resumes. |
hooks/answers.ts |
Hooks module |
Reads each typed message for answers to the latest Questions round without a model call, and decides which questions are still open. |
hooks/suggest.ts |
Hooks module |
Counts how often your answers took the model’s recommendation, for the drawer’s autonomy suggestion. |
hooks/session.ts |
Hooks module |
Builds the session record: the Katharsis release, the transcript path, and the session title. |
hooks/drawer.tsx |
Hooks module |
The drawer: the band, the drawer /kdrawer opens, and the reply chips. It also names the session with a short model call at the third turn and every 15 turns after. |
scripts/stop-classify.sh |
Hook |
Stop: consumes the stamp, records a gate miss, an inherited ! turn, or a truncated read of the guidance to telemetry, and never holds the reply. |
scripts/ledger-stop.sh |
Hook |
Stop: writes every coded item in the reply to the ledger, records per-reply counts, and holds the reply once for a code whose claim changed. |
scripts/mistakes.sh, scripts/mistakes.py |
Hook |
PreToolUse and PostToolUse on Bash: copies a file a call is about to replace unread, and saves it, records the loss, and tells you and the model when lines of it are gone. Stop: checks the reply’s test, build, validation, lint, CI, verified, and count claims, and a PR body’s ticked checks, against the session’s tool results, records each hit, shows one line for it, and holds the reply once for a replaced file that the first reply after the call does not mention. --replay <transcript> runs the Stop checks over a finished session and prints the records. |
scripts/stop-verifier.sh |
Hook |
Stop: holds the reply once for an opening that buries the finding, and asks for the finding on its own line rather than a rewrite. |
scripts/detect-reply.sh, scripts/packs/*.txt |
Script |
Runs the writing rules over one reply and prints a fix line per hit. The verifier calls it, and you can run it over a saved reply. |
scripts/session-link.sh |
Hook |
SessionStart: remakes the ~/.claude/katharsis symlink and asks for setup until setup has run. |
cli/kref.ts, bin/kref |
Script |
Reads the ledger back in the terminal, as JSON, or as HTML. |
scripts/setup.sh, skills/setup/ |
Setup |
Checks the Claude Code version, adds the one permission entry, and names the two styles. |
scripts/instruction-files.sh, skills/rules-check/ |
Skill |
Lists the instruction files Claude Code loads for a folder, and finds the rules in them that repeat or contradict the style. |
hooks/hooks.json |
Manifest |
Wires the SessionStart, Bash PreToolUse and PostToolUse, and Stop hooks and names the hooks module, register.ts. |
.claude-plugin/plugin.json, marketplace.json |
Manifest |
Name the plugin, its version, and the marketplace it installs from. |