Skip to content
cccskills
FreePublished on GitHub

skill-rollback

Restore project files from a previous Git checkpoint after previewing affected files and receiving explicit confirmation. Create a safety tag before restoration, preserve recorded lessons, and keep the current branch and commit history in place.

OriginalShow the original description

Roll back to a previous checkpoint via git — use when a change went wrong and you need to revert

See how to install

Good for

  • Listing available project checkpoints
  • Restoring files after an unsuccessful change
  • Previewing files affected by a rollback
  • Preserving recorded lessons while restoring project files

Files included (2)

  • SKILL.md6.8 KB
  • agents/openai.yaml165 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Host: Codex CLI — This skill was designed for Claude Code and adapted for Codex. Cross-reference commands use installed skill names in Codex rather than /octo:* slash commands. Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it. For host tool equivalents, see skills/blocks/codex-host-adapter.md.

Checkpoint Rollback

Safely rollback to a previous checkpoint while preserving lessons learned.

Core principle: List checkpoints → Confirm explicitly → Create safety backup → Restore → Preserve lessons.

Subcommand Detection

Parse the user's request to determine mode:

User RequestModeAction
list, show checkpoints, no argumentLISTShow available checkpoints
octo-checkpoint-* tag nameROLLBACKRollback to specific checkpoint

Mode: LIST (Default)

Step 1: Fetch Available Checkpoints

# List all octo checkpoints with dates
git tag -l "octo-checkpoint-*" --sort=-creatordate --format='%(refname:short)|%(creatordate:short)|%(contents:subject)'

Step 2: Present Checkpoint Table

## Available Checkpoints

| Tag | Created | Description |
|-----|---------|-------------|
| octo-checkpoint-post-discover-20260203-143022 | 2026-02-03 | After Discover phase |
| octo-checkpoint-post-define-20260203-150145 | 2026-02-03 | After Define phase |

Usage: `/octo:rollback <tag-name>`

If no checkpoints found:

No checkpoints found. Checkpoints are created automatically after each Octopus phase.

To create a manual checkpoint:
  git tag -a octo-checkpoint-manual-$(date +%Y%m%d-%H%M%S) -m "Manual checkpoint"

Mode: ROLLBACK

Step 1: Validate Checkpoint Exists

# Check if tag exists
git tag -l "$CHECKPOINT_TAG" | grep -q . || echo "TAG_NOT_FOUND"

If tag not found:

Checkpoint '$CHECKPOINT_TAG' not found.

Available checkpoints:
[show list output]

STOP. Do not proceed.

Step 2: Show What Will Be Affected

# Get list of files that will be changed
git diff --name-status HEAD $CHECKPOINT_TAG

Present clearly:

## Rollback Preview

**Rolling back to:** `octo-checkpoint-post-discover-20260203-143022`
**Created:** 2026-02-03 14:30:22
**Description:** After Discover phase

### Files That Will Be Changed

| Status | File |
|--------|------|
| M | src/auth/login.ts |
| D | src/auth/oauth.ts |
| A | src/legacy/old-auth.ts |

Legend: M=Modified, D=Deleted, A=Added (relative to current state)

### Protected Files (Will NOT be changed)
- `.octo/LESSONS.md` - Lessons are always preserved

Step 3: Require Explicit Confirmation (MANDATORY)

To confirm this rollback, type ROLLBACK exactly.

Any other input will cancel.

Wait for exact confirmation: ROLLBACK

CRITICAL: Do NOT proceed without explicit "ROLLBACK" confirmation.

Step 4: Create Safety Checkpoint

Before any rollback, create a pre-rollback checkpoint:

# Generate timestamp
TIMESTAMP=$(date +%Y%m%d-%H%M%S)

# Create safety checkpoint
git tag -a "octo-checkpoint-pre-rollback-$TIMESTAMP" -m "Safety checkpoint before rollback to $CHECKPOINT_TAG"

Report:

Created safety checkpoint: octo-checkpoint-pre-rollback-$TIMESTAMP

You can return to current state with:
  /octo:rollback octo-checkpoint-pre-rollback-$TIMESTAMP

Step 5: Preserve LESSONS.md

# Save current LESSONS.md if it exists
if [ -f ".octo/LESSONS.md" ]; then
  cp .octo/LESSONS.md /tmp/LESSONS_PRESERVED.md
  LESSONS_PRESERVED=true
fi

Step 6: Execute Rollback

# Restore files from checkpoint (does NOT move HEAD)
git checkout $CHECKPOINT_TAG -- .

# Restore preserved LESSONS.md
if [ "$LESSONS_PRESERVED" = "true" ]; then
  cp /tmp/LESSONS_PRESERVED.md .octo/LESSONS.md
fi

Important: This uses git checkout <tag> -- . which:

  • Restores all files to checkpoint state
  • Does NOT move HEAD or change branch
  • Preserves current commit history
  • Allows immediate commit of the restored state

Step 7: Update STATE.md (If Exists)

