mcpField
S
skill-rollback

skill-rollback

github.com/nyldn開発4.3k57 回インストール今日更新
リポジトリ

skill-rollback について

Codex CLI 向けのロールバックスキルで、現在のコミット履歴を保ったまま、ファイルをGitチェックポイントの状態に戻します。実行前に明示的な確認を求め、安全タグを作成し、ロールバック中もLESSONS.mdを保持します。

主な機能

  1. 01利用可能なチェックポイントタグの一覧
  2. 02影響を受けるファイルの事前表示
  3. 03正確な確認入力の要求
  4. 04ロールバック前の安全タグ作成
  5. 05LESSONS.mdの保持

活用シーン

  1. 01復元先を選ぶ前のチェックポイント確認
  2. 02影響内容を確認した上でのファイル復元
  3. 03ロールバック時の蓄積した教訓の保持

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nyldn/claude-octopus --skill skill-rollback

インストール後、Claude Code で/skill-rollbackを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

ホスト:Codex CLI — このスキルはClaude Code向けに設計され、Codex用に適応されています。 相互参照コマンドでは、/octo:* スラッシュコマンドではなく、Codexにインストールされたスキル名を使用します。 現在のセッションで利用可能であることが確認できるまでは、プロバイダー、モデル、ホストのサブエージェントが利用可能だと主張しないでください。 ホストツールに相当するものについては、skills/blocks/codex-host-adapter.md を参照してください。

チェックポイントのロールバック

学んだ教訓を保持しながら、安全に以前のチェックポイントへロールバックします。

基本原則: チェックポイントを一覧表示 → 明示的に確認 → 安全用バックアップを作成 → 復元 → 教訓を保持します。

サブコマンドの判定

ユーザーのリクエストを解析して、モードを判定します。

ユーザーのリクエストモードアクション
list、show checkpoints、引数なしLIST利用可能なチェックポイントを表示
octo-checkpoint-* タグ名ROLLBACK指定したチェックポイントにロールバック

モード:LIST(デフォルト)

ステップ 1:利用可能なチェックポイントを取得
# List all octo checkpoints with dates
git tag -l "octo-checkpoint-*" --sort=-creatordate --format='%(refname:short)|%(creatordate:short)|%(contents:subject)'
ステップ 2:チェックポイントの表を表示
## 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>`

チェックポイントが見つからない場合:

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"

モード:ROLLBACK

ステップ 1:チェックポイントの存在を検証
# Check if tag exists
git tag -l "$CHECKPOINT_TAG" | grep -q . || echo "TAG_NOT_FOUND"

タグが見つからない場合:

Checkpoint '$CHECKPOINT_TAG' not found.

Available checkpoints:
[show list output]

停止してください。先に進まないでください。

ステップ 2:影響を受ける内容を表示
# Get list of files that will be changed
git diff --name-status HEAD $CHECKPOINT_TAG

明確に提示します:

## 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
ステップ 3:明示的な確認を必須にする(必須)
To confirm this rollback, type ROLLBACK exactly.

Any other input will cancel.

完全一致の確認メッセージ ROLLBACK を待ちます

重要: 明示的な「ROLLBACK」の確認なしに、処理を進めないでください。

ステップ 4:安全用チェックポイントを作成

ロールバックの前に、ロールバック前のチェックポイントを作成します。

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

報告します:

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

You can return to current state with:
  /octo:rollback octo-checkpoint-pre-rollback-$TIMESTAMP
ステップ 5: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
ステップ 6:ロールバックを実行
# 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

重要: これにより git checkout <tag> -- . が実行され、次のようになります。

  • すべてのファイルがチェックポイントの状態に復元されます
  • HEADは移動せず、ブランチも変更されません
  • 現在のコミット履歴が保持されます
  • 復元した状態をすぐにコミットできます
ステップ 7:STATE.mdを更新(存在する場合)
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
ステップ 8:成功を報告
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. または、以前の状態に戻る:
    /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}

次のとおりです。

  • 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

ロールバック → 確認を受信し、安全用チェックポイントを作成した場合 それ以外 → 未実行


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

コメント