Skip to content
cccskills
FreePublished on GitHub

pr-review-ci-fix

Review code changes on GitHub or GitLab and investigate failed CI checks, the automated checks run on code. Use logs to guide fixes, push commits, and share review comments and repair summaries.

OriginalShow the original description

Automated PR review and CI auto-fix for GitHub and GitLab using the Composio CLI. Pulls diffs, fetches failing job logs, posts review comments, and loops fix commits until checks go green.

Works withGitHubGitLab
See how to install

Good for

  • Review code changes and leave inline comments
  • Investigate failed CI checks and fix the code
  • Share fix summaries with human reviewers
  • Repeat fixes and checks until CI passes

Files included (1)

  • SKILL.md4.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

PR Review + CI Auto-Fix

Drive GitHub/GitLab PR reviews and CI triage from the shell using the Composio CLI. No tab-switching between browser, terminal, and chat.

When to Use

  • A PR needs a structured review (correctness, style, risks) with inline comments.
  • CI is red and you want the agent to read the logs, patch the code, and recheck.
  • You want a single command that cycles: fetch diff → critique → fix → push → rerun.

Prereqs

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

Optional env for non-interactive runs: COMPOSIO_API_KEY.

Core Toolkits

Discover slugs with search, then pin them for reuse:

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

Common slugs you'll reuse:

  • 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

Always confirm via composio execute <SLUG> --get-schema before first use.

Review Workflow

  1. Pull the PR metadata + 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. Summarize risk areas (auth, migrations, public APIs, tests) into a review body.
  3. Post the review with inline comments:
    composio execute GITHUB_CREATE_A_REVIEW_FOR_A_PULL_REQUEST -d '{
      "owner":"acme","repo":"app","pull_number":482,
      "event":"COMMENT",
      "body":"Overall LGTM with 2 blocking notes.",
      "comments":[
        {"path":"src/auth.ts","line":42,"body":"Missing null check on session"},
        {"path":"src/auth.ts","line":88,"body":"Token TTL is hardcoded; move to config"}
      ]
    }'
    

CI Auto-Fix Loop

  1. Find the red run:
    composio execute GITHUB_LIST_WORKFLOW_RUNS_FOR_A_REPOSITORY \
      -d '{"owner":"acme","repo":"app","branch":"feat/billing","status":"failure"}'
    
  2. Pull logs:
    composio execute GITHUB_DOWNLOAD_WORKFLOW_RUN_LOGS \
      -d '{"owner":"acme","repo":"app","run_id":123456}'
    
  3. Parse failure → patch locally (the agent writes the fix into the working tree).
  4. Commit + push via local git, then re-poll step 1 until conclusion=success.
  5. Post a PR comment describing each fix commit so the human reviewer sees what changed.

One-Shot Workflow File

Save as scripts/review-and-fix.ts and run with 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 Variant

Swap slugs and param names:

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 fix pushed as commit deadbeef"}'

Troubleshooting

  • Connection required for github → composio link github
  • Unknown input shape → composio execute <SLUG> --get-schema
  • Log download huge → stream via composio proxy against the raw API and grep locally
  • Rate limits → serialize calls or lower poll frequency; avoid --parallel for the same repo

Full CLI reference: docs.composio.dev/docs/cli

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Automate 21risk operations through Rube MCP, a connection for agent tools. The skill discovers available actions, checks the service connection, and uses current input requirements to carry out requested tasks.

  • Find available 21risk actions
  • Run tasks after checking the service connection
  • Process multiple operations in bulk
composio-community/awesome-codex-skills17KUpdated Jul 26, 2026

Automate supported 2chat tasks through Rube MCP and Composio. The skill finds available tools, checks the service connection, and uses current input requirements to carry out the requested operations.

  • Find tools for a 2chat task
  • Check the 2chat connection before running tasks
  • Run multiple supported operations together
composio-community/awesome-codex-skills17KUpdated Jul 26, 2026

ably-automation

FreeSummary

Automate Ably operations through Rube MCP and Composio. The skill discovers tools for your task, checks current input requirements, verifies an active connection, and guides execution of single operations or batches.

  • Discover available tools for an Ably task
  • Check the Ably connection before execution
  • Run multiple Ably operations together
composio-community/awesome-codex-skills17KUpdated Jul 26, 2026

Automate Abstract tasks using Rube MCP, a connection for agent tools. The skill searches for available operations, confirms an active service connection, and runs actions according to their current input requirements.

  • Discovering supported Abstract operations
  • Executing Abstract tasks through an agent
  • Fetching all pages of a tool response
composio-community/awesome-codex-skills17KUpdated Jul 26, 2026

Automate Abuselpdb operations through Rube MCP, a connection for agent tools. Discover available actions and their required inputs, verify the service connection, and execute tasks using the current tool definitions.

  • Finding available Abuselpdb actions
  • Checking the connection before running tasks
  • Automating repeated Abuselpdb operations
composio-community/awesome-codex-skills17KUpdated Jul 26, 2026

Automate Abyssale operations through Rube MCP, a connection for agent tools. The skill discovers available actions and their current input requirements, checks the service connection, and executes the tools returned by the search.

  • Discovering available Abyssale operations
  • Checking the Abyssale connection before execution
  • Running Abyssale operations through an agent
composio-community/awesome-codex-skills17KUpdated Jul 26, 2026

See all skills by composio-community

Report a problem with this skill