Skip to content
This repository was archived by the owner on Sep 28, 2026. It is now read-only.

Add Codex and Claude repository automation - #2

Merged
myon-bioinformatics merged 4 commits into
mainfrom
chore/codex-claude-automation
Aug 13, 2026
Merged

myon-bioinformatics merged 4 commits into
mainfrom
chore/codex-claude-automation

Conversation

@myon-bioinformatics

Copy link
Copy Markdown
Owner

Summary

Add shared repository guidance and GitHub automation for Codex and Claude.

Changes

  • Add AGENTS.md for Codex-oriented repository rules
  • Add CLAUDE.md for Claude Code rules, including review-only behavior
  • Add .github/workflows/claude.yml for @claude mentions and manual workflow_dispatch prompts
  • Add .github/workflows/actionlint.yml to validate workflow syntax

Prerequisites

After merge, install the Claude GitHub App for this repository and register the existing CLAUDE_CODE_OAUTH_TOKEN Actions secret. The token value is not included in this PR.

Validation

  • Workflow YAML is designed to be checked by the included actionlint workflow on this PR.

@myon-bioinformatics
myon-bioinformatics merged commit e2093f7 into main Aug 13, 2026
7 checks passed

Copy link
Copy Markdown
Owner Author

@claude
導入後の動作確認として、このPRの差分と追加したGitHub Actions設定を監査してください。YAML構文・イベント条件・権限・既存設定への影響だけを確認し、所見をコメントしてください。監査のみで、ファイル編集・コミット・PR作成はしないでください。

@claude

claude Bot commented Aug 13, 2026 •

Copy link
Copy Markdown

Claude finished @myon-bioinformatics's task in 1m 46s —— View job


監査結果

  • PRの差分・追加ファイルを取得
  • YAML構文の確認(actionlintワークフロー含む)
  • イベント条件の確認(claude.yml / actionlint.yml)
  • 権限(permissions)の確認
  • 既存設定への影響を確認
  • 所見をまとめてコメント更新

監査のみを実施しました。ファイル編集・コミット・PR作成は行っていません。
(補足: sandbox環境のBash実行制限により actionlint / PyYAML によるプログラム的な構文検証は実行できず、目視でのYAML構文確認となりました。)


YAML構文

  • claude.yml, actionlint.yml ともにインデント・キーの重複・スカラー表記に問題は見当たりません。
  • claude.yml:33-43 の jobs.claude.if は |(リテラルブロック)で複数行の式を記述していますが、GitHub Actions の式パーサーは式中の改行を空白として扱うため、構文上は問題ありません(実行時の検証は actionlint ワークフローに委ねられます)。

イベント条件

  • claude.yml:11-25 は workflow_dispatch / issue_comment(created) / pull_request_review_comment(created) / pull_request_review(submitted) / issues(opened, assigned) をトリガーとし、jobs.claude.if(L33-43)で本文に @claude が含まれる場合のみ実行するようゲートしています。意図通りの設計です。
  • pull_request_review の if 条件(L39-40)は github.event.review.body を参照しますが、レビュー本文が空(null)の場合でも contains() は null を空文字列として扱うため式エラーにはなりません。
  • issue_comment / pull_request_review_comment はデフォルトブランチを checkout 対象とするイベントであり、PRのhead側の未信頼コードをcheckoutしない設計(actions/checkout@v4 に ref 指定なし、L56-58)になっている点は「pwn request」対策として適切です。
  • actionlint.yml:3-9 は .github/workflows/** への変更時のみ pull_request / push でトリガーされ、スコープが適切に絞られています。

権限

  • actionlint.yml:11-12 は contents: read のみで最小権限になっています。
  • claude.yml:48-53 は contents: write / pull-requests: write / issues: write / id-token: write / actions: read と、実装依頼(コミット・PR作成)に対応するため広めの権限を付与しています。トリガー条件がコメント本文の @claude 文字列一致のみで、コメント投稿者の権限(author_association など)によるゲートがワークフロー側に見当たらないため、この設定単体では、当リポジトリへコメント可能な任意のユーザーが書き込み権限付きジョブをトリガーできる構成です。プライベートリポジトリであれば実質コラボレーターに限定されますが、パブリックリポジトリの場合は誰でもコメント経由でトリガー可能な点にご留意ください(claude-code-action 内部で追加の認可チェックが行われている可能性はありますが、ワークフローYAML自体からは確認できません)。
  • anthropics/claude-code-action@v1 はメジャーバージョンタグ参照、docker://rhysd/actionlint:1.7.12 はタグ参照(SHAダイジェスト固定ではない)です。サプライチェーン観点では軽微な改善余地ですが、必須ではありません。

既存設定への影響

  • PR適用前は .github/workflows/ にファイルが存在せず、今回追加された2ファイルのみが存在します。既存のCI/デプロイ/GitHub Pages設定との衝突はありません。
  • AGENTS.md / CLAUDE.md は純粋なドキュメント追加であり、ワークフローの挙動には影響しません。

結論

構文・イベント条件は妥当で、既存設定への悪影響もありません。唯一の留意点は claude.yml の権限が広めで、トリガー条件がコメント本文一致のみである点です。パブリックリポジトリとして運用する場合は、コメント投稿者の権限チェック(例: author_association が OWNER/MEMBER/COLLABORATOR であることの確認)を追加する余地がある旨、参考情報として共有します(PR概要にある通り、CLAUDE_CODE_OAUTH_TOKEN の登録とGitHub Appのインストールは別途必要です)。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant