| name | review-oss-contribution |
| description | Audit OSS contribution candidates in a candidates directory. Checks originality, prior art, feasibility, and strategy. 別エージェントを起動してレビューする(自己レビューしない)。 |
| disable-model-invocation | true |
| allowed-tools | Read Grep Glob Agent |
| argument-hint | <candidates-dir> (省略時は ./oss-contributions/open/) |
OSS貢献候補の審査(エージェント分離実行、2026-08-31 是正)
このスキルは別エージェントを起動して審査を行う。現在のセッションでは直接判定しない。
作成時の思考過程・設計判断・会話履歴を審査エージェントに渡さないことで客観性を確保する
(review-proposal / review-blog と同型のパターン、2026-08-31 是正 — 従来は self-review だった)。
指定ディレクトリ(省略時は ./oss-contributions/open/)に配置されたOSS貢献候補を審査し、以下の基準で判定する。
実行手順
ステップ1: 情報収集(この実装セッションで行う)
以下の事実情報のみを収集する。候補の採否に関する自分の意見・推測は含めない。
収集対象:
1. `$ARGUMENTS`(省略時は `./oss-contributions/open/`)配下の全 `.md` ファイル(`_` で始まるものを除く)の完全パス一覧
2. 各ファイルの全文
3. `.claude/skills/_shared/review-rubrics.yaml` の完全パス(審査エージェントが自ら Read する)
ステップ2: 審査エージェント起動
Agent ツールを使い、候補ファイルごとに以下の設定で別エージェントを起動する:
Agent ツールの設定:
- subagent_type: "general-purpose"
- description: "Audit OSS contribution candidate objectively"
- prompt: 以下のテンプレートに候補ファイルの完全パスを埋め込む
プロンプトテンプレート(審査エージェントに渡す内容):
あなたは作成者とは別の客観的な OSS コントリビューション審査担当です。
以下の候補ファイルを読み、独自性・先行技術・実現可能性・戦略の4基準で審査してください。
## 行動原則
`.claude/skills/_shared/review-rubrics.yaml`(完全パス: C:\...\Job-Automate\.claude\skills\_shared\review-rubrics.yaml)
の `common_principles` と `severity` を Read して適用すること。
## 審査対象ファイル
[ここに候補ファイルの完全パスを埋め込む。ファイル内容は自分で Read すること]
## 審査基準
[本 SKILL.md の「審査基準」節(1〜4)をそのまま埋め込む]
## 判定基準(GO/HOLD/REJECT)
[本 SKILL.md の「判定基準」節をそのまま埋め込む]
## 重要な制約
- 対象ファイルを絶対に編集しない(審査のみ、修正案は「提案」として記載)
- 結果は下記「出力形式」に従い、逐語引用で理由を示す
ステップ3: 結果の報告
審査エージェントから返却された結果を、そのままユーザーに表示する。要約や解釈を加えない
(審査の客観性を維持するため)。
審査基準
1. 独自性チェック(最重要)
アイデアの出所を確認:
- ✅ 自プロジェクトの独自開発で発見・実装した知見 → 貢献可能
- ✅ 他のOSSから学んだ知見を応用(ライセンス互換性を確認済み) → 貢献可能
- △ ライセンス互換性の確認が未完了、または参照元が複数あり出所の切り分けが曖昧 → 貢献可能だが確認完了までは保留
- ❌ ライセンス上再配布・改変が認められないソース(非公開コードのリーク、閲覧のみ許諾されたソース等)を参照して得た設計パターン → 貢献不可
出所確認の観点:
- 参照禁止ソースのファイルを直接参照していないか
- 参照禁止ソース固有の実装パターン(変数名・アーキテクチャ用語がそのまま一致する等)ではないか
- 禁止理由: 再配布が許諾されていないソースから得たコードを他OSSに持ち込むのはライセンス・倫理リスクを伴う
2. 先行技術チェック
対象OSSの既存Issue/PRで:
- 同じアプローチが既に提案されていないか
- 既にマージ済みの修正で解決されていないか
- 活発な議論が進行中で割り込む余地がないか
3. 実現可能性チェック
- PRが小規模(初回貢献の場合は目安 +50行以内)に収まるか
- 対象OSSの言語で実装可能か
- CI/テストを通せるか
4. 戦略チェック
- Issue + 最小PR を同時に出す計画か
- Issue で手の内を見せすぎていないか
- PRが1目的に絞られているか
判定基準(GO/HOLD/REJECT)
.claude/skills/_shared/review-rubrics.yaml の verdict_scales.go3 を Read し、その rule に従って
4基準(独自性・先行技術・実現可能性・戦略)それぞれを ✅/△/❌ で個別判定した上で総合判定すること。
要点(詳細・優先順位は同ファイルが SoT):
- 独自性が ❌ → 無条件で REJECT
- 独自性が ✅ かつ残り3基準が全て ✅ → GO
- 独自性が ✅ かつ残り3基準のいずれかに重大な ❌ → REJECT
- 独自性が ✅ かつ重大な❌はないが1つ以上△ → HOLD
指摘単位の重大度 (2026-08-31 追加): 各基準への個別指摘 (❌/△ の理由) には .claude/skills/_shared/review-rubrics.yaml の severity (HIGH/MEDIUM/LOW) を付す。GO/HOLD/REJECT の総合判定ロジック (上記) は変更しない、指摘の重大度表示を追加するのみ。
出力形式
各候補について以下を出力:
## [ファイル名]
- 独自性: ✅/△/❌ + 理由
- 先行技術: ✅/△/❌ + 理由
- 実現可能性: ✅/△/❌ + 理由
- 戦略: ✅/△/❌ + 理由
- 判定: **GO** / **HOLD** / **REJECT**
- 理由: 上記4基準の判定に基づく1〜2行(どの基準がどう効いて当該判定になったかを明記)
実行
$ARGUMENTS(省略時は ./oss-contributions/open/)の全 .md ファイル(_ で始まるものを除く)を読み、上記基準で審査せよ。