Rebuilt the newsletter system prompt with a pre-draft reasoning step, a real published register example, and source-as-spark as the first instruction. Beehiiv MCP connected and used immediately to refresh the newsroom.
Newsletter system prompt rebuilt with three key additions. First: a pre-draft reasoning step — three questions Claude answers internally before writing begins: what is the most interesting claim in the source, what is the most specific local implication for the valley, and what would Sat find worth fighting about. Output suppressed, reasoning shapes the draft.
Second: a real published excerpt from Capital Captures Capital baked into the system prompt as a concrete register example — not a description of the voice but an actual passage showing entry point, named attribution, argument build, and dry single-sentence punch. Claude now has something to pattern-match against.
Third: "source as spark not outline" added as the first instruction in the don't list. The source material is the jumping-off point, not the structure. Claude builds Sat's argument, not a restructured summary of the input.
Nine patterns tightened with real published examples. Named attribution replaces generic direct address. Stock phrase defaults remain removed. 1,000 word minimum, 1,200 target unchanged.
VOICE.md updated to match — "source as spark not outline" locked in the voice file at line 171.
Beehiiv MCP connected as custom connector in claude.ai at https://mcp.beehiiv.com/mcp via OAuth. Read-only Phase 1. Used immediately to fetch latest 5 published posts with correct full slugs — confirmed 82 total published posts vs journal counter of 79, gap closes on next refresh_journal.py run. Newsroom section on sunshine.fm homepage updated to latest 5 newsletters with correct URLs, YesBot newsletter now featured. v2 write access coming — will enable direct publish workflows.
Blog posts counter corrected to 5 in journal index. ✍️ emoji locked across all blog cross-references in journal index and capture + draft output. VOICE.md updated with source-as-spark instruction.
915a4b1, 480f6d7, 3042065) · Est. tokens: ~45,000