mcpField
E
effect-review

effect-review

github.com/makisuoテスト・品質7979 回インストール2 週間前に更新
リポジトリ

effect-review について

Effect-TS の慣行に沿ってコード変更のレビューを調整するスキルです。変更ファイルを分類して専門のサブエージェントに並行レビューを依頼し、評価付きのレポートにまとめます。

主な機能

  1. 01変更ファイルの検出と分類
  2. 02専門レビューの並行実行
  3. 03Effect、TypeScript、UI パターンの確認
  4. 04重要度別の指摘事項の集約
  5. 050〜10 点でのレビュー評価

活用シーン

  1. 01Effect-TS バックエンド変更のレビュー
  2. 02テストカバレッジとテストパターンの確認
  3. 03UI コンポーネント変更の評価
  4. 04統合コードレビューレポートの作成

インストール

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

$npx skills add https://github.com/makisuo/skills --skill effect-review

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
branded-types.md
effect-atom-patterns.md
effect-primitives.md
error-patterns.md
otel-patterns.md
test-patterns.md
typescript-patterns.md

詳細

Effect-TS コードレビュー

Effect-TS のベストプラクティスに照らして、複数のエージェントによるコード変更のレビューをオーケストレーションします。

ワークフロー

Step 1: 変更されたファイルを見つける

git diff --name-only main...HEAD を実行して、現在のブランチで変更されたすべてのファイルを見つけます。失敗した場合(例:main ブランチの場合)は、git diff --name-only HEAD~1、またはステージングされていない変更に対して git diff --name-only を実行します。

変更されたファイルをユーザーに一覧表示します。

Step 2: ファイルを分類する

ファイルを次のカテゴリに分けます。

  • Backend Effect ファイル:.test.ts で終わらない .ts ファイル。ただし、設定ファイル(.config.ts、tsconfig など)と UI コンポーネントライブラリのディレクトリは除きます
  • テストファイル:.test.ts ファイル
  • UI ファイル:.tsx ファイル
  • スキップ:.md、.json、.yml、.css、設定ファイル、生成されたファイル
Step 3: サブエージェントを並列で起動する

該当するカテゴリにファイルがある場合、Agent ツールを使って適切なエージェントを起動します。並列度を最大にするため、該当するエージェントをすべて1 つのメッセージで起動します。

Backend Effect ファイルがある場合は、次の 4 つのエージェントを並列で起動します。

  • effect-primitives-reviewer — Effect のプリミティブを確認します(Array、Match、Option、forEach、try/catch を使用しない、async/await を使用しない、Effect.provide ではなく Layer を使用する)
  • branded-types-reviewer — すべてのエンティティ ID でブランド型が使用されているか確認します
  • otel-reviewer — トレーシングの設定を確認します(Effect.fn のトレース名、annotateCurrentSpan、構造化ログ)
  • error-reviewer — エラーの定義と処理を確認します(Schema.TaggedError、catchTag、詳細なコンテキスト)
  • typescript-reviewer — TypeScript のパターンを確認します(as any を使用しない、as より satisfies を優先する、型が推論される場合に手動で型注釈を付けない)

テストファイルがある場合は、次を起動します。

  • test-coverage-reviewer — @effect/vitest のパターンを確認し、カバレッジの不足箇所を評価します

UI ファイルがある場合は、次を起動します。

  • ui-reviewer — コンポーネントライブラリの使用状況、アクセシビリティ、レイアウト、ブランドの一貫性を確認します

各エージェントには、次のプロンプトを指定します。

次のファイルを、[エージェントの専門分野]の観点からレビューしてください。各ファイルを読み、Critical/Warning/Info の指摘事項を含む構造化されたレポートを作成してください。

レビュー対象のファイル:

  • [ファイルパスの一覧]

また、このスキルを基準とする references/[関連するリファレンス].md のリファレンスガイドも確認し、詳細なチェックリストを参照してください。

Step 4: 統合レポート

すべてのエージェントが完了したら、結果を 1 つのレポートにまとめます。

# Effect Review Report

## Effect Primitives
[agent output]

## Branded Types
[agent output]

## OTEL / Observability
[agent output]

## Error Handling
[agent output]

## TypeScript Patterns
[agent output]

## Test Coverage
[agent output]

## UI Quality
[agent output]

---

## Summary

| Category | Critical | Warning | Info |
|----------|----------|---------|------|
| Primitives | X | Y | Z |
| Branded Types | X | Y | Z |
| OTEL | X | Y | Z |
| Errors | X | Y | Z |
| TypeScript | X | Y | Z |
| Tests | X | Y | Z |
| UI | X | Y | Z |
| **Total** | **X** | **Y** | **Z** |

**Verdict**: PASS / NEEDS WORK / FAIL

**Score: X/10**
  • PASS:重大な指摘事項が 0 件
  • NEEDS WORK:重大な指摘事項が 1~3 件
  • FAIL:重大な指摘事項が 4 件以上
スコアリング(0~10)

すべての指摘事項をまとめた後、全体のスコアを 0~10 で付けます。

  • 10:完璧 — 指摘事項がまったくなく、Effect-TS コードとして模範的です
  • 9:非常に優れている — Info レベルの軽微な提案のみです
  • 8:優れている — 警告が少数あり、重大な指摘事項はありません
  • 7:良好 — 警告が複数ありますが、重大な指摘事項はありません
  • 6:許容範囲 — 重大な指摘事項が 1 件、または警告が多数あります
  • 5:要改善 — 重大な指摘事項が 2~3 件あります
  • 4:基準未満 — 重大な指摘事項が 4~5 件あります
  • 3:不十分 — 重大な指摘事項が 6 件以上あるか、根本的なパターン違反があります
  • 2:非常に不十分 — コードの大半が Effect のパターンに従っていません
  • 1:最低限の準拠 — Effect のパターンがほとんど適用されていません
  • 0:準拠なし — Effect コードとして提出されたコードが、全面的に Effect を使用していません

レポートの最後に、スコアを目立つように表示します。

リファレンスファイル

コードベース固有の例を含む詳細なチェックリスト:

  • references/effect-primitives.md — Effect の Array、Match、Option、forEach、Schema、Layer
  • references/branded-types.md — ブランド型の使用と既知の型の一覧
  • references/otel-patterns.md — トレーシング、スパンのアノテーション、構造化ログ
  • references/error-patterns.md — Schema.TaggedError、catchTag、エラーコンテキスト
  • references/typescript-patterns.md — as any を使用しない、as より satisfies を優先する、手動で型注釈を付けない
  • references/test-patterns.md — @effect/vitest、it.layer、カバレッジ評価
  • references/effect-atom-patterns.md — Effect-Atom の React パターン、クエリ、ミューテーション、Result.builder

コメント