rollback
Installation
SKILL.md
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:
{
"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
# List checkpoints
/rollback
# Restore to specific checkpoint
/rollback to cp-1710842700000
# Rollback to previous phase
/rollback phase
# Reset feature completely
/rollback reset user-auth
Related skills