qodo-pr-resolver
Skill1 starsChanged 41 days agoMITView on GitHub
Review and resolve PR issues with Qodo - get AI-powered code review issues and fix them interactively (GitHub, GitLab, Bitbucket, Azure DevOps)
- Commits and pushes
7 other projects use a version of this.
Adopted by
Most recently taken up by
- ilchemla/agent-skillstheir own version, first seen Oct 13, 2026
- microsoft/amplifier-app-nanoclawword for word, first seen Jun 12, 2026
- mcarmona1064-cell/clawbridge-codexword for word, first seen May 11, 2026
- b1rdmania/ghostclawword for word, first seen May 3, 2026
- DingyangLyu/MatClawword for word, first seen Mar 17, 2026
- sskarz/nanoclawbsterword for word, first seen Mar 11, 2026
Used with
Projects with it also use add-telegram-swarm and add-voice-transcription.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
juancruzmunozalbeloSkilladd-telegram-swarm
Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".
Also in 4 projects that use this
juancruzmunozalbeloSkilladd-voice-transcription
Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.
Also in 3 projects that use this
Other versions7 projects use a version of this.
Word for word · 6
- DingyangLyu/MatClaw★ 98100% same
- b1rdmania/ghostclaw★ 91100% same
- microsoft/amplifier-app-nanoclaw★ 5100% same
- sskarz/nanoclawbster★ 2100% same
- breakcafe/picoclaw★ 1100% same
- mcarmona1064-cell/clawbridge-codex★ 1100% same
Edited · 0
None found.
Wrote their own version · 1
- ilchemla/agent-skills★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository54 other files it gives its agents.
- container/AGENTS.mdAGENTS.md
- container/CLAUDE.mdCLAUDE.md
- add-atomic-chat-toolSkill
- add-codexSkill
- add-dashboardSkill
- add-deltachatSkill
- add-discordSkill
- add-emacsSkill
- add-gcal-toolSkill
- add-gchatSkill
- add-githubSkill
- add-gmail-toolSkill
- add-imessageSkill
- add-karpathy-llm-wikiSkill
- add-linearSkill
- add-macos-statusbarSkill
- add-matrixSkill
- add-mnemonSkill
- add-ollama-providerSkill
- add-ollama-toolSkill
- add-opencodeSkill
- add-piSkill
- add-resendSkill
- add-rtkSkill
- add-signalSkill
- add-slackSkill
- add-teamsSkill
- add-telegramSkill
- add-vercelSkill
- add-webexSkill
- add-wechatSkill
- add-whatsapp-cloudSkill
- add-whatsappSkill
- archive-tripSkill
- customizeSkill
- debugSkill
- get-qodo-rulesSkill
- init-first-agentSkill
- init-onecliSkill
- learnSkill
- manage-channelsSkill
- manage-mountsSkill
- migrate-from-openclawSkill
- migrate-from-v1Skill
- migrate-memorySkill
- migrate-nanoclawSkill
- nano-pvt-hubSkill
- new-knowledge-graph-tutorSkill
- new-tripSkill
- reflectSkill
- setupSkill
- update-nanoclawSkill
- update-skillsSkill
- use-native-credential-proxySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
42 rules. About 0 are common, 41 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈41
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
Must be in a git repository
- Very specific: line 50
Look for comments from: pr-agent-pro, pr-agent-pro-staging, qodo-merge[bot], qodo-ai[bot]
- Distinctive: line 59
When the user asks for a code review, to see Qodo issues, or fix Qodo comments:
- Distinctive: line 63
Check for uncommitted changes, unpushed commits, and get the current branch.
- Distinctive: line 68
Ask: "Would you like to commit and push them first?"
- Distinctive: line 69
If yes: Wait for user action, then proceed to Step 1
- Distinctive: line 70
If no: Warn "Proceeding with review of pushed code only" and continue to Step 1
- Distinctive: line 77
Ask: "Would you like to push them now?"
- Distinctive: line 78
If yes: Execute git push, inform "Pushed!
- Distinctive: line 80
If no: Warn "Proceeding with existing PR review" and continue to Step 1
- Distinctive: line 108
Look for comments where the author is "qodo-merge[bot]", "pr-agent-pro", "pr-agent-pro-staging" or similar Qodo bot name.
- Distinctive: line 112
If any comment contains "Come back again in a few minutes" or "An AI review agent is analysing this pull request", the review is still …
- Distinctive: line 123
If an issue appears in both the summary comment and as an inline comment, merge them into a single issue
- Distinctive: line 124
Prefer the inline comment for file location (it has the exact line context)
- Distinctive: line 125
Prefer the summary comment for severity, type, and agent prompt (it is more detailed)
- Distinctive: line 128
If the same issue appears in multiple places, combine the agent prompts
- Distinctive: line 187
After displaying the table, ask the user how they want to proceed using AskUserQuestion:
- Distinctive: line 195
If "Review each issue": Proceed to Step 6 (manual review)
- Distinctive: line 196
If "Auto-fix all": Skip to Step 7 (auto-fix mode - apply all "Fix" issues automatically using Qodo's agent prompts)
- Distinctive: line 197
If "Cancel": Exit the skill
- Distinctive: line 201
If "Review each issue" was selected:
- Distinctive: line 204
Read the relevant file(s) to understand the current code
- Distinctive: line 224
Ask for deferral reason using AskUserQuestion
- Distinctive: line 235
NO native Edit UI (no persistent permissions possible)
- Distinctive: line 245
If "Auto-fix all" was selected:
- Distinctive: line 257
After all auto-fixes are applied, display summary:
- Distinctive: line 263
REQUIRED: After all issues have been reviewed (fixed or deferred), ALWAYS post a comment summarizing the actions taken, even if all issues …
- Distinctive: line 273
If resolve fails (comment not found, API error), continue — the summary comment is the important part.
- Distinctive: line 277
If any fixes were applied (commits were created in Steps 6/7), ask the user if they want to push:
- Distinctive: line 279
If no: Inform them they can push later with git push
- Distinctive: line 281
Important: If all issues were deferred, there are no commits to push — skip this step.
- Distinctive: line 287
If the remote URL doesn't match GitHub, GitLab, Bitbucket, or Azure DevOps, inform the user and exit.
- Distinctive: line 294
Ask: "Would you like me to create a PR/MR?"
- Distinctive: line 295
If yes: Use appropriate CLI to create PR/MR (see providers.md § Create PR/MR), then inform "PR created!
- Distinctive: line 296
If no: Exit skill
- Distinctive: line 298
IMPORTANT: Do NOT proceed without a PR/MR
- Distinctive: line 302
Check if PR/MR has comments from Qodo bots (pr-agent-pro, qodo-merge[bot], etc.)
- Distinctive: line 303
If no Qodo comments found: Inform "Qodo hasn't reviewed this PR/MR yet.
- Distinctive: line 310
If "Come back again in a few minutes" message is found, inform user to wait and try again, then exit.
- Distinctive: line 314
If the detected provider's CLI is not installed, provide installation instructions and exit.
- Distinctive: line 322
Use the inline comment ID preserved during deduplication (Step 3b) to reply directly to Qodo's comment.
- Distinctive: line 326
Keep replies short (one line).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Qodo PR Resolver
Fetch Qodo review issues for your current branch's PR/MR, fix them interactively or in batch, and reply to each inline comment with the decision. Supports GitHub, GitLab, Bitbucket, and Azure DevOps.
Prerequisites
Required Tools:
- Git - For branch operations
- Git Provider CLI - One of:
gh(GitHub),glab(GitLab),bb(Bitbucket), oraz(Azure DevOps)
Installation and authentication details: See providers.md for provider-specific setup instructions.
Required Context:
- Must be in a git repository
- Repository must be hosted on a supported git provider (GitHub, GitLab, Bitbucket, or Azure DevOps)
- Current branch must have an open PR/MR
- PR/MR must have been reviewed by Qodo (pr-agent-pro bot, qodo-merge[bot], etc.)
Quick Check:
git --version # Check git installed
git remote get-url origin # Identify git providerSee providers.md for provider-specific verification commands.
Understanding Qodo Reviews
Qodo (formerly Codium AI) is an AI-powered code review tool that analyzes PRs/MRs with compliance checks, bug detection, and code quality suggestions.
Bot Identifiers
Look for comments from: pr-agent-pro, pr-agent-pro-staging, qodo-merge[bot], qodo-ai[bot]
Review Comment Types
- PR Compliance Guide 🔍 - Security/ticket/custom compliance with 🟢/🟡/🔴/⚪ indicators
- PR Code Suggestions ✨ - Categorized improvements with importance ratings
- Code Review by Qodo - Structured issues with 🐞/📘/📎 sections and agent prompts (most detailed)
Instructions
When the user asks for a code review, to see Qodo issues, or fix Qodo comments:
Step 0: Check code push status
Check for uncommitted changes, unpushed commits, and get the current branch.
Scenario A: Uncommitted changes exist
- Inform: "⚠️ You have uncommitted changes. These won't be included in the Qodo review."
- Ask: "Would you like to commit and push them first?"
- If yes: Wait for user action, then proceed to Step 1
- If no: Warn "Proceeding with review of pushed code only" and continue to Step 1
Scenario B: Unpushed commits exist
(no uncommitted changes)
- Inform: "⚠️ You have N unpushed commits. Qodo hasn't reviewed them yet."
- Ask: "Would you like to push them now?"
- If yes: Execute
git push, inform "Pushed! Qodo will review shortly. Please wait ~5 minutes then run this skill again." - Exit skill (don't proceed - Qodo needs time to review)
- If no: Warn "Proceeding with existing PR review" and continue to Step 1
Scenario C: Everything pushed
(both uncommitted changes and unpushed commits are empty)
- Proceed to Step 1
Step 1: Detect git provider
Detect git provider from the remote URL (git remote get-url origin).
See providers.md for provider detection patterns.
Step 2: Find the open PR/MR
Find the open PR/MR for this branch using the provider's CLI.
See providers.md § Find Open PR/MR for provider-specific commands.
Step 3: Get Qodo review comments
Get the Qodo review comments using the provider's CLI.
Qodo typically posts both a summary comment (PR-level, containing all issues) and inline review comments (one per issue, attached to specific lines of code). You must fetch both.
See providers.md § Fetch Review Comments for provider-specific commands.
Look for comments where the author is "qodo-merge[bot]", "pr-agent-pro", "pr-agent-pro-staging" or similar Qodo bot name.
Step 3a: Check if review is still in progress
- If any comment contains "Come back again in a few minutes" or "An AI review agent is analysing this pull request", the review is still running
- In this case, inform the user: "⏳ Qodo review is still in progress. Please wait a few minutes and try again."
- Exit early - don't try to parse incomplete reviews
Step 3b: Deduplicate issues
Deduplicate issues across summary and inline comments:
- Qodo posts each issue in two places: once in the summary comment (PR-level) and once as an inline review comment (attached to the specific code line). These will share the same issue title.
- Qodo may also post multiple summary comments (Compliance Guide, Code Suggestions, Code Review, etc.) where issues can overlap with slightly different wording.
- Deduplicate by matching on issue title (primary key - the same title means the same issue):
- If an issue appears in both the summary comment and as an inline comment, merge them into a single issue
- Prefer the inline comment for file location (it has the exact line context)
- Prefer the summary comment for severity, type, and agent prompt (it is more detailed)
- IMPORTANT: Preserve each issue's inline review comment ID — you will need it later (Step 8) to reply directly to that comment with the decision
- Also deduplicate across multiple summary comments by location (file path + line numbers) as a secondary key
- If the same issue appears in multiple places, combine the agent prompts
Step 4: Parse and display the issues
- Extract the review body/comments from Qodo's review
- Parse out individual issues/suggestions
- IMPORTANT: Preserve Qodo's exact issue titles verbatim — do not rename, paraphrase, or summarize them. Use the title exactly as Qodo wrote it.
- IMPORTANT: Preserve Qodo's original ordering — display issues in the same order Qodo listed them. Qodo already orders by severity.
- Extract location, issue description, and suggested fix
- Extract the agent prompt from Qodo's suggestion (the description of what needs to be fixed)
Severity mapping
Derive severity from Qodo's action level and position:
- Action level determines severity range:
- "Action required" issues → Can only be 🔴 CRITICAL or 🟠 HIGH
- "Review recommended" / "Remediation recommended" issues → Can only be 🟡 MEDIUM or ⚪ LOW
- "Other" / "Advisory comments" issues → Always ⚪ LOW (lowest priority)
- Qodo's position within each action level determines the specific severity:
- Group issues by action level ("Action required" vs "Review recommended" vs "Other")
- Within "Action required" and "Review recommended" groups: earlier positions → higher severity, later positions → lower severity
- Split point: roughly first half of each group gets the higher severity, second half gets the lower
- All "Other" issues are treated as ⚪ LOW regardless of position
Example: 7 "Action required" issues would be split as:
- Issues 1-3: 🔴 CRITICAL
- Issues 4-7: 🟠 HIGH
- Result: No MEDIUM or LOW issues (because there are no "Review recommended" or "Other" issues)
Example: 5 "Action required" + 3 "Review recommended" + 2 "Other" issues would be split as:
- Issues 1-2 or 1-3: 🔴 CRITICAL (first ~half of "Action required")
- Issues 3-5 or 4-5: 🟠 HIGH (second ~half of "Action required")
- Issues 6-7: 🟡 MEDIUM (first ~half of "Review recommended")
- Issue 8: ⚪ LOW (second ~half of "Review recommended")
- Issues 9-10: ⚪ LOW (all "Other" issues)
Action guidelines:
- 🔴 CRITICAL / 🟠 HIGH ("Action required"): Always "Fix"
- 🟡 MEDIUM ("Review recommended"): Usually "Fix", can "Defer" if low impact
- ⚪ LOW ("Review recommended" or "Other"): Can be "Defer" unless quick to fix; "Other" issues are lowest priority
Output format
Display as a markdown table in Qodo's exact original ordering (do NOT reorder by severity - Qodo's order IS the severity ranking):
Qodo Issues for PR #123: [PR Title]
| # | Severity | Issue Title | Issue Details | Type | Action |
|---|----------|-------------|---------------|------|--------|
| 1 | 🔴 CRITICAL | Insecure authentication check | • **Location:** src/auth/service.py:42<br><br>• **Issue:** Authorization logic is inverted | 🐞 Bug ⛨ Security | Fix |
| 2 | 🔴 CRITICAL | Missing input validation | • **Location:** src/api/handlers.py:156<br><br>• **Issue:** User input not sanitized before database query | 📘 Rule violation ⛯ Reliability | Fix |
| 3 | 🟠 HIGH | Database query not awaited | • **Location:** src/db/repository.py:89<br><br>• **Issue:** Async call missing await keyword | 🐞 Bug ✓ Correctness | Fix |Step 5: Ask user for fix preference
After displaying the table, ask the user how they want to proceed using AskUserQuestion:
Options:
- 🔍 "Review each issue" - Review and approve/defer each issue individually (recommended for careful review)
- ⚡ "Auto-fix all" - Automatically apply all fixes marked as "Fix" without individual approval (faster, but less control)
- ❌ "Cancel" - Exit without making changes
Based on the user's choice:
- If "Review each issue": Proceed to Step 6 (manual review)
- If "Auto-fix all": Skip to Step 7 (auto-fix mode - apply all "Fix" issues automatically using Qodo's agent prompts)
- If "Cancel": Exit the skill
Step 6: Review and fix issues (manual mode)
If "Review each issue" was selected:
- For each issue marked as "Fix" (starting with CRITICAL):
- Read the relevant file(s) to understand the current code
- Implement the fix by executing the Qodo agent prompt as a direct instruction. The agent prompt is the fix specification — follow it literally, do not reinterpret or improvise a different solution. Only deviate if the prompt is clearly outdated relative to the current code (e.g. references lines that no longer exist).
- Calculate the proposed fix in memory (DO NOT use Edit or Write tool yet)
- Present the fix and ask for approval in a SINGLE step:
- Show a brief header with issue title and location
- Show Qodo's agent prompt in full so the user can verify the fix matches it
- Display current code snippet
- Display proposed change as markdown diff
- Immediately use AskUserQuestion with these options:
- ✅ "Apply fix" - Apply the proposed change
- ⏭️ "Defer" - Skip this issue (will prompt for reason)
- 🔧 "Modify" - User wants to adjust the fix first
- WAIT for user's choice via AskUserQuestion
- If "Apply fix" selected:
- Apply change using Edit tool (or Write if creating new file)
- Reply to the Qodo inline comment with the decision (see Step 8 for inline reply commands)
- Git commit the fix:
git add <modified-files> && git commit -m "fix: <issue title>" - Confirm: "✅ Fix applied, commented, and committed!"
- Mark issue as completed
- If "Defer" selected:
- Ask for deferral reason using AskUserQuestion
- Reply to the Qodo inline comment with the deferral (see Step 8 for inline reply commands)
- Record reason and move to next issue
- If "Modify" selected:
- Inform user they can make changes manually
- Move to next issue
- Continue until all "Fix" issues are addressed or the user decides to stop
Important notes
Single-step approval with AskUserQuestion:
- NO native Edit UI (no persistent permissions possible)
- Each fix requires explicit approval via custom question
- Clearer options, no risk of accidental auto-approval
CRITICAL: Single validation only - do NOT show the diff separately and then ask. Combine the diff display and the question into ONE message. The user should see: brief context → current code → proposed diff → AskUserQuestion, all at once.
Example: Show location, Qodo's guidance, current code, proposed diff, then AskUserQuestion with options (✅ Apply fix / ⏭️ Defer / 🔧 Modify). Wait for user choice, apply via Edit tool if approved.
Step 7: Auto-fix mode
If "Auto-fix all" was selected:
- For each issue marked as "Fix" (starting with CRITICAL):
- Read the relevant file(s) to understand the current code
- Implement the fix by executing the Qodo agent prompt as a direct instruction. The agent prompt is the fix specification — follow it literally, do not reinterpret or improvise a different solution. Only deviate if the prompt is clearly outdated relative to the current code (e.g. references lines that no longer exist).
- Apply the fix using Edit tool
- Reply to the Qodo inline comment with the decision (see Step 8 for inline reply commands)
- Git commit the fix:
git add <modified-files> && git commit -m "fix: <issue title>" - Report each fix with the agent prompt that was followed:
✅ Fixed: [Issue Title] at
[Location]Agent prompt: [the Qodo agent prompt used] - Mark issue as completed
- After all auto-fixes are applied, display summary:
- List of all issues that were fixed
- List of any issues that were skipped (with reasons)
Step 8: Post summary to PR/MR
REQUIRED: After all issues have been reviewed (fixed or deferred), ALWAYS post a comment summarizing the actions taken, even if all issues were deferred.
See providers.md § Post Summary Comment for provider-specific commands and summary format.
After posting the summary, resolve the Qodo review comment:
Find the Qodo "Code Review by Qodo" comment and mark it as resolved or react to acknowledge it.
See providers.md § Resolve Qodo Review Comment for provider-specific commands.
If resolve fails (comment not found, API error), continue — the summary comment is the important part.
Step 9: Push to remote
If any fixes were applied (commits were created in Steps 6/7), ask the user if they want to push:
- If yes:
git push - If no: Inform them they can push later with
git push
Important: If all issues were deferred, there are no commits to push — skip this step.
Special cases
Unsupported git provider
If the remote URL doesn't match GitHub, GitLab, Bitbucket, or Azure DevOps, inform the user and exit.
See providers.md § Error Handling for details.
No PR/MR exists
- Inform: "No PR/MR found for branch
<branch-name>" - Ask: "Would you like me to create a PR/MR?"
- If yes: Use appropriate CLI to create PR/MR (see providers.md § Create PR/MR), then inform "PR created! Qodo will review it shortly. Run this skill again in ~5 minutes."
- If no: Exit skill
IMPORTANT: Do NOT proceed without a PR/MR
No Qodo review yet
- Check if PR/MR has comments from Qodo bots (pr-agent-pro, qodo-merge[bot], etc.)
- If no Qodo comments found: Inform "Qodo hasn't reviewed this PR/MR yet. Please wait a few minutes for Qodo to analyze it."
- Exit skill (do NOT attempt manual review)
IMPORTANT: This skill only works with Qodo reviews, not manual reviews
Review in progress
If "Come back again in a few minutes" message is found, inform user to wait and try again, then exit.
Missing CLI tool
If the detected provider's CLI is not installed, provide installation instructions and exit.
See providers.md § Error Handling for provider-specific installation commands.
Inline reply commands
Used per-issue in Steps 6 and 7 to reply to Qodo's inline comments:
Use the inline comment ID preserved during deduplication (Step 3b) to reply directly to Qodo's comment.
See providers.md § Reply to Inline Comments for provider-specific commands and reply format.
Keep replies short (one line). If a reply fails, log it and continue.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

