effect-review について
Effect-TS の慣行に沿ってコード変更のレビューを調整するスキルです。変更ファイルを分類して専門のサブエージェントに並行レビューを依頼し、評価付きのレポートにまとめます。
主な機能
- 01変更ファイルの検出と分類
- 02専門レビューの並行実行
- 03Effect、TypeScript、UI パターンの確認
- 04重要度別の指摘事項の集約
- 050〜10 点でのレビュー評価
活用シーン
- 01Effect-TS バックエンド変更のレビュー
- 02テストカバレッジとテストパターンの確認
- 03UI コンポーネント変更の評価
- 04統合コードレビューレポートの作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ makisuo/ skills --skill effect-reviewインストール後、Claude Code で/effect-reviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/branded-types.mdeffect-atom-patterns.mdeffect-primitives.mderror-patterns.mdotel-patterns.mdtest-patterns.mdtypescript-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、Layerreferences/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