一键导入
checkpoints
Checkpoint protocol for resuming multi-phase commands after session interruptions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Checkpoint protocol for resuming multi-phase commands after session interruptions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Document a bug report with reproduction steps, severity, and expected behavior. Use when the user explicitly requests the Virtual Team bug workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Quiz the developer on technical decisions in the current work. Use when the user explicitly requests the Virtual Team check workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Create clean, atomic git commits following project conventions. Use when the user explicitly requests the Virtual Team commit workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Extract, define, and validate API contracts as concrete schema files. Use when the user explicitly requests the Virtual Team contracts workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Investigate a bug, reproduce it, trace the code, and document the root cause. Use when the user explicitly requests the Virtual Team debug workflow or when this workflow is the next stage of an active Virtual Team pipeline.
Query project conventions and architectural decisions with source references. Use when the user explicitly requests the Virtual Team decisions workflow or when this workflow is the next stage of an active Virtual Team pipeline.
| name | checkpoints |
| description | Checkpoint protocol for resuming multi-phase commands after session interruptions |
| loaded_when | /debug, /epic, /feature, /implement, /plan |
Checkpoints let multi-phase commands survive session interruptions. When a phase completes, the command writes a checkpoint file. When the command is re-invoked, it reads the checkpoint and resumes from the first incomplete phase.
Before starting a multi-phase command, check context usage:
/compact to free space, or finishing the current phase, committing the checkpoint, and starting a fresh session./virtual-team:handoff to generate a handoff document before context runs out, so the next session can resume cleanly.Checkpoints exist precisely for this scenario — running out of context mid-work is expected, not exceptional. The command proceeds either way, but the user knows checkpoints will protect their progress.
Checkpoint files live in docs/checkpoints/:
docs/checkpoints/<command>-<ID>.md
Where:
<command> is the command name: debug, epic, feature, implement, plan<ID> is the item identifier the command is working on (e.g., FEAT-003, EPIC-001, BUG-012, the plan filename slug)Examples:
docs/checkpoints/feature-FEAT-003.md
docs/checkpoints/implement-2026-02-12-notifications.md
docs/checkpoints/debug-BUG-012.md
docs/checkpoints/epic-EPIC-001.md
docs/checkpoints/plan-FEAT-007.md
If the item has no formal ID (e.g., a debug session started from a symptom description), derive a short slug from the context (e.g., debug-login-timeout).
---
command: <command>
item: <ID or description>
branch: <git branch name>
started: <ISO 8601 timestamp>
updated: <ISO 8601 timestamp>
status: in_progress
current_phase: 2
total_phases: 5
---
# Checkpoint: <command> — <item>
## Phases
| # | Phase | Status | Completed |
|---|---|---|---|
| 0 | Decision Sync | done | 2026-02-27T10:15:00Z |
| 1 | Capture | done | 2026-02-27T10:32:00Z |
| 2 | Product Analysis | in_progress | — |
| 3 | Technical Routing | pending | — |
| 4 | Agreements | pending | — |
| 5 | Document | pending | — |
## Current Phase Detail
<!-- Granular sub-tasks within the active phase only.
Cleared when the phase completes. -->
- [x] Gathered user interview notes from docs/research/
- [x] Identified three competitor approaches
- [ ] Draft market positioning summary
- [ ] Validate assumptions with user persona matrix
## Current State
<!-- Brief description of where things stand — what was the last thing completed,
what's next, any decisions made or blockers encountered. Keep this short
but specific enough to resume without re-reading everything. -->
## Key Decisions
<!-- Capture decisions made during completed phases that affect later phases.
This prevents re-asking the user questions they already answered. -->
- [Phase 0] Synced with hub decisions ADR-NNN and ADR-NNN
- [Phase 1] Scope confirmed: notifications for orders only, not marketing
## Artifacts Produced
<!-- List files created or modified by completed phases. This tells the
resuming session what already exists and doesn't need to be recreated. -->
- `docs/epics/EPIC-001-notifications.md` (draft, through Phase 1)
- `docs/decisions/2026-02-27-notification-transport.md`
## Key Context
<!-- References to documents and context the resuming session should re-read.
Populated on creation, stays fixed throughout. -->
- Feature: `docs/features/FEAT-003-notifications.md`
- Plan: `docs/plans/2026-02-12-notifications.md`
- Branch: `feat/CTR-12`
- Stack: Node.js + React (from stack.md)
Each command defines its own phases in its command file. The checkpoint tracks progress through those phases — it does not redefine them.
| Command | Phases | Source of truth |
|---|---|---|
/virtual-team:debug | 4 phases (Reproduce → Document) | commands/debug.md |
/virtual-team:epic | 6 phases (Decision Sync → Document) | commands/epic.md |
/virtual-team:feature | 6 phases (Understand → Stories) | commands/feature.md |
/virtual-team:plan | 5 phases (Arch Gate → Update Backlog) | commands/plan.md |
/virtual-team:implement | Dynamic (from plan document) | The plan file being implemented |
When writing a checkpoint, copy the phase names from the command's definition. Do not invent or rename phases here.
Every checkpointed command runs this before anything else:
If --fresh was passed:
docs/checkpoints/<command>-*.md matching the current itemCheck for existing checkpoint:
docs/checkpoints/<command>-<ID>.mdResuming from checkpoint: docs/checkpoints/<command>-<ID>.md
Last updated: <timestamp>
Completed: Phase 0 (Decision Sync), Phase 1 (Capture)
Resuming at: Phase 2 (Product Analysis)
pending or in_progressIf no checkpoint exists:
Update the checkpoint file:
done with a timestampin_progress (if there is one)updated timestamp in frontmatterCurrent State with a brief summaryKey DecisionsArtifacts ProducedCurrent Phase Detail sub-tasks (the next phase starts with a fresh list)Write the file using the Write tool — always overwrite the full file (not Edit), since multiple sections change each time.
Commit the checkpoint:
git add docs/checkpoints/<command>-<ID>.md
git commit -m "checkpoint: <command> <ID> — phase <N> complete"
When all phases are done:
rm docs/checkpoints/<command>-<ID>.md/virtual-team:implement)git rm + git commit -m "checkpoint: <command> <ID> — complete, removing checkpoint"If a phase fails (verification doesn't pass, blocker found):
Current Statein_progress (not done)git add docs/checkpoints/<command>-<ID>.md
git commit -m "checkpoint: <command> <ID> — phase <N> failed"
If the session is interrupted (context limit, user closes terminal):
docs/checkpoints/ if it doesn't exist (with .gitkeep)docs/checkpoints/ to .gitignore — checkpoint reliability depends on git persistence.Current State concise. Two to three sentences max. The resuming session will re-read artifacts for detail.Key Decisions records what was decided, not the deliberation.git commit. This is the reliability guarantee — without it, checkpoints don't survive session boundaries./virtual-team:commit or /virtual-team:review don't need them.Current Phase Detail tracks granular items within the active phase only. When the phase completes, sub-tasks are cleared — they've served their purpose.--fresh to start over./virtual-team:implement FEAT-007 is run, there's one checkpoint file. Running it again resumes. Running /virtual-team:implement FEAT-008 creates a separate checkpoint.