Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Compound Writing

A context-first writing toolbox for developing ideas, drafting, revising, stress-testing, and preparing work for publication without sanding off the writer.

Compound Writing is packaged for both Claude and Codex from one canonical source tree. The full toolbox is available from the start, but users do not need to learn every tool: cw-scribe loads the governing context, helps a first-time writer establish one durable writing home when needed, and chooses the smallest useful workflow. Specialist skills remain available when the user wants a precise instrument.

Start With Scribe

Describe what you want to write or paste in the work you already have. You do not need to choose a skill or ask for onboarding.

On a first meaningful interaction, Scribe looks for a draft, an active workspace, and useful writing context. If none exists, it briefly explains the benefit of one writing home, asks where it should live, creates the portable structure below, and helps begin VOICE.md and STYLE.md. If useful work is already in front of it, Scribe starts there and offers calibration only when it would help later sessions.

The system:

  • gives a first-time writer one portable writing home with VOICE.md, STYLE.md, examples/, and drafts/;
  • keeps syntax, diction, and tone in VOICE.md while routing argument, evidence, article structure, substantive standards, and publication readiness to STYLE.md;
  • uses optional AUDIENCE.md for reader situations, knowledge, wants, interests, and resistance, including one shared source across publications;
  • preserves existing workspaces and active drafts rather than imposing the scaffold retroactively;
  • follows repository, global, project, assignment, and voice context in authority order;
  • routes from the user's outcome instead of forcing a seven-stage pipeline;
  • treats source provenance as part of writing rather than cleanup at the end;
  • saves durable learning into maintained context, style guides, checklists, or workflows;
  • keeps shared skill frontmatter valid across Claude and Codex.

See ARCHITECTURE.md for the full contract.

The System

Front door

All Compound Writing commands use the cw- prefix. Use cw-scribe for open-ended work: starting a piece, continuing from notes, finishing a draft, or figuring out which pass will help. Describe the outcome in ordinary language and let it route the work. On first use, Scribe can guide the writing-home setup without making the user learn the catalog. Name a specialist skill directly when you already know the exact tool you want.

Use cw-setup-project directly only when you explicitly want to create or migrate a self-contained writing folder yourself.

Writing home

writing-home/
├── VOICE.md
├── STYLE.md
├── AUDIENCE.md          # Optional; may instead use a shared guide
├── examples/
└── drafts/
    └── piece-slug/

VOICE.md answers how the sentences should sound: syntax, diction, and tone. STYLE.md answers what the writing must do, contain, and prove: argument, evidence, article structure, substantive standards, and publication readiness. examples/ holds curated evidence for those rules. drafts/ keeps each piece's notes, research, outline, versions, and reviews together.

AUDIENCE.md answers who the readers are and what may engage them. It records situations, prior knowledge, interests, resistance, and the evidence behind those observations. Several publications can name the same shared audience guide in their instructions; a piece's explicit audience takes precedence. The release includes a blank audience template with recommended categories and prompts; it contains no publication or personal reader profile. The file is optional and its absence never blocks writing. During requested setup, --with-audience adds the template when a shared source is not already in use.

A rule that changes wording, sentence construction, or tone goes in VOICE.md. A rule that changes the claim, support, organization, or readiness standard goes in STYLE.md. Reader knowledge belongs in the governing audience guide; the writing's promises remain in STYLE.md. Split mixed guidance without duplicating it across files.

The setup workflow never creates the writing home inside the plugin or overwrites an existing file. It resolves the target first. Existing workspaces keep their own conventions unless the user explicitly asks to add or migrate the scaffold.

Outcome map

OutcomeSkills
Establish a writing home on first usecw-scribe -> cw-setup-project -> cw-onboarding
Find or develop the ideacw-brainstorm, cw-interview
Sharpen the point and reader promisecw-thesis, cw-promise, cw-outline
Produce prosecw-draft
Find a buried or misplaced ledecw-bluf
Fix argument, structure, stakes, or evidencecw-dev-edit
Revise sentences while preserving voicecw-line-edit
Remove machine residue or voice driftcw-ai-check, cw-voice-check, cw-tracks
See the piece through a first-time reader's eyescw-reader
Pressure-test the piececw-objections, cw-nemesis, cw-panel, cw-debate, reviewer lenses
Check publication readinesscw-final-pass

The classic flow still works:

cw-brainstorm -> cw-interview -> cw-outline -> cw-draft -> cw-dev-edit -> cw-line-edit -> cw-final-pass

It is a map, not a gate.

The Full Toolbox

Writing Home And Navigation

ToolJob
cw-setup-projectManually create a portable writing home with VOICE.md, STYLE.md, examples/, and drafts/.
cw-onboardingBegin or refresh voice, style, and optional audience context.
cw-scribeChoose and compose the smallest useful workflow for an open-ended request.
cw-saveTurn a confirmed preference or lesson into durable project context.

