mcpField
L
ln-713-pip-upgrader

ln-713-pip-upgrader

github.com/levnikolaevich開発58455 回インストール2 日前に更新
リポジトリ

ln-713-pip-upgrader について

pip、poetry、pipenv を使う Python プロジェクト向けの依存関係更新スキルです。セキュリティ監査、更新対象の確認、アップグレード、破壊的変更の調査を行い、インストールとテストを検証します。

主な機能

  1. 01pip、poetry、pipenv の判定
  2. 02依存関係のセキュリティ監査
  3. 03更新対象パッケージの確認
  4. 04アップグレードと定義ファイル更新
  5. 05インポートと pytest の検証

活用シーン

  1. 01Python プロジェクトの依存関係更新
  2. 02更新前の古いパッケージの確認
  3. 03依存関係メンテナンス時の脆弱性確認
  4. 04更新後のインポートとテストの検証

MCP 対応

ワークフローでは Context7 や MCP Ref などの MCP ツールを使い、破壊的変更に関するライブラリ文書や移行ガイドを検索できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-713-pip-upgrader

インストール後、Claude Code で/ln-713-pip-upgraderを入力して読み込まれたか確認します。

同梱ファイルdiagram.htmlreferences/python_venv_handling.md

詳細

パス: ファイルパス(shared/、references/、../ln-*)はスキルリポジトリのルートからの相対パスです。CWD に見つからない場合は、この SKILL.md があるディレクトリを探し、1 つ上の階層をリポジトリのルートとして使用してください。

ln-713-pip-upgrader

タイプ: L3 ワーカー カテゴリ: 7XX プロジェクトのブートストラップ 親: ln-710-dependency-upgrader

破壊的変更を自動検出しながら Python の依存関係をアップグレードします。


概要

項目詳細
入力プロジェクトパス、パッケージマネージャーの種類
出力更新済みの requirements.txt/pyproject.toml
対応pip、poetry、pipenv

ワークフロー

視覚的なワークフローは diagram.html を参照してください。

フェーズ: 事前チェック → マネージャーの検出 → セキュリティ監査 → 古いパッケージの確認 → アップグレードの適用 → インストールの検証 → 報告


フェーズ 0:事前チェック

チェック必須不足している場合のアクション
requirements.txt または pyproject.toml または Pipfileはいアップグレードをブロック
仮想環境が有効いいえユーザーに警告(システムを汚染するリスク)

ワーカーは、コーディネーター(ln-710)がすでに git の状態を確認し、バックアップを作成していることを前提とします。


フェーズ 1:マネージャーの検出

マネージャー判定ファイル
piprequirements.txt
poetrypyproject.toml + poetry.lock
pipenvPipfile + Pipfile.lock

フェーズ 2:セキュリティ監査

コマンド
マネージャーコマンド
pippip-audit --json
poetrypoetry audit(プラグイン経由)
pipenvpipenv check
アクション
深刻度アクション
重大アップグレードをブロックして報告
高警告して続行
中/低ログに記録のみ

フェーズ 3:古いパッケージの確認

コマンド
マネージャーコマンド
pippip list --outdated --format=json
poetrypoetry show --outdated
pipenvpipenv update --outdated

フェーズ 4:アップグレードの適用

コマンド
マネージャーコマンド
pippip install --upgrade <package>
pip(freeze)pip freeze > requirements.txt
poetrypoetry update
pipenvpipenv update

移行検索用 MCP ツール

優先順位(フォールバック戦略)
優先度ツール使用するタイミング
1mcp__context7__query-docsライブラリのドキュメントを調べる第一候補
2mcp__Ref__ref_search_documentation公式ドキュメントと PyPI
3WebSearch最新情報、コミュニティの解決策
Context7 の使用方法
手順ツールパラメーター
1. ライブラリを特定mcp__context7__resolve-library-idlibraryName: "pydantic"
2. ドキュメントを検索mcp__context7__query-docsquery: "pydantic v1 to v2 migration breaking changes"
MCP Ref の使用方法
アクションツールクエリの例
検索mcp__Ref__ref_search_documentation"python pydantic 2 migration guide"
読み取りmcp__Ref__ref_read_url検索結果の URL
WebSearch のフォールバック

Context7/Ref で結果が得られない場合に使用します:

  • "<package> python <version> breaking changes migration"
  • "<ImportError message> <package> fix"

フェーズ 5:インストールの検証

コマンド
チェックコマンド
インポートテストpython -c "import <package>"
テストpytest または python -m pytest

フェーズ 6:結果の報告

レポートのスキーマ
フィールド説明
projectプロジェクトパス
packageManagerpip、poetry、または pipenv
duration合計時間
upgrades[]適用したアップグレード
verificationPASSED または FAILED

よくある破壊的変更

必ずお読みください: パターンの詳細については、breaking_changes_patterns.md を読み込んでください。

パッケージ破壊的変更のバージョン主な変更点
pydantic1 → 2V1 互換レイヤーが必要です
sqlalchemy1 → 2クエリ構文の変更
fastapi0.99 → 0.100+Pydantic v2 が必要です

設定

Options:
  # Upgrade scope
  upgradeType: major          # major | minor | patch

  # Security
  auditLevel: high
  minimumReleaseAge: 14

  # Python specific
  pythonVersion: "3.12"
  useVirtualenv: true

  # Verification
  runTests: true

エラー処理

エラー原因解決策
ImportErrorAPI の破壊的変更Context7/Ref で移行方法を検索します
依存関係の競合バージョンの不一致pip-compile または poetry lock を試します

参考資料


完了の定義

  • インジケーターファイルからパッケージマネージャー(pip/poetry/pipenv)を検出済み
  • セキュリティ監査を完了済み(pip-audit/poetry audit/pipenv check)
  • 古くなったパッケージを特定し、一覧に記載済み
  • アップグレードを適用し、requirements.txt/pyproject.toml を更新済み
  • MCP 移行ガイドを使用して破壊的変更に対応済み
  • アップグレード後のインポートテストと pytest が成功
  • 適用したアップグレードと検証状況を含むレポートを返却済み

バージョン: 1.1.0 最終更新日: 2026-01-10

コメント