From d419082a02cef37ff49d5c5c4bb47dfdf8696e46 Mon Sep 17 00:00:00 2001 From: Toshihiko SHIMOKAWA Date: Tue, 9 Jun 2026 03:06:29 +0900 Subject: [PATCH 1/2] feat: add ai-code-review / ai-paper-review caller templates Distribution presets for the one-shot ai-review reusable, replacing the slow claude-code-action callers: - ai-code-review: CODE mode, inline (default claude-sonnet-4-6) - ai-paper-review: ACADEMIC mode, single summary comment, excludes *.bib/*.sty/*.cls Both pass anthropic + gemini secrets so the provider can switch via model_code. README caller table updated; old claude-*-review marked for retirement. --- scripts/README.md | 6 +++-- scripts/callers/ai-code-review.defaults | 2 ++ scripts/callers/ai-code-review.pr-note.md | 4 +++ scripts/callers/ai-code-review.yml | 27 ++++++++++++++++++++ scripts/callers/ai-paper-review.defaults | 2 ++ scripts/callers/ai-paper-review.pr-note.md | 4 +++ scripts/callers/ai-paper-review.yml | 29 ++++++++++++++++++++++ 7 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 scripts/callers/ai-code-review.defaults create mode 100644 scripts/callers/ai-code-review.pr-note.md create mode 100644 scripts/callers/ai-code-review.yml create mode 100644 scripts/callers/ai-paper-review.defaults create mode 100644 scripts/callers/ai-paper-review.pr-note.md create mode 100644 scripts/callers/ai-paper-review.yml diff --git a/scripts/README.md b/scripts/README.md index ee4d6a7..5262db6 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -18,9 +18,11 @@ smkwlab organization 運用補助スクリプト。 | caller | 配布先ファイル | 役割 | 必要な前提 | |--------|----------------|------|-----------| -| `claude-code-review` | `.github/workflows/claude-code-review.yml` | PR 自動レビュー(コード向け: バグ/セキュリティ/ロジック) | org secret `ANTHROPIC_API_KEY` | -| `claude-paper-review` | `.github/workflows/claude-paper-review.yml` | PR 自動レビュー(論文向け: 論理/構成/新規性/形式) | org secret `ANTHROPIC_API_KEY` | +| `ai-code-review` | `.github/workflows/ai-code-review.yml` | PR 自動コードレビュー(ワンショット・inline。Gemini/Claude) | org secret `ANTHROPIC_API_KEY` / `GEMINI_API_KEY` | +| `ai-paper-review` | `.github/workflows/ai-paper-review.yml` | PR 自動論文レビュー(ワンショット・要約。Gemini/Claude) | org secret `ANTHROPIC_API_KEY` / `GEMINI_API_KEY` | | `claude-mention` | `.github/workflows/claude-mention.yml` | `@claude` 対話・修正依頼 | org secret `ANTHROPIC_API_KEY` | +| `claude-code-review` | `.github/workflows/claude-code-review.yml` | (旧)コードレビュー。claude-code-action 版で低速のため **`ai-code-review` に移行**。退役予定 | org secret `ANTHROPIC_API_KEY` | +| `claude-paper-review` | `.github/workflows/claude-paper-review.yml` | (旧)論文レビュー。同上、**`ai-paper-review` に移行**。退役予定 | org secret `ANTHROPIC_API_KEY` | `scripts/distribute-workflow.sh --list-callers` で一覧できます。各 caller の前提は `scripts/callers/.pr-note.md`(PR 本文に付く注記)にも書かれています。 diff --git a/scripts/callers/ai-code-review.defaults b/scripts/callers/ai-code-review.defaults new file mode 100644 index 0000000..4044db8 --- /dev/null +++ b/scripts/callers/ai-code-review.defaults @@ -0,0 +1,2 @@ +MODEL=claude-sonnet-4-6 +LANGUAGE=Japanese diff --git a/scripts/callers/ai-code-review.pr-note.md b/scripts/callers/ai-code-review.pr-note.md new file mode 100644 index 0000000..ca037fa --- /dev/null +++ b/scripts/callers/ai-code-review.pr-note.md @@ -0,0 +1,4 @@ +PR への自動コードレビュー(ワンショット・inline)を有効化します。 + +- 動作には org シークレット `ANTHROPIC_API_KEY`(claude モデル時)または `GEMINI_API_KEY`(gemini モデル時)がこのリポジトリで利用可能である必要があります(未配布なら安全にスキップ) +- draft PR は `ready_for_review` まで、fork PR は secret 不在のため、いずれも安全にスキップします diff --git a/scripts/callers/ai-code-review.yml b/scripts/callers/ai-code-review.yml new file mode 100644 index 0000000..c5d0f50 --- /dev/null +++ b/scripts/callers/ai-code-review.yml @@ -0,0 +1,27 @@ +# Caller template: AI Code Review (one-shot, inline) — calls the ai-review reusable. +# Distributed by scripts/distribute-workflow.sh as +# .github/workflows/ai-code-review.yml in each target repository. +# The ref / model / language tokens below are substituted at distribution time. +name: AI Code Review + +on: + pull_request: + types: [opened, reopened, ready_for_review] # no synchronize: avoid re-reviewing every push + +concurrency: + group: ai-code-review-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + review: + uses: smkwlab/.github/.github/workflows/ai-review.yml@__REF__ + permissions: + contents: read + pull-requests: write + secrets: + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + gemini_api_key: ${{ secrets.GEMINI_API_KEY }} + with: + model_code: __MODEL__ + review_mode: CODE + language: __LANGUAGE__ diff --git a/scripts/callers/ai-paper-review.defaults b/scripts/callers/ai-paper-review.defaults new file mode 100644 index 0000000..4044db8 --- /dev/null +++ b/scripts/callers/ai-paper-review.defaults @@ -0,0 +1,2 @@ +MODEL=claude-sonnet-4-6 +LANGUAGE=Japanese diff --git a/scripts/callers/ai-paper-review.pr-note.md b/scripts/callers/ai-paper-review.pr-note.md new file mode 100644 index 0000000..e60deca --- /dev/null +++ b/scripts/callers/ai-paper-review.pr-note.md @@ -0,0 +1,4 @@ +PR への論文自動レビュー(ワンショット・要約コメント)を有効化します。 + +- 動作には org シークレット `ANTHROPIC_API_KEY`(claude モデル時)または `GEMINI_API_KEY`(gemini モデル時)がこのリポジトリで利用可能である必要があります(未配布なら安全にスキップ) +- 論文全体に言及するフィードバックのため、inline ではなく単一の要約コメントとして投稿します diff --git a/scripts/callers/ai-paper-review.yml b/scripts/callers/ai-paper-review.yml new file mode 100644 index 0000000..6ddaacb --- /dev/null +++ b/scripts/callers/ai-paper-review.yml @@ -0,0 +1,29 @@ +# Caller template: AI Paper Review (one-shot, summary comment) — calls the ai-review reusable. +# Distributed by scripts/distribute-workflow.sh as +# .github/workflows/ai-paper-review.yml in each target repository. +# The ref / model / language tokens below are substituted at distribution time. +name: AI Paper Review + +on: + pull_request: + types: [opened, reopened, ready_for_review] # no synchronize: avoid re-reviewing every push + +concurrency: + group: ai-paper-review-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + review: + uses: smkwlab/.github/.github/workflows/ai-review.yml@__REF__ + permissions: + contents: read + pull-requests: write + secrets: + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + gemini_api_key: ${{ secrets.GEMINI_API_KEY }} + with: + model_code: __MODEL__ + review_mode: ACADEMIC + single_comment: true + language: __LANGUAGE__ + exclude_paths: "*.bib,*.sty,*.cls" From e6f33db480b1a4c43006ddb44091ffe1db0a2a0a Mon Sep 17 00:00:00 2001 From: Toshihiko SHIMOKAWA Date: Tue, 9 Jun 2026 03:19:04 +0900 Subject: [PATCH 2/2] refactor: tokenize ai-paper-review exclude_paths (#45) @claude Address the review's [LOW]: make exclude_paths a __EXCLUDE_PATHS__ token (default *.bib,*.sty,*.cls in .defaults) so a target repo can customize it at distribution via --var EXCLUDE_PATHS=... --- scripts/callers/ai-paper-review.defaults | 1 + scripts/callers/ai-paper-review.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/callers/ai-paper-review.defaults b/scripts/callers/ai-paper-review.defaults index 4044db8..1b8da94 100644 --- a/scripts/callers/ai-paper-review.defaults +++ b/scripts/callers/ai-paper-review.defaults @@ -1,2 +1,3 @@ MODEL=claude-sonnet-4-6 LANGUAGE=Japanese +EXCLUDE_PATHS=*.bib,*.sty,*.cls diff --git a/scripts/callers/ai-paper-review.yml b/scripts/callers/ai-paper-review.yml index 6ddaacb..6848ffe 100644 --- a/scripts/callers/ai-paper-review.yml +++ b/scripts/callers/ai-paper-review.yml @@ -26,4 +26,4 @@ jobs: review_mode: ACADEMIC single_comment: true language: __LANGUAGE__ - exclude_paths: "*.bib,*.sty,*.cls" + exclude_paths: "__EXCLUDE_PATHS__"