ln-823-pip-upgrader について
pip、poetry、pipenvを使うPythonプロジェクトの依存関係を更新するスキルです。脆弱性や古いパッケージ、破壊的変更を確認し、インストール後の検証結果を報告します。
主な機能
- 01pip、poetry、pipenvに対応
- 02更新前のセキュリティ監査
- 03古いパッケージと破壊的変更の検出
- 04インポートとテストの検証
- 05機械可読な更新レポートの作成
活用シーン
- 01Pythonプロジェクトの依存関係更新
- 02更新前のセキュリティ問題の確認
- 03インポート検査とテストによる変更確認
MCP 対応
メジャーバージョン更新やインポートエラーがある場合、MCPのドキュメント検索ツールで移行ガイドを調べます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-823-pip-upgraderインストール後、Claude Code で/ln-823-pip-upgraderを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/breaking_changes_patterns.mdcoordinator_summary_contract.mdpython_venv_handling.md詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリからの相対パスです。
ln-823-pip-upgrader
タイプ: L3 ワーカー
カテゴリ: 8XX 最適化
破壊的変更を自動検出しながら、Python の依存関係をアップグレードします。
概要
| 項目 | 詳細 |
|---|---|
| 入力 | プロジェクトパスとパッケージマネージャーの種類 |
| 出力 | 更新された依存関係マニフェストと、機械可読な依存関係アップグレードの概要 |
| 対応 | pip、poetry、pipenv |
ワークフロー
フェーズ: 事前確認 -> マネージャーの検出 -> セキュリティ監査 -> 古いパッケージの確認 -> アップグレードの適用 -> インストールの検証 -> 報告
フェーズ 0:事前確認
| 確認項目 | 必須 | 不足している場合の対応 |
|---|---|---|
requirements.txt、pyproject.toml、または Pipfile | はい | アップグレードをブロック |
| Python パッケージマネージャーが利用可能 | はい | アップグレードをブロック |
| 仮想環境が有効 | いいえ | 管理対象環境が不明確な場合はユーザーに警告 |
| ワークスペースのベースラインが安全 | はい | 管理された実行では、コーディネーターがすでに準備しています。単独実行では、ロールバックをローカルで保護します |
ランタイムの連携
管理された実行では、ln-820 から決定論的な runId と正確な summaryArtifactPath を受け取ります。
単独実行も引き続きサポートされます。ランタイム引数が省略された場合は、返却前に単独実行スコープのアーティファクトを生成します。
フェーズ 1:マネージャーの検出
| マネージャー | 識別ファイル |
|---|---|
| pip | requirements.txt |
| poetry | pyproject.toml + poetry.lock |
| pipenv | Pipfile + Pipfile.lock |
フェーズ 2:セキュリティ監査
| マネージャー | コマンド |
|---|---|
| pip | pip-audit --json |
| poetry | poetry audit |
| pipenv | pipenv check |
対応:
| 深刻度 | 対応 |
|---|---|
| Critical | ブロックして報告 |
| High | 警告して続行 |
| Moderate/Low | ログのみ |
フェーズ 3:古いパッケージの確認
| マネージャー | コマンド |
|---|---|
| pip | pip list --outdated --format=json |
| poetry | poetry show --outdated |
| pipenv | pipenv update --outdated |
フェーズ 4:アップグレードの適用
| マネージャー | コマンド |
|---|---|
| pip | pip install --upgrade <package> |
| pip (freeze) | pip freeze > requirements.txt |
| poetry | poetry update |
| pipenv | pipenv update |
移行検索用 MCP ツール
| 優先度 | ツール | 使用するタイミング |
|---|---|---|
| 1 | mcp__context7__query-docs | ライブラリのドキュメントを調べる場合の第一選択 |
| 2 | mcp__Ref__ref_search_documentation | 公式ドキュメントと PyPI |
| 3 | WebSearch | 最新情報とコミュニティの修正 |
パッケージのアップグレードでメジャーバージョンをまたぐ場合や、インポートエラーが発生する場合は、必ず MCP ツールを使用してください。
フェーズ 5:インストールの検証
| 確認項目 | コマンド |
|---|---|
| インポートのスモークテスト | python -c "import <package>" |
| テスト | pytest または python -m pytest |
よくある破壊的変更の例:
必ず読むこと: 共通パターンについては、breaking_changes_patterns.md を読み込んでください。
| パッケージ | 破壊的変更のあるバージョン | 主な変更点 |
|---|---|---|
| pydantic | 1 -> 2 | 互換性レイヤーが必要 |
| sqlalchemy | 1 -> 2 | クエリー API の変更 |
| fastapi | 0.99 -> 0.100+ | Pydantic v2 との整合 |
フェーズ 6:結果の報告
| フィールド | 説明 |
|---|---|
project | プロジェクトパス |
packageManager | pip、poetry、または pipenv |
duration | 合計時間 |
upgrades[] | 適用したアップグレード |
verification | インポート/テストの判定 |
warnings[] | ブロックを伴わない問題 |
artifact_path | 書き込まれた場合の、永続的なワーカーレポートのパス |
設定
Options:
upgradeType: major # major | minor | patch
auditLevel: high
minimumReleaseAge: 14
pythonVersion: "3.12"
useVirtualenv: true
runTests: true
エラー処理
| エラー | 原因 | 解決策 |
|---|---|---|
| ImportError | 破壊的な API 変更 | 現行の移行ドキュメントを検索 |
| Dependency conflict | バージョンの不一致 | ロックファイルを再生成するか、問題のあるパッケージをロールバック |
参考資料
ランタイム概要アーティファクト
必ず読み込んでください: references/coordinator_summary_contract.md を読み込みます。
dependency-worker の概要エンベロープを出力します。
管理モード:
ln-820が決定論的なrunIdと正確なsummaryArtifactPathを渡します- 概要を、渡された
summaryArtifactPathに書き込みます
スタンドアロンモード:
runIdとsummaryArtifactPathは省略します.hex-skills/runtime-artifacts/runs/{run_id}/dependency-worker/ln-823--{identifier}.jsonに書き込みます
モニター(2.1.98+): 30秒を超えると予想されるインストール/監査/テストコマンドには、Monitor を使用します。代替手段:Bash(run_in_background=true)。
完了の定義
- プロジェクトの指標からパッケージマネージャーを検出済み
- 選択した Python マネージャーのセキュリティ監査を完了済み
- 古くなったパッケージを特定済み
- パターンと最新のドキュメントを使用して破壊的変更を確認済み
- マニフェストとロックファイルの更新を永続化してアップグレードを適用済み
- インポートのスモークテストと必須テストが成功
-
dependency-workerの概要アーティファクトを管理モードまたはスタンドアロンのパスに書き込み済み
バージョン: 1.1.0 最終更新日: 2026-01-10