本文へ移動
cccskills
無料GitHub で公開

full-review

並列監査 + 全修正 + 検証の一気通貫レビュー。--rubric-path=<rubric.md> でゴール条件を注入可能。--auto-approve でサブエージェント向け対話スキップ + 構造化 JSON 出力モード

インストール方法を見る

含まれるファイル(7)

  • SKILL.md8.6 KB
  • references/scalable-code-review.md1.4 KB
  • references/stage-1.md6.6 KB
  • references/stage-2.md15.3 KB
  • references/stage-3.md9.7 KB
  • references/stage-4.md5.8 KB
  • references/stage-5.md7.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

/full-review - 並列監査 + 全修正 + 自動ループ

引数: 対象ファイルまたはディレクトリ(必須)

⚠️ 警告(直列のみ運用): フェーズ 2 では複数 /full-review の同時実行を禁止する。 状態ファイル(lam-loop-state.json 等)は固定名のためレース条件が発生する(R-1/R-2 リスク)。 並列対応(invocation_id による状態ファイル分離)はフェーズ 3 で実装予定。

AUDITING フェーズとの使い分け

  • AUDITING フェーズ: 手動でフェーズ切替し段階的に監査(skill 廃止済 / .claude/current-phase.md を手動更新)
  • /full-review: ワンショット実行。並列監査 -> 修正 -> 検証を自動ループで完了

Stage 0: 初期化

実行条件: 常に実行 入力: 対象パス(引数) 出力: lam-loop-state.json, scale-detection.json

Step 1: ループ状態ファイル生成

.claude/lam-loop-state.json を生成し、自動ループを開始する。

# 引数から --rubric-path=<value> を抽出(省略時は空文字)
# 例: /full-review src/ --rubric-path=rubric.md → RUBRIC_PATH=rubric.md
RUBRIC_PATH=""
AUTO_APPROVE=false
for arg in $ARGUMENTS; do
  case "$arg" in
    --rubric-path=*) RUBRIC_PATH="${arg#--rubric-path=}" ;;
    --auto-approve) AUTO_APPROVE=true ;;
  esac
done

# TARGET は ARGUMENTS の最初の非オプション引数
TARGET=""
for arg in $ARGUMENTS; do
  case "$arg" in
    --*) ;;
    *) if [ -z "$TARGET" ]; then TARGET="$arg"; fi ;;
  esac
done

# 状態ファイルを生成(Bash で実行)
# 注: $TARGET / $TIMESTAMP / $RUBRIC_PATH / $AUTO_APPROVE はシェル変数。heredoc 内で展開される
# rubric_path は省略時に空文字で格納(後方互換: フィールド追加のみ・既存フィールド変更なし)
# auto_approve は省略時 false(後方互換)
cat > .claude/lam-loop-state.json << EOF
{
  "active": true,
  "command": "full-review",
  "target": "$TARGET",
  "iteration": 0,
  "max_iterations": 5,
  "started_at": "$TIMESTAMP",
  "rubric_path": "$RUBRIC_PATH",
  "auto_approve": $AUTO_APPROVE,
  "log": []
}
EOF

状態ファイルスキーマ (.claude/lam-loop-state.json):

フィールド型説明管理者
activebooleanループ有効フラグ/full-review
commandstring起動コマンド(常に "full-review")/full-review
targetstring監査対象パス(引数から取得)/full-review
iterationnumber現在のイテレーション番号(0始まり)/full-review
max_iterationsnumber最大イテレーション数(デフォルト: 5)/full-review
started_atstringループ開始時刻(ISO 8601)/full-review
logarray各イテレーションの記録(下記参照)/full-review
fullscan_pendingbooleanフルスキャン待ちフラグ(Stage 5 でセット、Claude が参照)/full-review
pm_pendingbooleanPM級承認待ちフラグ(Stage 4 でセット、Claude/Stop hook が参照)/full-review
tool_eventsarrayツール実行イベントの記録(PostToolUse hook が追記)PostToolUse hook
rubric_pathstringゴール条件 rubric ファイルのパス(省略時は空文字 "")/full-review
auto_approveboolean対話スキップ + 構造化 JSON 出力モード(デフォルト: false)/full-review

log エントリ:

フィールド型説明
iterationnumberイテレーション番号
issues_foundnumber発見した問題数
issues_fixednumber修正した問題数
pgnumberPG級の問題数
senumberSE級の問題数
pmnumberPM級の問題数
test_countnumberテスト数(Stop hook がエスカレーション判定に使用)

ループ制御の仕組み: ループは Claude(本スキル)が Stage 5 完了後に自分で Stage 2 に戻ることで実現する。 Stop hook はアクティブなループが存在する限り block するが、あくまで安全ネットであり、ループの主制御には使わない。 stop_hook_active=true の再帰防止により Stop hook 自身が再帰的に呼ばれることはない。 Green State 判定、イテレーション管理、状態ファイル削除は全て Claude 側の責務。

