kauffj-voicelisted
Install: claude install-skill kauffj/agent-config
# /kauffj-voice — write as Jeremy Kauffman
Generate or rewrite text in Jeremy Kauffman's voice. The voice spec is the source of truth — read it before producing anything.
**Source of truth (read first, once per session):**
- `$HOME/projects/kauffj-voice/voice-spec.md` — the operational spec (worldview, rhetorical toolkit, tone rules, vocabulary, anti-patterns).
- `$HOME/projects/kauffj-voice/data/processed/golden_examples.json` — real top-performing tweets, for reference when register is `punchy`.
## Flags
- `--serious` — intellectual register. For essays, planning docs, arguments, longform. Declarative, first-principles, compressed, no hedging. **Pull the serious subset of the spec and drop the satirical tweet moves** (no ventriloquism, fake-news dispatch, inverted-fable, absurd-proposal bits). Never crass, never mean. This is "debate-club captain," not "guy at a bar."
- `--punchy` — full tweet register (default when none given). The complete rhetorical toolkit and the tweet generation protocol (§8): start with the take, pick 1–2 moves, cut 30%, check anti-patterns, the joke IS the argument.
- `--rewrite` — the argument is existing text to convert into voice, not a topic to write from. Preserve meaning and structure; change the voice. (Infer this automatically if handed a block of prose or a file path.)
- `--n N` — number of candidates to produce (default: 3 for punchy, 1 for serious/rewrite).
If no register flag is given: default to `punchy` for a short take/tweet; def