Community연구 & 데이터 분석github.com

ComposioHQ/pr-review-ci-fix

GitHub 및 GitLab PR의 자동 리뷰 및 CI 자동 수정을 위한 Composio CLI 기반 도구입니다. Diff를 가져오고, 실패한 작업 로그를 확인하며, 리뷰 코멘트를 게시하고, 검사가 통과할 때까지 수정 커밋을 반복합니다.

pr-review-ci-fix란 무엇인가요?

이 스킬은 AI 에이전트가 셸에서 직접 GitHub 및 GitLab PR 리뷰와 CI 문제 해결을 수행할 수 있게 해주는 Composio CLI 기반 도구입니다. 브라우저, 터미널, 채팅 간에 전환할 필요 없이 단일 명령으로 전체 워크플로를 처리할 수 있습니다. 주요 기능으로는 PR 메타데이터와 diff 가져오기, 인라인 코멘트가 포함된 구조화된 리뷰 작성, 실패한 CI 워크플로우 로그 다운로드 및 분석, 로컬 코드 패치 후 git으로 커밋 및 푸시, 체크가 통과할 때까지 재폴링하는 자동 수정 루프가 포함됩니다. GitHub와 GitLab 모두를 지원하며, 각 플랫폼에 맞는 슬러그와 파라미터가 제공됩니다. Composio CLI는 간단한 설치 후 로그인 및 툴킷 연결만으로 바로 사용 가능하며, `composio run` 명령어를 통해 스크립트화된 원샷 워크플로우 파일을 실행할 수도 있습니다. 이 스킬은 코드 리뷰 효율성을 높이고 CI 실패 시 수동 디버깅 시간을 크게 줄여주어, 지속적 통합 및 배포 파이프라인을 운영하는 개발 팀에 특히 유용합니다.

지원 대상~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 자동 수정

Composio CLI를 사용하여 셸에서 GitHub/GitLab PR 리뷰 및 CI 문제 해결을 수행합니다. 브라우저, 터미널, 채팅 간 전환이 필요 없습니다.

사용 시기

  • PR에 인라인 코멘트가 포함된 구조화된 리뷰(정확성, 스타일, 위험)가 필요한 경우.
  • CI가 실패 상태이며, 에이전트가 로그를 읽고 코드를 패치한 후 다시 확인하도록 하려는 경우.
  • diff 가져오기 → 비평 → 수정 → 푸시 → 재실행 주기를 단일 명령으로 처리하고 싶은 경우.

사전 요구 사항

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 메타데이터 + diff 가져오기:
    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
  • 알 수 없는 입력 형태 → composio execute <SLUG> --get-schema
  • 로그 다운로드가 너무 큼 → composio proxy를 통해 원시 API에 스트리밍하고 로컬에서 grep
  • 속도 제한 → 호출을 직렬화하거나 폴링 빈도를 낮춤. 동일 저장소에 대해 --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.

관련 스킬