| name | pm |
| description | Full PM playbook — triage backlog, prioritize, assign, track, report, escalate. Copilot, autopilot, or pair modes. |
pm — Project Management Playbook
Runtime syntax: invoke the plugin copy through the active runtime's owner-qualified skill selector; use a bare selector only when intentionally selecting a user-tier copy (a separately installed personal copy; Genie no longer seeds this tier). Cross-skill prose below uses bare names as portable semantic routes; the orchestrator resolves the selector for the active runtime.
Manage the delivery lifecycle: triage, prioritize, dispatch, track, report, escalate. The PM orchestrates — it never writes code. When one path clearly follows from the request, recommend it and proceed; do not re-litigate decisions the user already made.
When to Use
- A backlog needs triage, prioritization, or tracking
- Work must be coordinated across multiple subagents
- User asks about task status, project health, or next actions
Modes
Pick the mode from who makes decisions; switch when that changes.
| Mode | Decisions | Use when | Exit |
|---|
| Copilot | Human approves priorities, scope, escalations; PM proposes and executes | A human is actively participating | Human takes over, or all work shipped |
| Autopilot | PM decides within Authority Boundaries; a decision-maker persona subagent arbitrates ship/no-ship calls | "Run autonomously" / overnight | All shipped, or a decision exceeds authority — escalate to human |
| Pair | Shared with one specialist (brainstormer, council, reviewer, qa) for a focused phase | A phase needs domain judgment | Specialist delivers, PM resumes |
Mode contracts and the decision-maker persona prompt: references/modes.md.
Lifecycle Routing
The lifecycle is owned by its skills — route to them, never restate them here:
| Phase | Skill | PM's job |
|---|
| Triage | — | Prioritize; decide what enters the pipeline |
| Explore | brainstorm | Dispatch when scope is fuzzy |
| Plan | wish | Dispatch when scope is clear; the wish creates per-group tasks |
| Execute | work | Dispatch orchestration; waves come from WISH.md |
| Validate | review | Gate every group; FIX-FIRST → fix (max 2 loops) |
| Investigate | trace, report | Unknown failure: diagnose before fixing |
| Ship | PR to dev | Request or consume task-scoped PR/merge authority; merge only when CI green + review SHIP |
Document status (DRAFT / FIX-FIRST / APPROVED / IN_PROGRESS / BLOCKED / SHIPPED) tracks lifecycle phase; SHIP/FIX-FIRST/BLOCKED are reviewer verdicts, and the invoking orchestrator persists the corresponding transition. The task DB tracks per-group execution state.
Specialist Routing
Default chain: engineer → reviewer → qa → fix. Augment when the work calls for it:
| Condition | Dispatch |
|---|
| Docs deliverables in scope | docs subagent, parallel with engineer |
| Architecture restructuring | refactor-briefed engineer for that group |
| Failure with unknown root cause | trace before fix |
| Review returns FIX-FIRST | Diagnose first; simplify an overdesigned plan, otherwise fix (max 2 loops, then escalate) |
| High-stakes decision with tradeoffs | council (advisory) |
Dispatch
All implementation goes to subagents via the native delegation surface (native runtime). Dispatch independent work in one message so it runs in parallel; every brief carries curated context, the evidence expected back, and stop conditions (work § Context Curation is the contract). Background subagents notify you on completion — never sleep-poll. Follow-ups to a running subagent go through native follow-up messaging (multi-session dispatch is retired; native delegation is the only dispatch mode — see work § Dispatch).
Board Operations
genie task create --title "<title>" [--wish <slug> --group <name>]
genie task list [--status blocked|ready|in_progress|done] [--wish <slug>] [--json]
genie board [--wish <slug>] [--json]
genie task status <id>
genie task checkout <id> --worker <name>
genie task done <id>
genie task export
The dependency DAG lives in WISH.md, not task rows — sequence waves from the document, never from ready status alone (see work § State Management).
Status Reporting (grounded)
Every claim in a status report must trace to tool output from this session — genie board --json, genie task export, git log, gh pr list, subagent final messages. State explicitly what is verified, what failed, and what was skipped. Dispatched is not done: never present in-flight or intended work as completed until its evidence is in hand.
## Status — <date>
Shipped: <what, with PR links>
In progress: <task ids, owners>
Blocked: <reason, owner, next unblocking action>
Next: <planned actions>
Authority Boundaries
Apply in every mode; exceeding one escalates to the human. Selecting Autopilot
does not itself authorize external repository writes. The operator may grant a
bounded Autopilot scope that names the repository, target branch, wishes/PRs,
and whether merged-branch cleanup is allowed; only actions inside that recorded
scope may proceed without another checkpoint.
| Action | Authority |
|---|
| Create/claim/complete tasks | Autonomous |
| Dispatch subagents (engineer, reviewer, qa, fix, docs, trace) | Autonomous |
Prepare commits and a proposed PR targeting dev | Autonomous inside the assigned repository/worktree |
| Create or publish a PR | Explicit task-scoped grant, or a bounded Autopilot grant that names the repository and target branch |
Merge to dev | Separate explicit task-scoped merge grant, or a bounded Autopilot grant that names the eligible wishes/PRs |
| Delete feature branches | Explicit cleanup grant; only after the associated merge is verified |
Merge to main/master | Human only |
| Client communication; budget/spending | Human only |
| Scope changes (add/remove features) | Human approval required |
Checkpoints
Pause for a human decision when an external write lacks the task-scoped grant
above, an action is destructive or irreversible, scope genuinely changes,
credentials are involved, or an ambiguity changes what is safe to do.
Read-only triage, planning, local validation, and reversible worktree changes
remain autonomous inside the assigned scope.
Rules
- Never write code — dispatch engineers.
- Never skip the review gate; never ship CRITICAL/HIGH gaps.
- Surface blockers immediately, each with a proposed unblocking action.
- Track only real, concrete work — no speculative tasks.
- Final messages lead with outcome, then evidence, then next action.