# Skill の更新とライフサイクル

バージョンの確認、リリースの更新、バックアップの管理、およびローカルの独立した Skill ランタイムの安全な削除を行います。

- Canonical: https://docs.xmemo.dev/ja/docs/skills/updates
- Locale: ja-JP
- Content-Locale: ja-JP
- Canonical-Content-Digest: 9bb22ee041e4d2d333c4d064a36f8f242e3295eeeca0d55e0f8f603286ac6d5f
- Edition-Digest: db08d96ecdccd002e7901e0469d6c515779ece1a3d68bb8418cb1e89649990f4
- Source-Revision: sha256:e65ff2255a268515f9753f35fa92380db092ac1526ffd5db790e6ee53f7147ec

## Skill と CLI の独立したバージョン

独立した Skill ランタイムと XMemo CLI は、別個のバージョン番号とリリースライフサイクルを持つ独立したパッケージです。一方を更新しても、もう一方が自動的に変更されることはありません。

- 独立した Skill パッケージ: バージョン 1.1.35 (@xmemo/skill@1.1.35)。node scripts/xmemo-skill.mjs --version または doctor で確認できます。
- XMemo CLI パッケージ: バージョン 0.4.x / 1.x (@xmemo/client@0.4.187)。xmemo --version で確認できます。
- 独立した更新: npm 経由で @xmemo/client を更新すると CLI オーケストレーターは更新されますが、xmemo skill update を実行するまで既存のインストール済み skill ディレクトリは変更されません。
- Subresource Integrity (SRI): CLI は、エージェントの skill ディレクトリにファイルを展開する前に、sha512 SRI を使用してパッケージの tarball を検証します。

```bash
# Inspect standalone Skill version:
node scripts/xmemo-skill.mjs --version

# Inspect XMemo CLI version:
xmemo --version

# Inspect detailed runtime health and discovery status:
node scripts/xmemo-skill.mjs doctor
```

## CLI の skill ライフサイクルコマンド

XMemo CLI は、インストールステータスの確認、各エージェントクライアントへのインストール、新しいリリースへの更新、および skill の安全な削除を行う専用コマンドを提供します。

- ステータス: xmemo skill status [--client <id>|--all] [--json] はインストール済み skill を確認し、バージョン、クライアント ID、および対象パスを報告します。
- インストール: xmemo skill install [--client <id>|--all] [--project] [--global] [--dir <path>] [--dry-run] [--yes] [--force] [--json]。
- 更新: xmemo skill update [--client <id>|--all] [--dry-run] [--yes] [--json] はインストール済み skill を最新の固定リリースに更新します。
- 削除: xmemo skill remove --client <id> [--project] [--yes] [--json] は検証済み skill フォルダを安全に削除します。

```bash
# Check status across all detected clients:
xmemo skill status --all

# Update an installed skill with preview:
xmemo skill update --client codex --dry-run
xmemo skill update --client codex --yes

# Install to a specific client:
xmemo skill install --client claude-code --yes
```

## 既存インストールの処理、バックアップ、および復元

誤った上書きやカスタマイズの消失を防ぐため、インストーラーは明示的な確認なしに既存のディレクトリを上書きすることを拒否し、自動的にバックアップを保持します。

- 上書きの拒否: 既存の skill ディレクトリに対して install を再実行すると停止し、--force (または XMEMO_SKILL_FORCE=1) が渡されない限り既存のインストールがあることを報告します。
- 自動バックアップの場所: --force または skill update がインストールを置き換える際、以前のバージョンは ~/.xmemo/backups/skills/<client_id>/<name>-<timestamp> (カスタムディレクトリの場合は ~/.xmemo/backups/skills/custom/<basename>-<timestamp>) に移動されます。
- エージェントの読み込みからの分離: バックアップはエージェントのアクティブな skill 検索パスの外側にある ~/.xmemo/backups/ に安全に保持され、重複したツール登録を防ぎます。
- 復元: 更新をロールバックするには、保持されているバックアップディレクトリを ~/.xmemo/backups/skills/<client_id>/ からアクティブなエージェントの skill フォルダに復元します。

```bash
# Force re-install with automatic backup creation:
xmemo skill install --client codex --force --yes

# Inspect preserved backups:
ls -la ~/.xmemo/backups/skills/codex/
```

## 削除後も残るデータ

skill の削除は、skill ディレクトリのリンクを解除するローカルファイルシステムの操作です。認証情報、ローカル設定、またはリモートメモリは消去されません。

- ローカル skill ディレクトリの削除: xmemo skill remove は検証済みの xmemo-memory ディレクトリのみを削除し、それ以外のフォルダは拒否します。
- 認証情報はそのまま保持: ~/.xmemo/skill-credentials.json および環境変数 XMEMO_KEY は変更されずに残ります。
- 設定はそのまま保持: ~/.xmemo/ 配下のローカル設定は保持されます。
- リモートメモリはそのまま保持: xmemo.dev 上の保存済みメモリ、Knowledge アイテム、および TODO は、skill を削除しても削除されません。
- 認証情報の完全なクリーンアップ: 削除前に node scripts/xmemo-skill.mjs logout を実行してアクティブなセッショントークンを取り消すか、~/.xmemo/skill-credentials.json を手動で削除します。
- メモリの完全消去: リモートメモリは、node scripts/xmemo-skill.mjs forget --id <id> --confirm で論理削除されるか、Memory Console 経由で完全消去されるまでアクセス可能です。

```bash
# Step 1: Revoke active session credentials (optional):
node scripts/xmemo-skill.mjs logout

# Step 2: Remove the installed skill directory:
xmemo skill remove --client codex --yes
```

