/pm
Full PM playbook — triage backlog, prioritize, assign, track, report, escalate. Copilot, autopilot, or pair modes.
$ npx -y skills add automagik-dev/genie --skill pm --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/pm
Context preview
The summary Claude sees to decide when to auto-load this skill.
Full PM playbook — triage backlog, prioritize, assign, track, report, escalate. Copilot, autopilot, or pair modes.
SKILL.md
pm.SKILL.mdname: pm
description: "Full PM playbook — triage backlog, prioritize, assign, track, report, escalate. Copilot, autopilot, or pair modes."
pm — Project Management Playbook
**Runtime syntax:** in Codex, invoke the plugin copy with the owner-qualified `$genie:<skill>` selector; use bare `$<skill>` only when intentionally selecting a user-tier copy (a separately installed personal copy; Genie no longer seeds this tier). Claude Code and Hermes use `/<skill>`. Cross-skill prose below uses bare names as portable semantic routes; the orchestrator resolves the selector for the active tier.
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**. When the user wants parallel Warp sessions they can supervise, hand the wave to `genie launch <slug> [--groups <csv>]` instead (human-in-the-loop; see `work` § Multi-session dispatch).
Board Operations
genie task create --title "<title>" [--wish <slug> --group <name>] # add work
genie task list [--status blocked|ready|in_progress|done] [--wish <slug>] [--json]
genie board [--wish <slug>] [--json] # kanban snapshot
genie task status <id> # detail, dependencies, stage log
genie task checkout <id> --worker <name> # atomic claim — workers run this
genie task done <id> # complete after review + validation
genie task export # full DB state as JSON (reporting)
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 Aut
Read more
name: pm description: "Full PM playbook — triage backlog, prioritize, assign, track, report, escalate. Copilot, autopilot, or pair modes."
pm — Project Management Playbook
**Runtime syntax:** in Codex, invoke the plugin copy with the owner-qualified `$genie:<skill>` selector; use bare `$<skill>` only when intentionally selecting a user-tier copy (a separately installed personal copy; Genie no longer seeds this tier). Claude Code and Hermes use `/<skill>`. Cross-skill prose below uses bare names as portable semantic routes; the orchestrator resolves the selector for the active tier.
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**. When the user wants parallel Warp sessions they can supervise, hand the wave to `genie launch <slug> [--groups <csv>]` instead (human-in-the-loop; see `work` § Multi-session dispatch).
Board Operations
genie task create --title "<title>" [--wish <slug> --group <name>] # add work genie task list [--status blocked|ready|in_progress|done] [--wish <slug>] [--json] genie board [--wish <slug>] [--json] # kanban snapshot genie task status <id> # detail, dependencies, stage log genie task checkout <id> --worker <name> # atomic claim — workers run this genie task done <id> # complete after review + validation genie task export # full DB state as JSON (reporting)
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 Aut
Wishes in, PRs out. CLI agent that interviews you, plans the work, dispatches parallel agents in isolated worktrees, and reviews code before you see it.
Repo: automagik-dev/genie
Other skills on genie.
- /architecture
Use when reviewing architecture in any codebase — module boundaries, stated design contracts, abstraction depth, error-handling design. Assess by default, apply changes on request; complexity is dependencies plus obscurity, and deep modules win.
Open skill - /brainstorm
Explore ambiguous or early-stage ideas interactively — tracks wish-readiness and crystallizes into a design for wish.
Open skill - /code-quality
Use when auditing code quality in any codebase — discover and run the repo's real gates (typecheck, lint, dead-code, complexity), judge type discipline and duplication. Assess by default, apply changes on request; the compiler is the first reviewer.
Open skill - /council
Assess a proposal through independent technical, product, risk, and dissenting lenses, then synthesize a decision without mutating unless explicitly requested.
Open skill - /docs
Dispatch docs subagent to audit, generate, and validate documentation against the codebase.
Open skill - /dream
Batch-execute SHIP-ready wishes overnight — pick wishes, orchestrate workers, review PRs, wake up to results.
Open skill

