Skip to content
Testing
Skill

/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

From plugin
bkit
58944 skills34 agents2 commands21 hooks
Install
$ npx -y skills add popup-studio-ai/bkit-claude-code --skill rollback --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/rollback

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

rollback.SKILL.md
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**:

{
  "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

Read more
Ships withbkit

A Claude Code plugin that verifies AI-generated code against its own design specs. Three commands. Anyone — even someone vibe-coding for the first time — can ship robust, production-quality software.

Get the whole plugin