feat(perkins): the writing team — orchestrator, 7-voice panel, voice guide - #12
Merged
Conversation
…ice guide
Add Perkins, a phased writing orchestrator, and a seven-voice reviewer
panel that drafts and reviews prose so it sounds, reads, and looks like
Jeff wrote it.
- orchestrators/perkins.md — 5 gated phases: develop → outline → draft →
seven-voice review+iterate → compound. Composes ce:write and
ce:prose-review (in the plugin fork) plus ce:compound. The compound
phase's enforcement artifact is a voice-guide rule, so the team gets
measurably better at Jeff's voice draft over draft.
- reviewers/{king-voice,provost-rhythm,orwell-concision,minto-structure,
nielsen-formatting,handley-audience,garner-vocabulary}-reviewer.md —
each owns one voice-guide dimension and cites it by section, with
explicit deferral lanes so they don't overlap. Tagged category: writing
so ce:prose-review selects exactly this panel.
- voice/voice-guide.md — canonical, living voice guide derived from real
samples (the JTBD essay, the Miren docs) plus the no-filler rule. Live
copy read/written at ~/.config/compound-engineering/voice-guide.md.
Requires the ce:write and ce:prose-review skills from the
compound-engineering-plugin fork. Email voice is under-sampled and
flagged for the compound loop to fill.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…writing The v1 guide was derived partly from a Google Doc that turned out to be machine-generated (create ≈ modify timestamp, "compiled from transcripts") — so it encoded Claude's ops-analyst aesthetic (tables, ⚠ markers, bold inline labels), not Jeff's voice. Jeff caught it. Re-grounded on writing whose provenance is verified: - Career/lint-rules.md — Jeff's own codified writing rules (formal register) - 3 cover letters that pass that lint (Anthropic, OW COO, Posit) - the two "With Intention" Medium essays — pure, pre-AI Jeff (expressive register) Key model change: Jeff writes in TWO registers. Formal (cover letters, client docs): restrained, no exclamation/profanity, lint-rules governs. Expressive (blog, opinion): raw, funny, profane, direct address, italics-for-voice, borrowed aphorisms, phased emotional honesty. lint-rules.md's no-exclamation / no-profanity / no-"leverage" rules are FORMAL-register-only. Reviewer fixes for the bad data: - orwell: un-banned the "X isn't A, it's B" reframe (a signature, not an AI tell); replaced kill-list with Jeff's actual banned words; made exclamation/ profanity/"leverage" formal-register-only so a blog isn't flattened. - king: signature moves are now the real ones, across both registers. - nielsen + minto: guarded against imposing doc structure on narrative prose; expressive essays keep their voicey headers and italics. Email still under-sampled. Corpus itself not committed (private). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Jeff supplied a large, verbatim, multi-register corpus (reproduced-as-written,
draft typos preserved — confirmed not AI paraphrase):
- The Freedom Business (State of Turing, 2019) + the two "With Intention" blogs
— expressive register
- 2016 policy op-eds (Three Ways to Help, EQUIP Won't Work, Transparency)
— a newly-sampled ANALYTICAL register
- Adventures on the Golden Path (conference talk) — teaching register
- 2025 federal grant Project Narrative — confirms the FORMAL register still
holds today (mission + hard numbers, no drift)
Changes:
- Evolved the two-register model into a three-band spectrum:
expressive -> analytical -> formal (same DNA, differing restraint).
- Added the analytical band and its moves: diagnose->prescribe / "the fix is
simple:", the confident prediction ("look back two years from now..."),
numbered concrete fixes.
- Added signature moves confirmed across the corpus: the em-dash dismissal
("Being the biggest -- who cares?"), the deadpan landing ("Also, we write
some code."), direct-address rhetorical-question opens.
- Aligned king / orwell / nielsen to the spectrum.
- Noted quoted readings inside facilitation guides are NOT Jeff's voice
(a Chad Fowler excerpt was embedded in one).
Email is now the only unsampled medium. Source corpus not committed (private).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sampled the 2020-2022 State of Turing addresses that synced into Writing Samples. Little new: most are speaking-notes / run-of-show (bullets, co-presenter Q&A), not finished prose. The 2022 prose runs the same scarcity/abundance argument and moves as the 2019 Freedom Business essay — expressive register holds, no drift. Banked the provenance caution so the run-of-show docs aren't later mined as prose voice. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Jeff flagged sentence-case section headers while reviewing the first two
JSL blog posts Perkins drafted. His finished essays headline-case their
section titles ("Existing Federal Student Loans", "This Ain't No Router
Rewrite"). Codified in §7 + changelog — the compound loop capturing a live
correction into a durable rule.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A writing team for the CE plugin: Perkins (a phased orchestrator) and a seven-voice reviewer panel that draft and review prose so it sounds, reads, and looks like Jeff wrote it — and get better at it over time.
Perkins — five gated phases
develop → outline → draft → seven-voice review + iterate → compoundMirrors Erin's phased march, but for writing. Composes
ce:writeandce:prose-review(companion PR: compound-engineering-plugin#10) plusce:compound. The compound phase's enforcement artifact is a voice-guide rule — every correction Jeff makes teaches the guide, so the next draft starts closer to his voice./ce:run perkins "<what to write>".The panel
Tagged
category: writingsoce:prose-reviewselects exactly this set. Each owns specific voice-guide sections with explicit deferral lanes.Voice guide (re-grounded — see commit history)
voice/voice-guide.mdis the living record of how Jeff writes. The first cut was accidentally derived partly from a machine-generated doc; it has been re-grounded on provenance-verified writing:Career/lint-rules.md— Jeff's own codified rules (formal register)Two-register model: formal (cover letters, client docs — restrained, no exclamation/profanity, lint-rules governs) vs expressive (blog/opinion — raw, funny, profane, direct address, italics-for-voice). The reviewers are register-aware so an expressive piece isn't flattened into a memo.
Live copy read/written at
~/.config/compound-engineering/voice-guide.md; project override atdocs/writing/voice-guide.md. The private source corpus is not committed.Try it
cp voice/voice-guide.md ~/.config/compound-engineering/voice-guide.md(already done on tractor)./ce:refresh, then/ce:run perkins "draft the X".Known gaps (v1)
Turing Archive/Projects-writing/curriculum if we want to deepen the teaching register.🤖 Generated with Claude Code