Installs into .claude/skills of the current project.
Are you the author of Pm Resume?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vandanaajaydubey111-pm-resume)
---
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.
- For the spawn tool's `task_name` or `agent_name` identifier, replace canonical role-name hyphens with underscores (`query-refiner-pm` → `query_refiner_pm`). Keep canonical names unchanged in prompts, filenames, verdict logs, and user-facing output; this is an internal identifier mapping, not a role rename.
- 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.