If you've been using Claude Code, Codex CLI, or Cursor for product work, you've hit the same wall repeatedly: every new session starts from a blank slate. Your AI tool doesn't know what shipped last week, which features got cut, or why your ICP changed. You're back to square one, pasting in scraps of context and hoping it sticks. Draft, posted to Hacker News on May 10 by developer idodekerobo, is an attempt to fix that for good. Draft calls itself a "PM brain" β a persistent layer of product context injected automatically at the start of every session across all three editors. The plugin lives at ~/.draft/workspace/, which sits outside any editor's native config directory intentionally. That means your workspace is editor-agnostic and shared whether you're using Claude Code, Codex, or Cursor (or all three simultaneously). The setup process differs per platform: Claude Code users install via the /plugin marketplace add command, while Codex and Cursor users run a curl-based setup script that writes directly into their respective config directories. The architecture behind Draft is where it gets interesting. It uses an orchestrator plus three sub-agents pattern: pm-agent handles orchestration and all PM work, draft-researcher reads workspace files and fetches web content when you need to know something, draft-executor writes PRDs and decision docs when you need to do something, and draft-learner updates context files and logs decisions when you need to remember something. This delegation model means the system isn't just dumping static context β it's actively routing different types of requests to the right specialist.
Tackling Context Amnesia and Context Rot
Draft explicitly targets two problems that compound over time. The first is context amnesia: without Draft, you're re-explaining your product, stack, and priorities at the start of every session, which means Claude reasons from whatever scraps you pasted in rather than a coherent picture. The second is context rot β even if you have CLAUDE.md or other context files, they go stale as you ship features, change direction, or drop bets. Your docs describe an old version of reality while your AI confidently reasons on outdated information. Draft addresses both with an append-only log and a persistent index of recent changes. Every time something meaningful happens β a decision, scope change, feature shipped or dropped β draft-learner logs it and updates the index. That index loads in every session automatically via a SessionStart hook (for Claude Code and Codex) or sessionStart hook (for Cursor). The hooks run inject scripts that output a live snapshot of your full product context before you type a single word.
How Context Loading Works
There are two layers injected at session start. The first is the agent system prompt β static instructions defining PM role, delegation rules, document writing flows, staleness policies (7-day and 21-day thresholds), and proactive memory rules. The second is workspace context: a dynamic snapshot that includes your full priorities index, memory file, and frontmatter from each context area with metadata like name, description, last_updated, and source. When a task needs more detail than the frontmatter provides, Draft reads the relevant file in full. The /draft:learn skill (or $draft-learn on Codex) lets you manually tell Draft to remember something using three invocation styles: conversational capture where Draft asks what you learned, free-form statements like /draft:learn we decided to drop the bridge daemon and go plugin-only that get auto-classified into decision, priority shift, product direction, company update, team change, or preference types, and explicit tags like [decision] or [priority] for the fastest path. A single learning can map to multiple files β "we cut the bridge daemon" writes a decision file, updates context/product/index.md, and updates context/priorities/index.md simultaneously.
Multi-Editor Setup and What's Missing
For users running Draft across multiple editors, the setup script is smart about avoiding duplication. If Claude Code plugin is already installed, Cursor's setup script detects it and skips installing duplicate rules and sub-agents, reading from ~/.claude/agents/ instead. The recommended install order when using all three: Claude Code first, then Codex, then Cursor. Draft currently supports macOS and Linux only β Windows (including WSL) is explicitly untested and not supported since the session hook relies on a POSIX shell environment.
Key Takeaways
- Draft creates a shared ~/.draft/workspace/ that persists context across Claude Code, Codex CLI, and Cursor simultaneously
- The append-only log with staleness policies (7-day / 21-day thresholds) fights context rot automatically
- Sub-agent delegation model (researcher, executor, learner) means Draft actively routes requests rather than just dumping static files
- Manual learning via /draft:learn supports three modes β conversational, free-form, and explicit-tag for speed and precision
- Multi-editor detection prevents duplicate rules; recommended install order is Claude Code β Codex β Cursor
The Bottom Line
Draft solves a real pain point that anyone doing sustained product work with AI coding agents has felt. The two-layer context injection (static system prompt plus live workspace snapshot) combined with proactive learning capture means your AI behaves like someone who was in every previous session rather than a new hire you brief from scratch each time. Worth installing if you're using Claude Code, Codex CLI, or Cursor for anything beyond quick one-off tasks β which these days is most of us.