Develop The Idea

ToolJob
cw-brainstormSurface promising raw material when no clear idea exists yet.
cw-interviewDraw out the material, stakes, and thinking behind a live idea.
cw-thesisGenerate possible central claims.
cw-promiseClarify what the reader should anticipate or receive.
cw-outlineOrganize notes and interview material into a workable structure.
cw-hookGenerate opening options for the current material.
cw-transitionBuild a natural bridge between sections or ideas.
cw-analogyFind concrete ways to explain a difficult concept.
cw-simplifyRewrite complex material in plainer language.

Draft And Revise

ToolJob
cw-draftTurn notes, sources, an outline, or partial prose into a complete draft.
cw-blufFind the most important idea and judge whether it appears where it belongs.
cw-dev-editFix the argument, structure, stakes, evidence, and payoff.
cw-line-editRevise sentences and words without flattening the writer's voice.
cw-voice-checkDiagnose voice drift and produce a closer revision.
cw-ai-checkRemove common patterns that make prose sound machine-generated.
cw-tracksRemove scaffolding, process narration, and residue from earlier thinking.
cw-final-passDecide whether a piece is ready, almost ready, or still needs work.

Pressure-Test And Add A Lens

ToolJob
cw-objectionsSurface the strongest reader resistance and counterarguments.
cw-panelConvene several reviewer perspectives and synthesize their feedback.
cw-debateLet reviewers challenge one another until tensions resolve or become clear choices.
cw-emergentCompose a custom workflow when no single tool fits the job.
cw-nemesisApply the least charitable reading and attack weak claims or assumptions.
cw-hemingwayCut unnecessary words and demand economy.
cw-hitchcockReview suspense, tension, and what the reader knows when.
cw-readerTrace the first-time reading experience and flag confusion, missing setup, and off-putting friction.
cw-momFind where a smart general reader may become confused or lose the thread.
cw-sedarisFind missed opportunities for specificity, humor, and self-implication.
cw-sorkinReview pacing, momentum, and forward motion.
cw-vonnegutApply story fundamentals: wants, stakes, character, and purposeful sentences.

Publication, project, and format standards belong in the active project's STYLE.md, brief, or maintained workflow rather than in hard-coded publication-specific skills.

Context And Learning

Compound Writing loads context in this order:

  1. Explicit user instructions and supplied material.
  2. Repository or workspace instructions.
  3. Global identity, preference, rule, and voice files named by those instructions.
  4. Active writing-home or project VOICE.md, STYLE.md, optional AUDIENCE.md or named shared audience guide, brief, template, workflow, or checklist.
  5. Relevant curated examples from its examples/ folder.
  6. Assignment notes, sources, research, outline, draft, and destination requirements.
  7. A legacy TASTE.md, only when the project still maintains it.
  8. Plugin defaults for unresolved gaps only.

cw-save routes confirmed syntax, diction, and tone learning to VOICE.md; it routes argument, evidence, article-structure, and publication-readiness learning to STYLE.md. It routes confirmed audience learning to the governing AUDIENCE.md, preserving source and scope. It does not silently edit an installed plugin, create hidden onboarding state, or claim private memory.

Repository Layout

compound-writing/
├── .claude-plugin/      # Claude manifest and marketplace metadata
├── .codex-plugin/       # Codex manifest
├── agents/              # Claude subagent adapters for panels and specialist work
├── commands/            # Claude compatibility/help surfaces
├── defaults/            # Optional fallback templates
├── references/          # Shared architecture and context contracts
├── skills/              # Canonical cross-runtime workflows
├── ARCHITECTURE.md
└── README.md

skills/ is the source of truth for writing behavior. Installed plugin directories and caches are derived runtime copies.

Public releases are built from an explicit generic-skill allowlist. Internal or publication-specific extensions are not included in the published package.

Installation

Claude Code

The published repository is a Claude Code plugin marketplace. From any Claude Code session:

/plugin marketplace add EveryInc/compound-writing
/plugin install compound-writing@compound-writing

Start a new session after installing so the toolbox and its skills are loaded. Run /cw-help to orient, or /cw-scribe to begin writing.

To update later, run /plugin update compound-writing@compound-writing.

Codex

The repository root is the installable plugin. Clone it locally, then point your Codex marketplace configuration at that folder; codex-marketplace.example.json shows the expected entry.

From a local checkout

Clone the repository, then add the checkout folder as a local-directory marketplace for your runtime. For Claude, claude plugin marketplace add /path/to/compound-writing followed by claude plugin install compound-writing@compound-writing.

The public repository contains only the generic toolbox. Publication-, company-, writer-, column-, and platform-specific extensions are maintained separately.

License

MIT

关于 About

Proposed external architecture for Compound Writing, including public core and optional editorial edition boundary.

语言 Languages

Python100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
5
Total Commits
峰值: 3次/周
Less
More

核心贡献者 Contributors