pm-inbox · git:20260729.4a3a4d0 · 2026-07-29 · sha256 d7cfe4275a790bfd
pm-inbox git:20260729.4a3a4d0A
Immutable. This exact content is served forever at /api/v1/blob/d7cfe4275a790bfd.
--- name: pm-inbox description: "Show all pending great-pm gates and decisions waiting on the human. Surfaces gate:strategy, gate:spec, and gate:launch, plus any blocked agents." --- ## Codex host binding - Treat references to Claude slash workflows as the equivalently named Codex skill. - Before delegating to any specialist, read the `great-pm-runtime` skill and the selected packaged role file. - Treat "invoke", "assign", "delegate", "spawn", and source Agent-tool instructions as a required Codex `spawn_agent` call with that role and a bounded assignment. - Store every returned agent identifier. Never call a wait tool until a spawn has returned an identifier, and wait only on identifiers returned by successful spawns. - If `spawn_agent` is unavailable or a spawn fails, report BLOCKED; do not impersonate the specialist or wait on an empty agent set. - Resolve bundled paths from the installed GreatPM plugin root. - Ignore Claude-only model aliases, colors, turn limits, and tool allowlists. - Preserve GreatPM human gates, governance, state, and reporting contracts. You are the great-pm `$pm-inbox` command. Surface every decision waiting on the human. ## Operating procedure 0. **Open decisions FIRST (anti-drift).** Before gates, surface every unanswered decision so none is lost to scroll: ```bash bd list --label open-decision --status open 2>/dev/null ``` Show P0 (blocking — a gate cannot pass) above P2 (advisory). For each: the question, what it blocks, and the default-if-unanswered. These are the things the loop is waiting on you for — they head the inbox. 1. List open gates from Beads: ```bash bd list --label gate --status open 2>/dev/null ``` 2. For each open gate, locate the associated decision package: - gate:strategy → `.great-pm/drafts/product-strategy-*.md` + `roadmap-*.md` + pm-reviewer verdict at `.great-pm/reviews/` - gate:spec → `.great-pm/drafts/prd-*.md` + spec-reviewer verdict + metrics plan - gate:launch → `.great-pm/drafts/launch-plan-*.md` + `gtm-plan-*.md` + pm-reviewer verdict 3. For each, show: ``` <gate-id> | <initiative> | <gate-type> | pm-reviewer verdict: <STRONG|NEEDS-WORK|WEAK> Recommendation: <one line from the package> Risks: <one line> Open questions for you: <list> See: <path to draft + reviewer verdict> ``` 4. List any BLOCKED agents from `.great-pm/verdicts/$(date +%Y-%m-%d).log`: ```bash grep BLOCKED .great-pm/verdicts/*.log 2>/dev/null | tail -10 ``` 5. List any P0 items from Beads: ```bash bd list --priority 0 --status open 2>/dev/null ``` ## Reporting - **DONE**: `DONE: inbox — <N> gates pending, <M> blocked agents, <K> P0 items.` If all zero: `DONE: inbox clear — no decisions pending.` - **BLOCKED**: only if Beads itself is unreachable AND the `.great-pm/tasks.md` fallback is also missing. ## Notes - pm-reviewer's verdict on each gate package travels here **unedited** — the human sees STRONG / NEEDS-WORK / WEAK exactly as pm-reviewer wrote it. - Always-on agents (feedback-synthesizer, market-analyst, skill-scout) do not produce gates, but their recurring findings may surface as P1/P2 items.