bump-deps について
bump-depsは、JavaScript、TypeScript、Pythonプロジェクトの開発者向けに、古い依存関係の分析と安全な更新を支援するスキルです。プロジェクトに応じてパッケージマネージャーを選び、重要な更新の破壊的変更を調べ、移行計画とPR概要を用意して、確認後にPRを作成します。
主な機能
- 01プロジェクトに応じたパッケージマネージャー検出
- 02古い依存関係の一覧表示
- 03重要な更新の破壊的変更分析
- 04移行計画とPR概要の作成
- 05ユーザー確認後のPR作成
活用シーン
- 01プロジェクトの古い依存関係の確認
- 02メジャー更新に伴う移行リスクの評価
- 03依存関係更新のPR準備と作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ casper-studios/ casper-marketplace --skill bump-depsインストール後、Claude Code で/bump-depsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/pull-request-template.mdreferences/pnpm.mduv.md詳細
依存関係の更新
古くなった依存関係を分析し、破壊的変更を検出しながら安全にアップグレードします。
ワークフロー
-
現在のディレクトリに基づいてパッケージマネージャーを検出します。
frontend/ディレクトリ内にいる場合、または TypeScript/JavaScript を扱っている場合は、pnpmリファレンスを使用します。backend/ディレクトリ内にいる場合、または Python を扱っている場合は、uvリファレンスを使用します。
-
リファレンスに記載されたパッケージマネージャー固有のコマンドを使って、古くなった依存関係を一覧表示します。
-
注目すべきアップグレードごとに、バックグラウンド分析タスクを起動します。
重要:注目すべきアップグレードの一つひとつについて、
package-upgrade-analyzerサブエージェントを必ずバックグラウンドタスクとして起動してください。近道をしてはいけません。Task( subagent_type="package-upgrade-analyzer", run_in_background=true, prompt="Analyze upgrade for {package_name} from {old_version} to {new_version}. GitHub: {repo_url}" )注目すべきアップグレードには、以下が含まれます。
- メジャーバージョンの更新(例:v4 → v5)
- 既知の破壊的変更があるパッケージ
- コア依存関係(React、Next.js、FastAPI、SQLAlchemy など)
並列処理を最大限に活用するため、すべてのタスクを複数のツール呼び出しを含む単一のメッセージで起動します。
-
すべてのバックグラウンドタスクが完了するまで待ちます。
TaskOutputを使用して、各バックグラウンドタスクの結果を取得します。- すべてのタスクが完了したら、提案、移行ガイド、リリースノートを十分に検討します。
Planツールとそのサブエージェントを呼び出し、破壊的変更に戦略的に対処します。- 元の動作をできるだけ維持できるよう、慎重に計画します。
-
確認の質問をします。
- 移行方法が曖昧な場合は、質問します。
- 依存関係のバージョン更新が安全だと確信できるまでは、作業を進めてはいけません。
-
PR の概要ドキュメントを作成します。
PR テンプレートを使用して、
.claude/scratchpad/PR.mdファイルを作成します。 読みやすさのため、すべてのパッケージ識別子がバッククォートで囲まれていることを確認します。 -
PR を作成します(ユーザーの確認が必要です)。
.claude/scratchpad/PR.mdを作成した後、AskUserQuestionを使用して確認します。AskUserQuestion( question="Ready to create the PR? You can edit .claude/scratchpad/PR.md first if needed.", header="Create PR?", options=[ { label: "Create PR", description: "Create the PR with current PR.md content" }, { label: "Let me edit first", description: "I'll edit PR.md and confirm when ready" } ] )ユーザーの確認後、
PR_TITLEを決定して PR を作成します。PR_TITLEの決定方法:- スコープ:フロントエンド(pnpm)には
app、バックエンド(uv)にはapiを使用します。 - 内容(最初に該当するものを選択します)。
- 注目すべきパッケージが3個以下の場合:パッケージ名と更新先のメジャーバージョンを列挙します。
→ "deps(app): bump
react-queryto v5,nextto v15" - 注目すべきパッケージが4個を超える場合:注目すべきパッケージを1~2個示し、件数を追加します。
→ "deps(api): bump
sqlalchemyto v2 (+4 packages)" - マイナーバージョンの更新のみが多数ある場合:件数のみを記載します。 → "deps(app): bump 12 dependencies"
- 注目すべきパッケージが3個以下の場合:パッケージ名と更新先のメジャーバージョンを列挙します。
→ "deps(app): bump
- 72文字以内に収めます。
PR_TITLE="deps(app): bump react-query to v5, next to v15" gh pr create --base dev --head "$(git rev-parse --abbrev-ref HEAD)" --title "$PR_TITLE" --body-file .claude/scratchpad/PR.mdPR の作成に成功した後:
# Clean up the scratchpad file rm .claude/scratchpad/PR.mdPR の URL をユーザーに返します。
- スコープ:フロントエンド(pnpm)には
重要な注意事項
- アップグレード前に、必ず破壊的変更を分析します。
- 効率化のため、並列タスクのエージェントを使用します。
- 速度より安全性を重視します。本番環境を壊すより、質問するほうが適切です。
- リスクの高いアップグレードでは、ロールバック戦略を検討します。
追加の指示
以下の指示は、ユーザーによる動作の上書きです。
$ARGUMENTS