OpenKnowledge

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 — immutable

The 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-pipeline

By 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, immutable

Each 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 askThe agent
An idea sits idle > 30 daysSurfaces it to park or promote — so ideas/ stays a live shortlist, not a graveyard
A draft sits idle > 14 daysNudges it; for drafts in review, suggests publication targets based on target_form
A draft needs sourcesCreates drafts/<slug>/research/ on demand instead of a top-level folder
You publishAuto-fills canonical_url when you paste a Substack / Ghost / Mirror URL into the file

Cadence

WhenDo
Whenever a premise strikesOne line into ideas/. That's the whole capture step
When you commit to a piecePromote the idea into drafts/; write with your agent, revisions tracked automatically
On shipMove to published/; let the agent fill canonical_url and channel
To revise a published pieceCopy it back to a new draft — never edit published/ in place
MonthlyAsk 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.