Step 2: context7 MCP 検出

full-review 開始時に context7 MCP の利用可否を確認する。

  • 利用可能: 仕様確認(G4/G5)で context7 を使用
  • 利用不可: 以下の警告を表示し、仕様確認をスキップして処理を続行
⚠️ context7 MCP が未設定のため、仕様確認(G5)をスキップしました。
  最新仕様との整合性確認が必要な場合は、対話モードで
  PLANNING フェーズまたは upstream-first ルールを利用してください。
  (full-review 内での WebFetch は無応答リスクがあるため使用しません)

WebFetch は対話モード(PLANNING フェーズ, upstream-first)でのみフォールバックとして使用する。 自動フロー内での WebFetch は無応答・無限待機のリスクがあるため使用しない。

Step 3: Scale Detection 判定(Plan E: FR-E2)

プロジェクト規模に応じて有効化する Plan セットを自動判定する。

bash .claude/scripts/py_invoke.sh .claude/hooks/analyzers/scale_detector.py "$TARGET"

判定結果は .claude/review-state/scale-detection.json に永続化される。

後続 Stage の制御:

Active PlansStage 1Stage 2Stage 3Stage 4
なし(~10K)スキップ従来モードレポート統合のみ重要度順修正
Plan A実行従来モードレポート統合のみ重要度順修正
Plan A + B実行チャンクモードLayer 2/3 実行重要度順修正
Plan A + B + C実行チャンクモード全 Layer 実行重要度順修正
Plan A + B + C + D実行チャンクモード + トポロジカル順全 Layer 実行トポロジカル順修正

Step 4: untracked ファイルの事前確認

git status --porcelain で untracked ファイルの有無を確認する。

if [ "$AUTO_APPROVE" = "false" ]; then
  # 通常モード: untracked が存在する場合、警告してユーザーに削除/除外の確認を求める
  # (B-2 iter4 で残置一時ファイルが偽陽性 10 件を発生させた教訓。B-2 retro 反映)
  git status --porcelain | grep '^??' && echo "⚠️ untracked ファイルが存在します。静的解析ノイズ源となる可能性があります。削除/除外しますか?"
else
  # auto_approve モード: 警告のみ表示し、対話なしで続行
  git status --porcelain | grep '^??' && echo "⚠️ [auto_approve] untracked ファイルが存在します(静的解析ノイズ源の可能性)。対話スキップのため続行します。"
fi

Stage 0 完了後、Stage 1 に進む(Plan A 以上の場合)。Plan セットが「なし」の場合は Stage 1 をスキップし Stage 2 に直行する。


Stage map(以降の手順は必要になった時点で読む)

Stage 0 完了後、現在の Stage のファイルだけを読んで実行する。先読みしないこと。

Stage内容参照先
Stage 1静的分析 + 依存グラフ構築references/stage-1.md
Stage 2チャンク分割 + トポロジカル順レビューreferences/stage-2.md
Stage 3階層的統合 + レポート生成references/stage-3.md
Stage 4トポロジカル順修正references/stage-4.md
Stage 5検証 + Green State 判定 + 完了references/stage-5.md

背景資料: references/scalable-code-review.md(実行手順ではない)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

adr-template

無料日本語概要

ADR(Architecture Decision Record)作成を支援するテンプレートスキル。 docs/adr/ へのADR作成時に自動適用され、 06_DECISION_MAKING.md の3 Agents Modelに準拠した構造を提案する。 アーキテクチャ決定、技術選定、設計方針の記録時に活用される。

sougetuOte/LivingArchitectModel42026年9月8日 更新

autonomous

無料日本語概要

AUTONOMOUSフェーズを開始 - 対象 spec を Green State(G1) まで自律実装(MVP/Wave 1)

sougetuOte/LivingArchitectModel42026年9月8日 更新

build-dashboard

無料日本語概要

LAM ダッシュボード HTML を生成し、出力パスを表示する

sougetuOte/LivingArchitectModel42026年9月8日 更新

building

無料日本語概要

BUILDINGフェーズを開始 - TDD実装サイクル

sougetuOte/LivingArchitectModel42026年9月8日 更新

clause-gate

無料日本語概要

新規条項の誕生ゲート(5 宛先の routing 判定 → 常駐集合の予算処理 → 台帳記録)。規範文書に条項を追加・移動・削除するときに実行する

sougetuOte/LivingArchitectModel42026年9月8日 更新

goal-driven

無料日本語概要

ゴール駆動オーケストレーション - rubric ファーストの自己修正 BUILDING ループ

sougetuOte/LivingArchitectModel42026年9月8日 更新

sougetuOte のスキルをすべて見る

このスキルの問題を報告する