Skip to main content
Keep Claude Code Projects (and other AI agents) on Track Across Sessions Project Manager PM is a Claude Code plugin that tracks epics, maintains a detour stack, and enforces a reconcile gate so nothing is lost across compaction or pivots. PM is a lightweight project-management layer that sits above OpenSpec and Superpowers inside Claude Code. It doesn’t duplicate what those tools already do — it fills the gap above them, owning cross-epic ordering, an explicit detour stack, and the reconcile gate that ties interrupted work back to the proposal it was built against. After any context compaction, PM answers three questions in seconds: what were we working on before the detour, what work is currently outstanding, and what is the next highest-priority item to tackle.

The problem PM solves

Agentic coding sessions are interrupted constantly — a bug surfaces mid-sprint, a new requirement lands, a context window fills up and collapses. Traditional task trackers live outside the session entirely and don’t survive the compaction boundary. Notes in a conversation transcript vanish with the context. Even a carefully maintained CLAUDE.md doesn’t tell you whether the proposal you were halfway through is still valid after the detour that interrupted it. PM solves this by living inside Claude Code as a plugin with its own hooks. A SessionStart hook re-injects the full briefing the moment a new context begins — so the agent picking up after compaction sees the active epic, the detour stack, and the next-up queue without any manual re-orientation. A PreToolUse gate-guard hook mechanically blocks writes while a reconcile is still owed. Nothing depends on the agent “remembering” the right thing.

Core mechanisms

PM is built on three interlocking mechanisms. Together they make project state durable across the events that normally destroy it:

Epics & Lanes

Every unit of work is an epic with a lane (openspec, superpowers, claude-code, decision, external), a priority (P0–P3), and a lifecycle status. Epics are lane-agnostic at the conductor level — PM tracks them regardless of which tool owns execution.

Detour Stack

When a mid-build interrupt arrives, PM classifies it as minimal (fix-and-resume, logged only) or substantial (PUSH the active epic, build the detour, POP and reconcile). The stack is durable in .conductor/state.json — it survives compaction and session restarts.

Reconcile Gate

Before a paused epic can resume, a fresh-context reconciler agent re-validates it against what the detour actually shipped. The verdict is written durably via record-reconcile — not left in the transcript — and a PreToolUse hook hard-blocks any write while the gate is still owed.

Quick Start

Install PM, run /pm:init in your project, and get your first status briefing in under five minutes. No npm install, no external dependencies.

What PM is NOT

PM is not a replacement for OpenSpec or Superpowers. It sits deliberately above them and only owns what neither of those tools owns:
  • OpenSpec owns the spec-driven proposal workflow — proposal.md, design.md, tasks.md, gate reviews. PM tracks that an OpenSpec epic exists and its priority; it doesn’t touch the spec artifacts themselves.
  • Superpowers owns execution discipline — brainstorming, TDD, subagent-driven development, code review. PM tracks when and in what order an epic gets built; Superpowers drives how well it gets built.
  • PM owns cross-epic ordering, the detour stack, and reconcile links. Nothing else. Stories stay wherever they already live — PM doesn’t move them or replace them.
PM runs exclusively in Claude Code today. Hermes, Codex, and other AGENTS.md-based platforms are on the roadmap — as of 0.24.0 the engine’s rules block is platform-aware groundwork for that (the host declares itself via --platform, and the block is written to the file that platform actually reads), but no second platform’s commands or hooks ship yet.

Real numbers

These aren’t benchmarks — they’re real figures pulled mechanically from PM’s own repo (grep/wc/the test runner), refreshed every release, from the project that manages its own development through PM itself: Every multi-agent hierarchy dispatch runs worktree-isolated and converges back through sequential merge — every conflict seen so far has been mechanical (a shared CHANGELOG header, a usage string), never a real logic collision. The engine is Node 18+ built-ins only.
PM manages its own development — the backlog, roadmap, and every release of PM itself run through PM. The PROJECT.md in the cfdude/pm repo is a live example of what PM produces.

From Industry-Frontier Practice

PM’s design choices aren’t novel in isolation — they’re borrowed, deliberately, from patterns that already work at scale elsewhere: policy-as-code, worktree isolation, an explicit interrupt stack, instruction-layer-only architecture.

AI-agent reference

This site publishes llms.txt — a lightweight (~7KB) index of every doc page, meant for an AI agent to fetch on demand — and llms-full.txt, the entire site as one document (~200KB, tens of thousands of tokens). Use llms.txt by default; reach for llms-full.txt only when you genuinely need the complete reference in one shot.