if [ -f ".octo/STATE.md" ]; then
  # Append rollback entry to history
  echo "" >> .octo/STATE.md
  echo "## Rollback - $(date '+%Y-%m-%d %H:%M')" >> .octo/STATE.md
  echo "" >> .octo/STATE.md
  echo "- **Target:** $CHECKPOINT_TAG" >> .octo/STATE.md
  echo "- **Safety checkpoint:** octo-checkpoint-pre-rollback-$TIMESTAMP" >> .octo/STATE.md
  echo "- **Reason:** User requested rollback" >> .octo/STATE.md
fi

Step 8: Report Success

Rollback Complete

**Restored to:** `$CHECKPOINT_TAG`
**Files restored:** N files
**LESSONS.md:** Preserved (not rolled back)

**Safety checkpoint created:** `octo-checkpoint-pre-rollback-$TIMESTAMP`

### Next Steps

1. Review the restored files
2. Commit the rollback if satisfied:
   ```bash
   git add -A && git commit -m "chore: rollback to $CHECKPOINT_TAG"
  1. Or return to previous state:
    /octo:rollback octo-checkpoint-pre-rollback-$TIMESTAMP
    


## Safety Measures

| Measure | Implementation |
|---------|----------------|
| **Always create safety checkpoint** | Pre-rollback tag created BEFORE any file changes |
| **Preserve LESSONS.md** | Copy before rollback, restore after |
| **Require explicit confirmation** | Must type "ROLLBACK" exactly |
| **Show affected files first** | Preview before confirmation |
| **No history modification** | Uses checkout, not reset |


## Red Flags - Never Do

| Action | Why It's Dangerous |
|--------|-------------------|
| Rollback without confirmation | Loses work unexpectedly |
| Skip safety checkpoint | No recovery path |
| Rollback LESSONS.md | Loses accumulated knowledge |
| Use `git reset --hard` | Destroys commit history |
| Force push after rollback | Affects collaborators |
| Delete checkpoint tags | Removes recovery points |


## Checkpoint Tag Format

All Octopus checkpoints follow this format:

octo-checkpoint-{type}-{timestamp}

Where:

  • type: post-discover, post-define, post-develop, post-deliver, pre-rollback, manual
  • timestamp: YYYYMMDD-HHMMSS

Examples:
- `octo-checkpoint-post-discover-20260203-143022`
- `octo-checkpoint-post-define-20260203-150145`
- `octo-checkpoint-pre-rollback-20260203-161530`
- `octo-checkpoint-manual-20260203-170000`


## Quick Reference

| Command | Action |
|---------|--------|
| `/octo:rollback` | List available checkpoints |
| `/octo:rollback list` | List available checkpoints |
| `/octo:rollback <tag>` | Rollback to specific checkpoint |


## The Bottom Line

Rollback → Confirmation received AND safety checkpoint created Otherwise → Not executed


**Show preview. Require "ROLLBACK". Create safety tag. Preserve lessons. Execute safely.**

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

council-verdicts

FreeSummary

Interpret the saved results of a completed AI council review. Count verdicts, check whether enough participants responded and whether models are independent, surface substantive dissent, and explain what action the outcome supports.

  • Explain a completed council review
  • Check vote counts and quorum
  • Assess model independence and dissent
nyldn/claude-octopus4.3KUpdated Oct 19, 2026

debate-kickoff

FreeSummary

Turn a technical choice into a structured debate between different AI model families. Assign explicit positions, launch the discussion, and summarize agreement, disagreement, and a recommendation supported by the strongest argument that survives the debate.

  • Compare Redis and Memcached for session storage
  • Debate monorepo versus polyrepo organization
  • Examine a technical choice from opposing positions
nyldn/claude-octopus4.3KUpdated Oct 19, 2026

flow-define

FreeSummary

Clarify a feature’s requirements with multiple AI providers, combining technical constraints with user and business needs. Produce a scoped definition covering priorities, edge cases, exclusions, and a requirements checklist before implementation begins.

  • Defining requirements for a user authentication system
  • Setting boundaries for a notification feature
  • Identifying technical constraints and edge cases
nyldn/claude-octopus4.3KUpdated Oct 19, 2026

flow-deliver

FreeSummary

Review code or documents with available AI providers before delivery. Combine findings into a scored validation report that checks prior requirements and decisions, separates critical issues from warnings, and recommends next steps.

  • Review authentication code before release
  • Check API readiness before deployment
  • Review a PRD for missing requirements
nyldn/claude-octopus4.3KUpdated Oct 19, 2026

flow-develop

FreeSummary

Develop complex features or business documents by gathering approaches from available AI providers. Combine their perspectives with prior project decisions and quality checks to produce a proposed plan, then proceed with implementation after user confirmation.

  • Planning and implementing a complex feature
  • Comparing approaches for an external service integration
  • Developing a product requirements document or strategy
nyldn/claude-octopus4.3KUpdated Oct 19, 2026

flow-discover

FreeSummary

Research technical or business questions through multiple available AI providers, each assigned a different perspective. Combine usable results into a report covering findings, disagreements, evidence gaps, priorities, and recommended next steps.

  • Compare libraries and technical approaches
  • Research markets and competitor strategies
  • Synthesize literature from multiple perspectives
nyldn/claude-octopus4.3KUpdated Oct 19, 2026

See all skills by nyldn

Report a problem with this skill