Skip to main content

rollback

Manage PDCA checkpoints and rollback — create, list, restore for safe recovery. Rollback events are recorded via lib/audit/audit-logger ACTION_TYPES.rollback_executed. For sprint-level recovery, individual feature rollbacks may be triggered from within sprint phases (sprint itself is forward-only — terminal state is `archived`, not rolled back; v2.1.13). Triggers: rollback, checkpoint, restore, undo

Source facts

Repository
ww-w-ai/bkit-claude-code
Last source activity
August 8, 2026 at 20:14
Detected SKILL.md language
English
Stars
600
Forks
154

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
rollback
classification
workflow
classification-reason
Checkpoint and rollback management persists regardless of model advancement
deprecation-risk
none
effort
medium
description
Manage PDCA checkpoints and rollback — create, list, restore for safe recovery. Rollback events are recorded via lib/audit/audit-logger ACTION_TYPES.rollback_executed. For sprint-level recovery, individual feature rollbacks may be triggered from within sprint phases (sprint itself is forward-only — terminal state is `archived`, not rolled back; v2.1.13). Triggers: rollback, checkpoint, restore, undo
argument-hint
[list|to|phase|reset] [target]
user-invocable
true
allowed-tools
["Read","Write","Glob","Grep","Bash","AskUserQuestion"]
imports
[]
next-skill
null
pdca-phase
null
task-template
[Rollback] {action}
# 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. 1. Read checkpoint metadata from `.bkit/checkpoints/` 2. Filter by current active feature (or show all if no active feature) 3. Sort by timestamp (newest first) 4. 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 <checkpoint-id> Restore state to a specific checkpoint. 1. Validate the checkpoint ID exists in `.bkit/checkpoints/` 2. Read the checkpoint metadata and saved state 3. Display what will be restored (phase, files, status) 4. **Require user confirmation** via AskUserQuestion (always, regardless of automation level) 5. On confirmation: a. Create a safety checkpoint of current state (before rollback) b. Restore `pdca-status.json` to the checkpoint's saved state c. Restore any saved file snapshots d. Write audit log: `checkpoint_restored` e. Display confirmation with restored state 6. 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. 1. Read current feature state from `.bkit/state/pdca-status.json` 2. Determine previous phase using the PDCA phase order: `idle <- pm <- plan <- design <- do <- check <- act <- report <- archived` 3. If current phase is `idle`, display: "Already at initial state. Nothing to rollback." 4. Display the phase transition that will occur 5. **Require user confirmation** via AskUserQuestion 6. On confirmation: a. Create auto-checkpoint of current state b. Use `state-machine.transition()` with `ROLLBACK` event c. Update `pdca-status.json` with previous phase d. Write audit log: `phase_rollback` e. 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 <feature> Reset a feature to its initial (idle) state. 1. Validate the feature exists in `pdca-status.json` 2. Display current feature state and what will be lost 3. **Require user confirmation** via AskUserQuestion with warning: "This will reset ALL PDCA progress for {feature}. Documents in docs/ will NOT be deleted." 4. On confirmation: a. Create auto-checkpoint of current state b. Use `state-machine.transition()` with `RESET` event c. Clear feature from active features list d. Reset all metrics (matchRate, iterationCount, etc.) e. Write audit log: `feature_reset` f. 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 ```
View on GitHub