← ClaudeAtlas

beat-writerlisted

Channel-agnostic writer for any piece of content that doesn't yet belong to a specific channel. Use when you have something to say but don't know where it goes — could become a blog post, X thread, newsletter section, web copy, journal entry, or just stay as a plain doc. Runs the beat extraction + shaping discipline, pours prose via /authors-voice (with the operator's default anchor — personal voice), polishes, and leaves a clean draft in OpenWriter. The draft can later be refactored into a specific channel via /blog-writer, /x-writer, or /newsletter-writer. Use when: "/beat-writer", "write this", "draft something", "I have an idea but don't know where", "extract beats", "write me a draft", "pour this in voice", "I want to think this through in writing", "plain doc", "just open a doc", "uncommitted draft", "I'll figure out where it goes later". NOT for: known-channel work (use the channel-master directly — /blog-writer for blogs, /x-writer for tweets, /newsletter-writer for emails, /book-writer for chapters).
travsteward/openwriter · ★ 14 · AI & Automation · score 83
Install: claude install-skill travsteward/openwriter
# Beat Writer Channel-agnostic, beats-first writer for uncommitted drafts. Owns extraction + shaping; delegates prose to `/authors-voice` (operator's default anchor — personal voice). Output is a plain OpenWriter doc that can stay generic OR get refactored later into a specific channel via a channel-master writer. **4-layer model:** 1. **EXTRACT** — pull beats out of the operator. Same query-first, 5-pass discipline used by `/book-writer`. Channel-agnostic CATEGORY tags (CLAIM / REFRAME / MECHANISM / EVIDENCE / STORY / APHORISM / PIVOT / OBJECTION). `docs/extraction.md` 2. **SHAPE** — order beats by reader flow, lock as commitments (no content prescription). No channel template — just a sequenced beats list. `docs/beat-method.md` 3. **VOICE** — `/authors-voice` Apply Protocol with the operator's DEFAULT anchor (personal voice). Same machinery as every other writer; no anchor swap. The piece sounds like the operator. 4. **POLISH** — `/polish` to 90/100, then `/anti-ai`, then a naive-reader pass (`/congruence` if installed, otherwise inline). Delegated, not duplicated. ## Firm rules 1. **Single entry point.** Invoked as `/beat-writer` only. No subcommands, no flag-syntax args. Internal dispatch from context. 2. **EXTRACT before WRITE.** Same query-first discipline as `/book-writer`. AI never invents beats; the operator's head is the source. 3. **Beats are commitments, not content.** Each beat names the OUTCOME (what the reader registers / what shift lands). The voice lay