Rollback Skill
User-invocable skill for checkpoint management and PDCA state rollback.
Arguments
| Argument | Description | Example |
|---|---|---|
| (none) | List available checkpoints (same as list) | /rollback |
list | List all available checkpoints | /rollback list |
to <checkpoint-id> | Restore to a specific checkpoint | /rollback to cp-1710842700000 |
phase | Rollback to previous PDCA phase | /rollback phase |
reset <feature> | Reset feature to initial (idle) state | /rollback reset user-auth |
Action Details
list (Default)
List all available checkpoints for the current or specified feature.
- Read checkpoint metadata from
.bkit/checkpoints/ - Filter by current active feature (or show all if no active feature)
- Sort by timestamp (newest first)
- Display formatted checkpoint list
Checkpoint Metadata Schema:
json{ "id": "cp-1710842700000", "feature": "user-auth", "phase": "design", "type": "auto", "timestamp": "2026-03-19T10:30:00.000Z", "description": "Auto-checkpoint before Do phase", "pdcaStatus": { "phase": "design", "matchRate": 0, "iterationCount": 0 }, "files": ["docs/02-design/features/user-auth.design.md"] }
Output Format:
--- Checkpoints: user-auth ------------------------ ID Phase Type Date Description cp-1710842700000 design auto 2026-03-19 10:30 Before Do phase cp-1710839100000 plan auto 2026-03-19 09:25 Before Design phase cp-1710835500000 idle manual 2026-03-19 08:15 Manual save point --------------------------------------------------- Total: 3 checkpoints Usage: /rollback to cp-1710842700000
to
Restore state to a specific checkpoint.
- Validate the checkpoint ID exists in
.bkit/checkpoints/ - Read the checkpoint metadata and saved state
- Display what will be restored (phase, files, status)
- Require user confirmation via AskUserQuestion (always, regardless of automation level)
- On confirmation:
a. Create a safety checkpoint of current state (before rollback)
b. Restore
pdca-status.jsonto the checkpoint's saved state c. Restore any saved file snapshots d. Write audit log:checkpoint_restorede. Display confirmation with restored state - On rejection: Cancel and display current state
Safety Rule: Rollback operations ALWAYS require user confirmation, even at L4 (Full-Auto). This is a destructive operation.
phase
Rollback to the previous PDCA phase.
- Read current feature state from
.bkit/state/pdca-status.json - Determine previous phase using the PDCA phase order:
idle <- pm <- plan <- design <- do <- check <- act <- report <- archived - If current phase is
idle, display: "Already at initial state. Nothing to rollback." - Display the phase transition that will occur
- Require user confirmation via AskUserQuestion
- On confirmation:
a. Create auto-checkpoint of current state
b. Use
state-machine.transition()withROLLBACKevent c. Updatepdca-status.jsonwith previous phase d. Write audit log:phase_rollbacke. Display: "Rolled back from {current} to {previous}"
Phase Rollback Map:
| Current Phase | Rolls Back To |
|---|---|
| pm | idle |
| plan | pm (or idle if PM was skipped) |
| design | plan |
| do | design |
| check | do |
| act | check |
| report | check |
| archived | report |
reset
Reset a feature to its initial (idle) state.
- Validate the feature exists in
pdca-status.json - Display current feature state and what will be lost
- Require user confirmation via AskUserQuestion with warning: "This will reset ALL PDCA progress for {feature}. Documents in docs/ will NOT be deleted."
- On confirmation:
a. Create auto-checkpoint of current state
b. Use
state-machine.transition()withRESETevent c. Clear feature from active features list d. Reset all metrics (matchRate, iterationCount, etc.) e. Write audit log:feature_resetf. Display: "Feature {feature} reset to idle state. PDCA documents preserved in docs/."
Important: Reset does NOT delete documents from docs/. It only resets the
PDCA status tracking. Use /pdca cleanup to remove archived status entries.
Checkpoint Types
| Type | Trigger | Description |
|---|---|---|
auto | Phase transition (Design->Do) | Automatic checkpoint at key transitions |
manual | User command | User-created save point |
phase_transition | Any phase change | Lightweight state snapshot |
pre_rollback | Before rollback | Safety checkpoint before destructive operation |
State Files
| File | Purpose |
|---|---|
.bkit/checkpoints/cp-{timestamp}.json | Checkpoint metadata and state snapshot |
.bkit/state/pdca-status.json | Current PDCA status (modified on rollback) |
Module Dependencies
| Module | Function | Usage |
|---|---|---|
lib/control/checkpoint-manager.js | listCheckpoints() | List available checkpoints |
lib/control/checkpoint-manager.js | createCheckpoint() | Create new checkpoint |
lib/control/checkpoint-manager.js | restoreCheckpoint() | Restore to checkpoint |
lib/pdca/state-machine.js | transition() | Execute ROLLBACK/RESET events |
lib/audit/audit-logger.js | writeAuditLog() | Record rollback operations |
Usage Examples
bash# List checkpoints /rollback # Restore to specific checkpoint /rollback to cp-1710842700000 # Rollback to previous phase /rollback phase # Reset feature completely /rollback reset user-auth

