Community研究&データ分析github.com

ComposioHQ/pr-review-ci-fix

GitHub/GitLabのPRレビューとCI自動修正をComposio CLIで実行。差分の取得、失敗ジョブログの取得、レビューコメントの投稿、修正コミットをループしてCIが通るまで自動修正。

pr-review-ci-fix とは?

このスキルは、Composio CLIを利用して、GitHubまたはGitLab上のプルリクエスト(PR)のレビューとCIパイプラインの自動修正をシェルから直接実行できるようにします。ブラウザ、ターミナル、チャットのタブを切り替えることなく、一貫したワークフローを実現します。まず、PRの差分を取得してコードの正確性、スタイル、リスクを分析し、インラインコメント付きの構造化レビューを投稿します。次に、CIが失敗した場合、エラーログを自動でダウンロードし、問題を解析した上でコードを修正し、修正コミットをプッシュしてCIを再実行します。この「差分取得→批評→修正→プッシュ→再実行」のサイクルを、CIが成功するまで繰り返すことで、開発者の負担を大幅に軽減します。対応プラットフォームはGitHubとGitLabで、Composio CLIのツールキットを組み合わせて利用します。ワンショットワークフローファイル(TypeScript)として保存すれば、`composio run`コマンドで完全自動化も可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-codex-skills/tree/main/pr-review-ci-fix

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

PRレビュー + CI自動修正 (PR Review + CI Auto-Fix)

Composio CLIを利用して、シェルからGitHub/GitLabのPRレビューとCIトリアージを実行します。ブラウザ、ターミナル、チャットの間でタブを切り替える必要はありません。

いつ使うか

  • PRに対して構造化されたレビュー(正確性、スタイル、リスク)とインラインコメントが必要なとき。
  • CIが失敗しており、エージェントにログを読ませ、コードを修正し、再チェックさせたいとき。
  • 差分取得 → 批評 → 修正 → プッシュ → 再実行 のサイクルを一つのコマンドで実行したいとき。

前提条件

curl -fsSL https://composio.dev/install | bash
composio login
composio link github        # または: composio link gitlab

非対話実行に必要な環境変数(任意): COMPOSIO_API_KEY

コアツールキット

スラッグを検索して見つけ、再利用のために固定します:

composio search "list pull request files" --toolkits github
composio search "download workflow logs" --toolkits github
composio search "create pr comment" --toolkits gitlab

よく使うスラッグ:

  • GITHUB_GET_A_PULL_REQUEST
  • GITHUB_LIST_PULL_REQUESTS_FILES
  • GITHUB_CREATE_A_REVIEW_FOR_A_PULL_REQUEST
  • GITHUB_LIST_WORKFLOW_RUNS_FOR_A_REPOSITORY
  • GITHUB_DOWNLOAD_WORKFLOW_RUN_LOGS
  • GITLAB_GET_SINGLE_MERGE_REQUEST
  • GITLAB_LIST_MERGE_REQUEST_DISCUSSIONS
  • GITLAB_CREATE_NEW_MERGE_REQUEST_NOTE

初回使用前に、必ず composio execute <SLUG> --get-schema でスキーマを確認してください。

レビューワークフロー

  1. PRのメタデータと差分を取得:
    composio execute GITHUB_GET_A_PULL_REQUEST \
      -d '{"owner":"acme","repo":"app","pull_number":482}'
    composio execute GITHUB_LIST_PULL_REQUESTS_FILES \
      -d '{"owner":"acme","repo":"app","pull_number":482}'
    
  2. リスク領域を要約(認可、マイグレーション、パブリックAPI、テストなど)してレビュー本文にまとめます。
  3. インラインコメント付きでレビューを投稿:
    composio execute GITHUB_CREATE_A_REVIEW_FOR_A_PULL_REQUEST -d '{
      "owner":"acme","repo":"app","pull_number":482,
      "event":"COMMENT",
      "body":"全体的にLGTMですが、2つのブロッキング指摘があります。",
      "comments":[
        {"path":"src/auth.ts","line":42,"body":"セッションのnullチェックが不足しています"},
        {"path":"src/auth.ts","line":88,"body":"トークンTTLがハードコードされています。設定ファイルに移動してください"}
      ]
    }'
    

CI自動修正ループ

  1. 失敗している実行を見つける:
    composio execute GITHUB_LIST_WORKFLOW_RUNS_FOR_A_REPOSITORY \
      -d '{"owner":"acme","repo":"app","branch":"feat/billing","status":"failure"}'
    
  2. ログを取得:
    composio execute GITHUB_DOWNLOAD_WORKFLOW_RUN_LOGS \
      -d '{"owner":"acme","repo":"app","run_id":123456}'
    
  3. 失敗を解析 → ローカルに修正を適用(エージェントがワーキングツリーに修正を書き込みます)。
  4. ローカルの git でコミット&プッシュし、conclusion=success になるまでステップ1を再実行します。
  5. PRコメントを投稿して、各修正コミットの内容を説明し、人間のレビュアーが何が変わったかを確認できるようにします。

ワンショットワークフローファイル

scripts/review-and-fix.ts として保存し、composio run --file ./scripts/review-and-fix.ts -- --pr 482 で実行します:

const pr = process.argv.includes("--pr")
  ? Number(process.argv[process.argv.indexOf("--pr") + 1])
  : null;

const meta = await execute("GITHUB_GET_A_PULL_REQUEST", {
  owner: "acme", repo: "app", pull_number: pr
});
const files = await execute("GITHUB_LIST_PULL_REQUESTS_FILES", {
  owner: "acme", repo: "app", pull_number: pr
});

console.log(JSON.stringify({ meta, files }, null, 2));

GitLab版

スラッグとパラメータ名を入れ替えます:

composio execute GITLAB_GET_SINGLE_MERGE_REQUEST \
  -d '{"id":"acme/app","merge_request_iid":482}'
composio execute GITLAB_CREATE_NEW_MERGE_REQUEST_NOTE \
  -d '{"id":"acme/app","merge_request_iid":482,"body":"CI修正をコミットdeadbeefとしてプッシュしました"}'

トラブルシューティング

  • Connection required for github → composio link github
  • Unknown input shape → composio execute <SLUG> --get-schema
  • Log download huge → composio proxy で生APIをストリーミングし、ローカルで grep
  • Rate limits → 呼び出しを直列化するか、ポーリング頻度を下げる。同じリポジトリで --parallel は避ける

CLIリファレンス全文: docs.composio.dev/docs/cli

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ComposioHQ/-21risk-automation

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/-2chat-automation

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agent-deep-links

Build, validate, and troubleshoot deep links for Codex, Cursor, VS Code, Visual Studio, and similar tools. Use when users ask for clickable links (especially in Slack) that open threads, files, folders, or app settings.

関連スキル