Writing pipeline
Three folders that move a piece of writing from idea to published: catch ideas before they slip away, draft with an AI while every revision is saved automatically, and leave finished pieces untouched. Built on the Writing pipeline starter pack.
A writing pipeline is the shortest honest path from a premise to a published piece: three folders, one direction of travel. Ideas you capture before they fade, drafts you actually work on, and published work you leave alone. No named-revision folders, no ceremony — the CRDT history covers your revisions, and an agent nudges pieces along so nothing stalls.
The point is to keep the friction where it belongs. Capturing an idea should cost one line. Drafting should feel like writing, not file management. And publishing should be a deliberate step that freezes the piece — to revise later, you copy it back to a new draft rather than editing history.
Essayists and newsletter writers get a frictionless place to capture premises before good ideas escape. Drafting with an AI collaborator happens on the actual piece, every revision in the timeline, instead of scattered across chat windows. And shipped work stays separate from work in progress — a clean record of published pieces with canonical URLs and channels.
The flow
ideas/ one-line premises, headlines, fragments — kept short on purpose
↓ commit to writing it
drafts/ active prose; frontmatter tracks status, word count, parent idea
↓ ship
published/ shipped work; carries published_at, canonical_url, channel — immutableThe pack ships an idea, draft, and published template. Structure only — the meaning of each stage lives in the folder guidance the agent reads, so your prose stays uncluttered.
The scenario
A thought hits you on a walk: "the best abstraction is the one you didn't write." You drop it into ideas/ as a single line. Two weeks later you commit to it:
You write it with your agent over a few sessions — every revision captured in the timeline, no manual versioning. When it's ready you publish, and the piece moves to published/ with its canonical URL filled in. The draft's full history stays intact; the published copy is frozen.
What's in your project after seeding
Pick Writing pipeline in the starter-pack picker, or run:
ok seed --pack writing-pipelineBy default the pack nests under a writing/ subfolder:
your-project/
└── writing/
├── ideas/ one file per premise, flat
├── drafts/ active prose; status: drafting | review
└── published/ shipped, immutableEach folder carries its .ok/frontmatter.yml guidance and templates. If a draft needs research notes, the agent creates drafts/<slug>/research/ on demand rather than cluttering the top level.
Seeding also installs a skill
ok seed --pack writing-pipeline installs the Writing pipeline project skill into your agent editors (Claude Code, Cursor, Codex, OpenCode). It's the "how to work here" guidance behind the behaviors below — the stage promotions, the idle-draft nudges, the publish-time URL fill — read automatically, and editable like any other doc. It lands as a real SKILL.md committed to your repo, one per detected editor. See Skills and what OpenKnowledge writes to disk.
What the agent does for you
These behaviors are encoded in the pack skill and run when you prompt the agent — they are not background automations that fire on a timer.
| When you ask | The agent |
|---|---|
| An idea sits idle > 30 days | Surfaces it to park or promote — so ideas/ stays a live shortlist, not a graveyard |
| A draft sits idle > 14 days | Nudges it; for drafts in review, suggests publication targets based on target_form |
| A draft needs sources | Creates drafts/<slug>/research/ on demand instead of a top-level folder |
| You publish | Auto-fills canonical_url when you paste a Substack / Ghost / Mirror URL into the file |
Cadence
| When | Do |
|---|---|
| Whenever a premise strikes | One line into ideas/. That's the whole capture step |
| When you commit to a piece | Promote the idea into drafts/; write with your agent, revisions tracked automatically |
| On ship | Move to published/; let the agent fill canonical_url and channel |
| To revise a published piece | Copy it back to a new draft — never edit published/ in place |
| Monthly | Ask the agent to surface stale ideas and stalled drafts |
Further reading
- LLM wiki workflow. If your writing is source-grounded research rather than original prose, the source-curation posture fits better.
- Editor. The WYSIWYG surface you'll actually draft in.
- Timeline and recovery. Where your draft revisions live — the reason there are no named-revision folders.
- Claude Code, Cursor, Codex. MCP-capable agent hosts.
Entity vault (GBrain-compatible) workflow
A personal memory for the people, companies, and meetings in your world. Each one gets its own page that an AI keeps up to date as you learn more, and you can correct anything by hand. Works with Garry Tan's gbrain if you use it, but doesn't need it.
Supporting the Open Knowledge Format
Start a knowledge base that already follows Google's Open Knowledge Format, so any OKF tool can read it later. You get the right setup out of the box, and you're still free to write however you like.