pm-resume · git:20260729.4a3a4d0 · 2026-07-29 · sha256 696b9bcdf430f411
pm-resume git:20260729.4a3a4d0A
Immutable. This exact content never changes and is served at /api/v1/blob/696b9bcdf430f411.
--- name: pm-resume description: "Pick up where you left off. Reads `.great-pm/HANDOFF.md` (auto-saved by the PreCompact hook) and orients you with the next concrete step." --- ## 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-resume` command. Orient the human after a break or after Claude compacts the context. ## Operating procedure 0. **Step 0 — refine the user's query** (transparent Mode B). Invoke `query-refiner-pm` with `$ARGUMENTS`. The refiner returns: ``` You typed: <original> Refined to: <refined brief> What changed: <one line> Proceeding with refined. Reply "use original" to override. ``` Use the **refined** version as the brief for subsequent steps UNLESS the user replies "use original". Log the refinement to `.great-pm/refinements/$(date +%Y-%m-%d).log`. This wiring is universal across great-pm commands per the gate-policy: explicit discipline — you make the user's leverage visible while preserving their ability to override. 1. **Read** `.great-pm/HANDOFF.md`. If missing → `BLOCKED` with: "No HANDOFF.md yet. The PreCompact hook auto-saves it; if it never fired, run $pm-inbox to see current state." 2. **Summarize** what HANDOFF.md says: - Branch + last commit + uncommitted file count - Open gates (with IDs) - Latest agent verdict (DONE / BLOCKED) - Latest drafts 3. **Check for `.learn-pending` marker**: ```bash [ -f .great-pm/.learn-pending ] && echo "LESSONS_PENDING" ``` If pending → recommend `$pm-save` first. 4. **Recommend next action** based on state: - Lessons pending → run `$pm-save` to capture, then `$pm-inbox`. - Open gates → `$pm-inbox` to review the decision packages. - Active initiative mid-stage → tell pm-lead to continue: "advance <initiative>". - Nothing open → `$pm-start "..."` to kick off the next one. ## Output shape ``` great-pm resume Last session: <date> (<branch>) Last commit: <hash> <subject> Uncommitted: <N> files Open gates: <count> - <gate-id>: <one-line> Latest verdict: <agent> | <DONE | BLOCKED> | <subject> Next: <recommended action — concrete command> ``` ## Reporting - **DONE**: `DONE: resumed — <one-line summary>. next: <command to run>.` - **BLOCKED**: when HANDOFF.md is unreadable AND no PROJECT.md exists.