機能完成・PR作成前の品質検証ワークフロー。Pythonデータ分析プロジェクト向けの包括的な検証チェックリスト。
Claude Codeセッション向けの包括的な検証システム(Pythonデータ分析プロジェクト向け)。
このスキルを呼び出す:
# パッケージが正しくインストールされているか確認
uv run python -c "import src; print('OK')"
# 依存関係に問題がないか確認
uv run python -m pip check
インポートが失敗した場合、停止して続行前に修正。
# mypyで型チェック(設定がある場合)
uv run mypy src/ 2>&1 | head -30
# または pyright
uv run pyright src/ 2>&1 | head -30
型エラーをすべて報告。重要なものは続行前に修正。
# ruffでlint
uv run ruff check . 2>&1 | head -30
# ruffでフォーマット確認
uv run ruff format --check . 2>&1 | head -20
# カバレッジ付きでテストを実行
uv run pytest --cov=src --cov-report=term-missing 2>&1 | tail -50
報告:
# ハードコードされたシークレットを確認
grep -rn "api_key\s*=\s*['\"]" --include="*.py" . 2>/dev/null | grep -v ".env" | head -10
grep -rn "password\s*=\s*['\"]" --include="*.py" . 2>/dev/null | grep -v "test" | head -10
grep -rn "AIza\|sk-\|ghp_" --include="*.py" . 2>/dev/null | head -10
# 不要なprint文を確認(ログにすべき箇所)
grep -rn "^[[:space:]]*print(" src/ 2>/dev/null | head -10
# 依存関係の脆弱性を確認(任意)
uv run pip-audit 2>&1 | head -20
# 変更内容を表示
git diff --stat
git diff HEAD --name-only
各変更ファイルをレビュー:
data/, outputs/, model/ へのコミット(gitignore対象なので不要)# ノートブックに出力が残っていないか確認(nbstripoutで削除)
nbstripout notebook/*.ipynb 2>/dev/null
すべてのフェーズを実行後、検証レポートを作成:
検証レポート
==================
インポート: [成功/失敗]
型チェック: [成功/失敗] (Xエラー)
Lint: [成功/失敗] (X警告)
テスト: [成功/失敗] (X/Y成功、Z%カバレッジ)
セキュリティ: [成功/失敗] (X問題)
差分: [Xファイル変更]
総合: PRの準備[完了/未完了]
修正すべき問題:
1. ...
2. ...
長いセッションの場合、主要な変更後に検証を実行:
チェックポイントを設定:
- 各関数を完了した後
- src/ に新しいモジュールを追加した後
- 次のタスクに移る前
実行: /verification-loop
このスキルはPostToolUseフックを補完しますが、より深い検証を提供します。 フックは問題を即座に捕捉し、このスキルは包括的なレビューを提供します。
.gitignore に data/, outputs/, model/, .env が含まれていることpyproject.toml の依存関係が uv.lock と一致していることoutputs/ に適切なレポートがあること