APM is an open-source framework for managing ambitious software projects with AI assistants. On long tasks, the LLM behind your agent suffers from context decay and context pressure as its conversation grows. APM counters the first by recording the project's intent in planning documents, and the second by splitting the work among agents in separate conversations. Coordination between the agents is mediated by you, making each exchange a chance to review the work and intervene before issues propagate. We call this productive friction.
An APM session runs in two phases.
During planning, the Planner explores your codebase and questions you about purpose, requirements, and constraints. Once you approve its understanding, it writes the Spec (what to build), the Plan (how the work is divided), and the Rules (how the work is carried out), each for your review.
During implementation, the Manager hands out self-contained assignments, reviews what comes back, and records the session's progress and work history. Each Worker takes the assignments of one area of the project, completes and validates them, logs the outcome, and reports back.
When an assignment is ready, you notify its Worker; when a report comes back, you notify the Manager. Before you pass either on, you can review the work, steer, or intervene. You choose how often this happens through how the work is divided and assigned to Workers.
The session's state lives in shared files outside any conversation: the planning documents, the Tracker (the session's progress), and Memory (its work history). When an agent's context fills, a Handoff moves its role to a fresh conversation that resumes from these files. When the session ends, you can archive them for the next session's Planner to build on.
APM works with agents that use AGENTS.md and .agents/skills/, such as Codex, Cursor and GitHub Copilot. It also supports Claude Code. Install the agentic-pm CLI with Node.js 18 or later:
npm install -g agentic-pmFrom your project folder, run:
apm initChoose agents for agents using AGENTS.md and .agents/skills/, or claude for Claude Code. To install both, use apm init -a agents claude.
Start a new chat with your assistant, invoke apm-1-initiate-planner and describe what you want to build or change.
For example, in Claude Code:
/apm-1-initiate-planner Create Claude Opus 6, make no mistakes.
APM guides you through the next steps. See Getting Started for the full walkthrough.
The documentation covers the workflow, agent roles, prompt and context engineering, and practical guides.
| Command | Description |
|---|---|
apm init |
Install an official release |
apm custom |
Install from a custom repository |
apm update |
Archive the current session and install the newest stable release |
apm archive |
Archive a session or manage archives |
apm add / apm remove |
Add or remove installation targets |
apm status |
Show installation state |
See the CLI Guide for options and examples.
You can adapt APM's workflow through a custom repository. Fork this repository to retain its history and pull in upstream changes, or use Use this template to start with a clean history. Change the templates, build and publish a release, then install it with apm custom -r owner/repo.
The Customisation Guide explains the process. The customisation skill guides your assistant through the repository's structure, conventions, build, and release steps.
Two official adaptations are available. APM Auto, for Claude Code only, lets the Manager dispatch Worker subagents. APM Semi lets you claim Tasks and carry them out yourself with agent assistance.
The apm-assist skill helps with APM questions, installation checks and migration. See the skills README for installation instructions.
You can ask your assistant to install it:
Install the apm-assist skill into this project using the instructions at:
https://github.com/sdi2200262/agentic-project-management/blob/main/skills/README.md
See the Troubleshooting Guide.
See CONTRIBUTING.md for guidelines. Report bugs or suggest features through GitHub Issues, or reach out on Discord: cobuter_man.
CLI and template releases are versioned independently. They share a major version for compatibility. See VERSIONING.md for details.
Licensed under the Mozilla Public License 2.0 (MPL-2.0).