# 非推奨化と移行 (deprecation-and-migration)

> 古いシステムや API、機能を廃止し、利用者を新しい実装へ安全に移し、DB スキーマは拡張/縮小方式で変更する手順です。

- カテゴリ: [アーキテクチャ改善](https://www.myskills.tools/ja/categories/architecture-tuning/)
- 提供元: コミュニティ · Addy Osmani
- リポジトリ: https://github.com/addyosmani/agent-skills/tree/main/skills/deprecation-and-migration (commit 9f91cc4)
- SKILL.md: https://github.com/addyosmani/agent-skills/blob/main/skills/deprecation-and-migration/SKILL.md
- インストールコマンド: `npx skills add addyosmani/agent-skills --skill deprecation-and-migration`
- ライセンス: MIT
- 対応ツール: Claude Code, Codex, Cursor, Copilot, Gemini CLI
- 権限: read-repo ✓, write-files ✓, shell ✓, network ✗
- 状態: スキャン済み
- ルールスキャンですべてのリスクを検出できるわけではありません。インストール前にこのスキルの SKILL.md を読み、権限を確認してください。

## 基本ルール

動く代替がないまま非推奨にせず、DB の列はその場で変更しません。

## 実行フェーズ

1. **廃止を判断** — 独自の価値が残っているか、利用者数、移行コスト、維持コストを確認し、原則は勧告型の非推奨化を選びます。
2. **代替を用意** — 代替は主要なユースケースを満たし、ドキュメントと移行ガイドを備え、本番で実績があることを確認してから告知します。
3. **段階的に移行** — 利用者を一つずつ移し、ストラングラー、アダプター、フィーチャーフラグを使います。DB は拡張・バックフィル・縮小の段階で進めます。
4. **旧システム削除** — メトリクスやログで利用ゼロを確かめてから、旧コード、テスト、ドキュメント、設定、告知を削除します。

## 権限の説明（SKILL.md より）

| 機能 | 必要か | 説明 |
|---|---|---|
| ファイル書き込み | 必要 | 代替コード、アダプター、マイグレーション、非推奨告知を書き、旧コードと関連テスト・ドキュメントを削除します。 |
| コマンド実行 | 必要 | テストや統合チェックで挙動を確かめ、マージ前にマイグレーションの down を実行します。 |
| 外部通信 | 不要 | 外部ネットワークやサービスへのアクセスは求めていません。 |

## SKILL.md のフロントマター（YAML）

```yaml
---
name: deprecation-and-migration
description: Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when migrating a database schema in production, such as renaming or dropping a column without downtime (expand/contract). Use when deciding whether to maintain or sunset existing code.
---
```

ホーム: https://www.myskills.tools/ja/ · URL: https://www.myskills.tools/ja/skills/deprecation-and-migration/
