بنقرة واحدة
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 المهني
API endpoint and route handler standards. Load this skill whenever writing or modifying API endpoints, route handlers, middleware, request validation, or response formatting. Trigger on any work touching route files, controller files, or API-related code.
Database, ORM, migration, and query pattern standards. Load this skill whenever writing or modifying database schemas, migrations, models, repositories, queries, or seed data. Trigger on any work touching model definitions, migration files, or database-related code.
Git conventions for branches, commits, and pull requests. Load this skill whenever creating branches, writing commit messages, or opening PRs. Trigger on any git workflow operation — commits, branches, pull requests, or merge operations.
Business logic and service organization standards. Load this skill whenever writing or modifying business logic, service functions, domain rules, or orchestration code. Trigger on any work touching service files, use cases, domain logic, or business rules that aren't directly tied to API handling or database access.
Frontend coding standards and component patterns. Load this skill whenever writing or modifying frontend code — components, pages, hooks, styling, state management, or anything that renders UI. Trigger on any work touching .tsx, .jsx, .css, .scss files or frontend directories.
| 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./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-005 and ADR-008
- [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 |
|---|---|---|
/debug | 4 phases (Reproduce → Document) | .claude/commands/debug.md |
/epic | 6 phases (Decision Sync → Document) | .claude/commands/epic.md |
/feature | 6 phases (Understand → Stories) | .claude/commands/feature.md |
/plan | 5 phases (Arch Gate → Update Backlog) | .claude/commands/plan.md |
/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/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./commit or /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./implement FEAT-007 is run, there's one checkpoint file. Running it again resumes. Running /implement FEAT-008 creates a separate checkpoint.