Commit Graph

30 Commits

Author SHA1 Message Date
t.hirano 6b12a95bf0 fix(ci): claude-code-actionを動作実績のあるSHAにpin
サードパーティ action は commit SHA による immutable 参照で利用する
(GitHub 公式の Security hardening ガイドラインで推奨)。`@v1` のような
タグ参照は上流がタグの指す先を動かすと挙動が変わる tag drift 問題を
持つ。

pin 先 cd77b50d2b0808657f8e6774085c8bf54484351c は、PR #115 (2026-03-16)
時点でグリーンだった動作確認済みのリビジョン。

経緯:
`@v1` タグが追従する SHA が更新され、PR ヘッドの `.claude/` を origin/main
から復元する挙動が入った結果、`npx skills add` で直前にインストールされた
`.claude/skills/pr-triage` が上書き削除され、`/pr-triage` スキルが呼び出せず
triage ジョブが失敗する事象が発生した(PR #116 で顕在化)。SHA pinning で
防げる典型的な tag drift 問題。

Reference:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 13:53:07 +09:00
toyota 94f1471881 feat(ci): switch triage prompt from inline to /pr-triage skill
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 21:27:39 +09:00
toyota 1306f528b4 fix: use correct JSON types in pr-triage output format examples
Fix Major review findings: comment_id, line, pr_number should be
number type, and incremental, has_*_changes, carried_over should
be boolean type instead of strings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 21:17:22 +09:00
toyota de7acc77f7 feat(ci): add OpenTelemetry metrics to triage step
Enable OTEL telemetry export for the Haiku triage job to collect
token usage and performance metrics via Grafana.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 21:10:25 +09:00
toyota 453845c9b3 fix(ci): revert to simple prompt now that hidden file upload is fixed
Remove Bash heredoc workaround instructions and diagnostic step.
The root cause was upload-artifact excluding dot-prefixed files,
not the Write tool. Revert allowedTools to original Bash(gh:*).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 21:09:04 +09:00
toyota 9b8b14b045 fix(ci): enable include-hidden-files for artifact upload
upload-artifact@v4 defaults include-hidden-files to false, which
excludes dot-prefixed files like .pr-triage.json. Enable it explicitly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 21:02:51 +09:00
toyota 6e2b9b41fb fix(ci): add file verification step before artifact upload
Add diagnostic step to check .pr-triage.json existence and location
before upload-artifact, to isolate whether the issue is file creation
or file discovery.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 21:00:17 +09:00
toyota 031905de21 fix(ci): allow cat/test commands in triage allowedTools
Bash(gh:*) was blocking cat (heredoc for file creation) and test
(file existence check) commands, preventing .pr-triage.json from
being created.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:57:06 +09:00
toyota ed60814ea0 fix(ci): use Bash heredoc instead of Write tool for .pr-triage.json output
Write tool output may not persist after claude-code-action SDK execution.
Use Bash heredoc to write directly to the filesystem.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:51:34 +09:00
toyota 4235b05568 fix(ci): skip full diff for large PRs (>= 15 files) to prevent context overflow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:44:48 +09:00
toyota 21cb264d29 fix(ci): optimize triage to avoid full diff for large PRs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:34:26 +09:00
toyota be84e97c9f fix(ci): increase triage max-turns to 20 for full triage fallback
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:30:04 +09:00
toyota e1784459ad fix(ci): add show_full_output to triage, increase max-turns to 15, error on missing artifact
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:23:54 +09:00
toyota f7b35959ad fix(ci): correct Haiku model ID to claude-haiku-4-5@20251001
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:19:03 +09:00
toyota 14b024c62b feat(ci): prepare triage job for pr-triage skill migration (commented out until merge)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:05:53 +09:00
toyota 9f86f14686 feat(ci): add review state cache, skills install, and Opus model to PR review workflow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 19:36:52 +09:00
toyota fd66ff806e refactor(ci): replace /claude-skill-review with /code-review in PR review workflow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 19:32:27 +09:00
Yoichi Toyota 1383bb753e Configure OpenTelemetry settings in PR workflow
Add OpenTelemetry configuration for metrics and logs.
2026-03-05 20:10:17 +09:00
toyota 9af7f62adb refactor: remove program-oriented review sections from PR review prompt
Remove Code Quality, Security, Testing, and Performance sections
as this repository is a skill marketplace, not a program repository.
Focus solely on Skill Quality review using /claude-skill-review skill.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 14:36:59 +09:00
toyota 3dc0385a1c refactor: simplify PR review prompt by using claude-skill-review skill
Replace inline skill quality checks with /claude-skill-review skill
invocation. This reduces prompt size and leverages progressive
disclosure pattern for skill documentation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 14:21:11 +09:00
toyota 073bfbfeb4 feat: add GitHub MCP inline comment support for PR reviews
GitHub MCPを利用してインラインコメント機能を追加:

変更内容:
- allowedToolsに`mcp__github_inline_comment__create_inline_comment`を追加
- プロンプトにインラインコメント投稿の指示を追加
- 具体的なファイルと行番号が特定できる問題はインラインコメントで指摘
- 全体レビューコメントではインラインコメントへの参照のみ記載

効果:
- レビューの可読性向上(問題箇所が明確)
- 全体レビューコメントの簡潔化
- コードレビューの効率化

参考:
https://github.com/anthropics/claude-code-action/blob/main/docs/solutions.md#automatic-pr-code-review

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 23:31:32 +09:00
toyota 97f0d07b43 fix: address review feedback from automated PR review
レビュー指摘事項に対応:

Major問題の修正:
- max-turnsを20に変更 (.github/workflows/pr-review-vertex-ai.yml:341)
- フックパスを修正 (frontend_nextjs_development/hooks/biome-format/hooks.json:9)
  ${CLAUDE_PLUGIN_ROOT}/hooks/biome_format.sh
  → ${CLAUDE_PLUGIN_ROOT}/hooks/biome-format/biome_format.sh

Minor問題の修正:
- Biomeフックにエラーハンドリングを追加 (biome_format.sh:62-77)
  - npx実行の成功/失敗を判定
  - 失敗時はエラーメッセージを出力してexit 1

テスト実施:
- PR #9での動作確認完了
- レビュー投稿成功確認(Changes Requested)
- テスト結果をPR本文に追記

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 23:12:26 +09:00
toyota 5555474855 fix: use --allowedTools in claude_args instead of additional_permissions
claude_argsで--allowedToolsを使用する正しい方法に修正:
- additional_permissionsパラメータを削除
- claude_argsに--allowedTools "Bash(gh:*)"を追加
- ghコマンド全般の実行を許可

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 22:54:24 +09:00
toyota a556f2c199 fix: add gh command permission to additional_permissions
Claude Code Actionでghコマンドが権限エラーで拒否される問題を修正:
- additional_permissions に "Bash(gh:*)" を追加
- これによりgh pr view, gh pr review, gh issue createが実行可能に

Permission denials:
- gh pr view (PR情報取得)
- gh pr diff (差分取得)
- gh pr review (レビュー投稿)
- gh issue create (Issue作成)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 22:48:08 +09:00
toyota 39cf93c99a fix: remove unsupported --timeout option from claude_args
Claude Codeが--timeoutオプションをサポートしていないため削除:
- エラー: "unknown option '--timeout'"
- --max-turns 10のみでタイムアウトを制御

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 22:33:38 +09:00
toyota 4804736eb4 fix: add timeout and paths-ignore to prevent workflow hanging
GitHub Actionsが1時間以上実行される問題を修正:
- タイムアウトを10分(600秒)に設定
- max-turnsを20から10に削減
- ワークフロー自体の変更をレビュー対象から除外
- ドキュメントファイルもレビュー対象から除外

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 17:18:26 +09:00
toyota 06c4a25a41 refactor: embed SKILL.md logic into workflow and remove skill directory
SKILL.mdの内容をGitHub Actionsワークフローのプロンプトに直接埋め込み、
skillディレクトリを削除しました。これにより、GitHub Actions環境で
Skillツールの権限エラーを回避できます。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 16:08:15 +09:00
toyota 7dddab0c03 feat: sync root workflow with updated skill implementation
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 15:55:39 +09:00
toyota a31b84c0a1 ci: configure Vertex AI environment variables for PR review
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 15:18:58 +09:00
toyota f386605cdd ci: add Vertex AI automated PR review workflow 2025-11-11 15:10:01 +09:00