By ahlerjam
Milestone Management Plugin — orchestrate GitHub milestones into chunked PRs via L1 subagents in isolated worktrees.
Manually archive a completed milestone wave. Moves .orchestrator/<state> files into .orchestrator/archive/<milestone>-w<N>-<date>/. Refuses to archive if any chunk is not in merge-ready or merged state without an override flag.
Show security/integrity audit summary (hook blocks, env tampering, version drift)
Bootstrap mmp in the current repository. Verifies dependencies, copies templates from the plugin into .orchestrator/, and runs /mmp:check. Idempotent — refuses to overwrite existing config.yaml without explicit user confirmation.
Run mmp health checks: required upstream plugins, gh auth, repo state, config validity, status.yaml integrity. Reports a green-check matrix. Exit non-zero on hard problems.
Resume an in-progress mmp wave from .orchestrator/status.yaml. Sugar for `/mmp:run <milestone-from-status> --continue`. Fails fast if no status.yaml is present.
Use after PR is CI-green (Phase 6) to verify all acceptance criteria are covered by the implementation by matching AC keywords against the PR diff. Read-only on code; allowed to invoke gh/git/test commands for evidence gathering. Returns per-AC PASS|FAIL with evidence.
Use when L0 needs to verify AC coverage after CI green in Phase 6. Invokes code-review:code-review skill against the PR diff, then verifies each Acceptance Criterion is met. Reports PASS/FAIL per AC.
Use when the milestone orchestrator (L0) dispatches a chunk for implementation. Owns one chunk end-to-end inside an isolated git worktree: brainstorm → spec → plan → execute (TDD) → polish → request-review. Reports back to L0 via status.yaml signals. Never opens a PR — that's L0's job in Phase 5.
Use when L0 needs plan validation (Gate C). Read-only. Verifies plan tasks are bite-sized, TDD-ordered, files within boundary, verification steps present. Returns APPROVE or numbered REVISE list with severity.
Local trigger for the Reverse-Trace-Bot workflow. Use when you do not have access to GitHub Actions CI or want to generate and post the Reverse-Trace Report manually for a closed issue. Builds the AC->Symbol->Caller->Test->Run-ID trace chain and posts it as a GitHub Issue comment.
Use when L0 (Phase 1) needs to analyze cross-cutting concerns between chunks before dispatch, or when user triggers /mmp:cross-cut-analysis manually. Analyzes chunks.md + boundary.yaml (touches_domains, allow, produces, consumes) to produce a structured cross-cut report with severity ratings. Outputs YAML with cross_cuts[] entries and emits a cross_cut_analysis_run audit event.
Use when running mmp's milestone orchestration workflow — invoked by /mmp:run, /mmp:continue, /mmp:improve-tickets, /mmp:archive. Drives Phases 0.5–7 of the multi-subagent delivery methodology: ticket-improvement, decomposition into chunks, L1 dispatch in worktrees, gated reviews, polish, PR-per-chunk, batched final merge. Operates as L0 in the parent session — never writes production code itself, only orchestration artifacts under .orchestrator/.
Use when assessing and improving the quality of GitHub issues — invoked by /mmp:improve-tickets standalone or by orchestrating-milestones in Phase 0.5. Scores tickets via quality rubric, drafts structured rewrites, applies approved improvements via gh CLI (live mode) or local files.
Use when running post-wave retrospection — invoked by /mmp:wave-postmortem standalone or by orchestrating-milestones automatically at Phase 7 end. Reads .orchestrator/status.yaml, audit.jsonl, and per-agent reflexion.md to produce a structured wave-report markdown file with MAST-classified drifts, cap-bump analysis, lessons, and issue-recommendations.
Matches all tools
Hooks run on every tool call, not just specific ones
Executes bash commands
Hook triggers when Bash tool is used
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Modifies files
Hook triggers on file write and edit operations
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Uses power tools
Uses Bash, Write, or Edit tools
Runs pre-commands
Contains inline bash commands via ! syntax
Runs pre-commands
Contains inline bash commands via ! syntax
Bash prerequisite issue
Uses bash pre-commands but Bash not in allowed tools
Bash prerequisite issue
Uses bash pre-commands but Bash not in allowed tools
mmp stands for Milestone Management Plugin.
A Claude Code plugin that orchestrates a GitHub milestone end-to-end via a parent-session orchestrator (L0) and tool-restricted plugin subagents working in isolated git worktrees. One PR per chunk, gated reviews, polish, batched final merge.
You point mmp at a GitHub milestone. It:
gh, reads in-repo docs, captures repo conventions).code-simplifier and code-review (≥80 findings are blockers).The orchestrator (L0) never writes production code. Implementation only happens inside L1 worktrees. Tool-restricted plugin agents enforce role boundaries structurally, not just via prompt discipline.
The methodology is battle-tested — it shipped 9/9 integration-ready chunks on a real milestone before this plugin existed. mmp packages it without changing what worked.
These must be installed and on $PATH:
| Tool | Purpose | Install (macOS) |
|---|---|---|
gh | GitHub CLI for issue/PR/milestone ops | brew install gh && gh auth login |
jq | JSON parsing in validators and runtime | brew install jq |
yq (Go) | YAML parsing — must be mikefarah/yq, not Python yq | brew install yq |
git | obviously | (preinstalled) |
Plus three upstream Claude Code plugins:
| Plugin | Used in | Install |
|---|---|---|
superpowers | brainstorming, writing-plans, executing-plans, requesting-code-review, using-git-worktrees | /plugin marketplace add claude-plugins-official && /plugin install superpowers |
code-simplifier | Phase 4 polish | /plugin install code-simplifier |
code-review | Phase 4 + Phase 6 reviews | /plugin install code-review |
mmp will warn at SessionStart if any are missing (non-blocking) and hard-fail in /mmp:run pre-flight (blocking with install hints). Run /mmp:check any time to verify.
These are not required by mmp — /mmp:check reports them as ⚠ if absent,
never as ✗. mmp itself does not call them.
| CLI | Plugin | Purpose | Install |
|---|---|---|---|
ctx | context-mode | Backend for the /context-mode:ctx-stats, ctx-doctor, ctx-purge, ctx-insight slash commands. The context-mode MCP server (its in-session tools ctx_search, ctx_execute, …) works without the CLI. | npm i -g @context-mode/cli (or via /context-mode:ctx-upgrade) |
Reminder: mmp neither imports
ctxnor reads its database. The CLI exists purely for the surrounding context-mode developer experience. If you don't use the/context-mode:ctx-*slash commands, you can ignore the ⚠.
gh CLI throughout; no GitLab / Bitbucket / Gitea support.concurrency.lock_timeout_hours. Sessions running longer must extend or use /mmp:unlock for cleanup.0.x may break compatibility between minor releases. 1.0 ships when a third-party user gets through a milestone with no maintainer help.mmp runs from the Plugin-Cache (~/.claude/plugins/cache/mmp/mmp/<version>/).
During active development, the repo may contain scripts not yet in the cache.
To use repo-local scripts (dev-mode):
export MMP_DEV_MODE=1
mmp will then prefer <repo-root>/scripts/<name> over the cached version when
.claude-plugin/ is found at the repo root.
Drift detection: every /mmp:run compares the cache version to
.claude-plugin/plugin.json. A mismatch triggers an AskUserQuestion letting
you refresh, continue, or abort.
After merging a Wave: bump the version in .claude-plugin/plugin.json
and run /plugin install mmp to publish the new cache version.
npx claudepluginhub ahlerjam/mmp --plugin mmpv9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows
Unity Development Toolkit - Expert agents for scripting/refactoring/optimization, script templates, and Agent Skills for Unity C# development
Claude harness - A harness for solo developers (Vibecoders) to handle full-cycle contract development.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques