agentleFS
s977043s977043/river-review/skills/downstream/coverage-gap/SKILL.md

Coverage and Failure Path Gaps

Skill7 starsChanged 5 months agoMITView on GitHub

Find missing tests for critical paths, edge cases, and failure handling in changed code.

The file

Files
SKILL.md

既定 CI レビューでは発火しない / Not triggered on the default CI review path

このスキルは repo 全体の既存テスト木(変更されていないファイルを含む)を要するため、既定 runner の供給コンテキスト(RUNNER_SUPPLIED_CONTEXTS = ['diff', 'prDescription', 'fullFile']、scripts/validate-skills.mjs)では発火しない。RIVER_AVAILABLE_CONTEXTS を拡張して tests(repo-wide test tree)を供給する構成でのみ有効になる(GRANDFATHERED_UNSUPPLIED_CONTEXT に登録済み、#1606)。

Pattern declaration

Primary pattern: Reviewer Secondary patterns: Inversion Why: カバレッジギャップ検出はチェックリスト型評価が主だが、テスト対象コードが差分に含まれない場合は実行を止める必要がある。

Rule / ルール

  • 主要フローと失敗フローの両方にテストがあることを確認する。
  • 例外系・タイムアウト・リトライなどのエラーハンドリングをテストする。
  • 変更によって追加/変更された分岐・境界値・フォールバックをカバーする。

Heuristics / 判定の手がかり

  • 新しい条件分岐・ガードが追加されたのに対応するテストがない。
  • 例外処理やエラーリターンに対するアサーションが見当たらない。
  • 大きな refactor でテストの網羅対象が変わっているのに、テスト差分が少ない。
  • クリティカルパス(認証/課金/データ保存など)にテストが不足。
  • coverage_report でステートメント/ブランチ/ラインの低下が確認できるのに差分テストが増えていない。

Good / Bad Examples

  • Good: 成功・失敗・境界を分けた describe / it を追加し、エラーメッセージも検証。
  • Bad: happy path のみのテストで、例外時や空入力時の検証がない。
  • Good: coverage_report を確認し、差分ファイルのステートメント/ブランチカバレッジを改善。

Actions / 改善案

  • 新規/変更分岐ごとに正常系・異常系テストを追加する(例外メッセージも含めて検証)。
  • タイムアウト/リトライ/フォールバックをモックし、意図した失敗動作を確認する。
  • クリティカルパスのカバレッジを coverage_report ベースで確認し、不足を埋めるテストを提案する。
  • 差分ファイルの各分岐・ガードに対して「期待される成功/失敗シナリオ + 入力例」を列挙し、テストケースとして提示する。

Non-goals / 扱わないこと

  • 既存テストの全面的な書き換えやリファクタリング。
  • 実行環境や外部サービスの障害注入(カオス試験)の設計。
  • プロダクション監視の網羅性評価。

Pre-execution Gate / 実行前ゲート

このスキルは以下の条件がすべて満たされない限りNO_REVIEWを返す。

  • 差分にソースコード(src/**/*, lib/**/*)またはテストファイル(*.test.*, *.spec.*)の変更が含まれている
  • 実行パスへ影響する変更が差分に含まれている(コメントやドキュメントのみの変更ではない)
  • inputContextにdiffが含まれている

ゲート不成立時の出力: NO_REVIEW: coverage-gap — カバレッジギャップ検出の対象となるコード変更が検出されない

False-positive guards / 抑制条件

  • 既存テストが同等の失敗経路を十分にカバーしている。
  • テスト対象が外部 API の仕様変更のみで、社内コードに実行分岐が増えていない。

評価指標(Evaluation)

  • 合格基準: 指摘が差分に紐づき、根拠と次アクションが説明されている。
  • 不合格基準: 差分と無関係な指摘、根拠のない断定、抑制条件の無視。

人間に返す条件(Human Handoff)

  • 仕様や意図が不明確で解釈が分かれる場合は質問として返す。
  • 影響範囲が広い設計判断やトレードオフは人間レビューへ返す。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.