remove について
現在のプロジェクトから OpenWolf を削除するスキルです。プロジェクト固有のファイル、フック、設定項目、レジストリー記録を対象とし、無関係なフックやファイルは保持します。グローバルバイナリーの削除には別途ユーザーの承認が必要です。
主な機能
- 01プロジェクト内の OpenWolf ファイル削除
- 02設定から該当フックを除去
- 03プロジェクトのレジストリー記録削除
- 04グローバルバイナリーの任意削除
- 05削除結果の検証
活用シーン
- 01プロジェクトから OpenWolf を削除
- 02プロジェクトのフックとルールを整理
- 03承認後にグローバルバイナリーを削除
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill removeインストール後、Claude Code で/removeを入力して読み込まれたか確認します。
詳細
OpenWolf の削除
現在のプロジェクト(実行時の cwd)から openwolf を完全に削除します。npm パッケージには uninstall コマンドが含まれていないため、このスキルが標準の削除手順です。
自己進化するスキル:openwolf のファイル構成、フックの部分文字列、またはレジストリの形式が変更された場合は、このファイルを修正してください。再現可能な実際の変更があった場合に限ります。
削除されるもの(すべて現在のプロジェクトから)
.wolf/ディレクトリ(データとフックスクリプト)commandに.wolf/hooks/を含む.claude/settings.json内のフックエントリ(それ以外のすべてのフックはそのまま保持されます).claude/rules/openwolf.mdCLAUDE.mdの先頭にある 225 バイトの openwolf スニペット(このブロックのみ。ファイルの残りは変更されません)- PM2 デーモン
openwolf-$(basename "$PROJECT_ROOT")(PM2 がインストールされている場合) ~/.openwolf/registry.json内のプロジェクトエントリ
削除されないもの
- グローバルの
openwolfnpm バイナリ(別途判断が必要です。明示的にユーザーに確認してください)。 .wolf/backups/内のバックアップは.wolf/とともに削除されます。必要な場合は、先に別の場所へコピーしてください。
ワークフロー
ステップ 1:ユーザーに確認する
AskUserQuestion を使用します。上記の削除対象 6 項目をすべて列挙します。次の選択肢を提示します。
Yes, remove openwolf from this project(デフォルト)Also uninstall the global openwolf binary(追加の手順。pnpm remove -g openwolf||npm uninstall -g openwolfを実行)Cancel— 何も変更せず終了
ステップ 2:PM2 デーモン名に使うプロジェクトのベース名を取得する
PROJECT_ROOT="$(pwd)"
PROJECT_BASE="$(basename "$PROJECT_ROOT")"
PLUGIN_DIR="$(cc-plugin-root openwolf)"
ステップ 3:削除スクリプトを実行する
bash "$PLUGIN_DIR/scripts/openwolf-remove.sh"
スクリプトは set -e とステップごとのエラー報告を使って、6 項目すべてを処理します。冪等性があり、各ステップで「すでに存在しない」場合に || true を使用しつつ、各操作を報告します。
ステップ 4:任意 — グローバルバイナリをアンインストールする
ステップ 1 でユーザーが選択した場合:
if command -v pnpm >/dev/null; then pnpm remove -g openwolf
elif command -v bun >/dev/null; then bun remove -g openwolf
else npm uninstall -g openwolf
fi
ステップ 5:確認する
[ ! -d "$PROJECT_ROOT/.wolf" ] && echo " ✓ .wolf/ removed"
[ ! -f "$PROJECT_ROOT/.claude/rules/openwolf.md" ] && echo " ✓ rules file removed"
grep -q '\.wolf/hooks/' "$PROJECT_ROOT/.claude/settings.json" 2>/dev/null && echo " ✗ stray .wolf/hooks/ entry in settings.json — investigate" || echo " ✓ settings.json clean"
grep -q '@\.wolf/OPENWOLF\.md' "$PROJECT_ROOT/CLAUDE.md" 2>/dev/null && echo " ✗ snippet still in CLAUDE.md — investigate" || echo " ✓ CLAUDE.md clean"
ステップ 6:報告する
削除されたものと、意図的に残されたもの(あれば)をまとめて報告します。
実行後の振り返り
- スキルの場所を確認します。 — この SKILL.md のパスです。
- 削除スクリプトのいずれかのステップでエラーが発生しましたか? — このスキルだけでなく、スクリプト(
scripts/openwolf-remove.sh)を修正してください。 - openwolf の CLAUDE.md スニペットに変更がありましたか? — スクリプトの削除パターンと、上記の確認用正規表現の両方を更新してください。
- レジストリの形式に変更がありましたか? — スクリプト内の
nodeブロックを更新してください。
スクリプト scripts/openwolf-remove.sh は重要な構成要素です。正確な状態を保ってください。
コメント
Markdown 対応