Skip to main content
skill CX Codex

fix-pr — Claude Code skill: what it does, how to install

Handles PR feedback and blocking CI in one pass, then fixes code, commits, pushes changes, and posts replies in the discussion.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add prathamdby/skills --skill fix-pr -a claude-code
Open on GitHub

What fix-pr does

The skill syncs the local branch with the PR head SHA, then uses gh to gather unresolved threads, review comments, CI checks, and annotations. It reconciles the findings, assigns a verdict to each one, and edits code only after the collection is complete. Focused fixes get their narrow checks.

When there is a diff, the skill invokes commit, pushes the result, and verifies the remote SHA. It then posts replies through gh, keeping the original reply targets and bot prefixes. Options such as “do not push” and “do not reply” turn off those actions.

A dirty tree, auth failure, unsafe checkout, or closed PR blocks the run. Before GitHub I/O it requires ../gh/SKILL.md; before committing it requires ../commit/SKILL.md. Merge conflicts are outside its scope.

What it helps with

  • collect every unresolved PR finding
  • locate blocking CI checks and annotations
  • classify findings as fixes or rejected claims
  • run focused checks after code changes
  • commit, push, and reply to review threads

Example prompts for the agent

  • Handle the feedback and blocking CI for the current PR, fix confirmed issues, and push the result.
  • Inspect the PR from its number or URL, but do not push changes or post replies.
  • Collect all findings and checks, assign each a verdict, and give me the final report.

How to install fix-pr

1Skills CLI (Vercel)

npx skills add prathamdby/skills --skill fix-pr -a claude-code

2Manually: put the files in place

~/.claude/skills/fix-pr/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/fix-pr/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about fix-pr

How do I install fix-pr in Claude Code?

Run npx skills add prathamdby/skills --skill fix-pr -a claude-code, then check ~/.claude/skills/fix-pr/SKILL.md.

What does fix-pr do?

It gathers PR feedback and blocking CI in one pass, checks each finding, applies confirmed fixes, commits, and pushes them. It then replies in the discussion through gh.

What can block fix-pr?

A dirty tree, authentication failure, unsafe checkout, or a closed PR blocks execution. The skill also requires ../gh/SKILL.md and ../commit/SKILL.md.

Source text

SKILL.md · MIT
---
name: fix-pr
description: >
  fix-pr to handle PR feedback and blocking CI in one pass; invokes gh and commit.
---

# Fix PR

## Options and dependencies

Default: current branch PR, push/replies on. PR number/URL selects it;
"do not push"/"keep local" disables push; "do not reply" disables replies.
Missing named values block. Before any GitHub I/O, verify and read
`../gh/SKILL.md`; before committing, verify and read `../commit/SKILL.md`.
Missing dependencies block with paths, not improvised replacements.

## 1. Synchronize

Resolve repo, PR URL/number/base/head/remote SHA. Closed/missing PR, auth
failure, dirty tree, or unsafe checkout blocks. Fetch, check out head, and
fast-forward to remote SHA; never reset/force.
Record `PR/SHA | push/replies | hunt counts/pages | finding/verdict/evidence | commit/push | native targets | terminal`.
Done when local HEAD equals remote PR head and identity is fixed.

## 2. Hunt once

Through gh, collect unresolved threads including outdated, every nested page,
REST review-comment chains, actionable review bodies, conversation comments,
and terminal non-success required/blocking head-SHA checks plus annotations.
Use pr-threads --json --open --complete and ci-failures with PR/SHA.
Apply every completeness/reconciliation rule in `references/hunt.md`;
script exit alone proves neither REST roots nor required checks.
No triage/edit before all six surfaces are complete. Normalize/deduplicate
claims without losing native reply targets. Done when every page completes
and each finding is recorded.
Run this hunt once, not after edits/commit/push/reply. Later feedback or CI
needs a new invocation; retrying one failed reply is not another hunt.

## 3. Triage and fix

Trace every claim in surrounding source; reproduce where possible.
Assign fix/reject/clarify/already-fixed with evidence, including skip reasons.
No edits before all verdicts. Apply only fixes in focused clusters and run
their narrowest checks; required failures block. Done when every finding
has a verdict and every fix a verified diff, or no fix was needed.

## 4. Commit and push

For a diff, discard earlier message drafts and invoke commit with unstaged
scope. Commit owns all clean-room rules, including the conversation-only
test and trailer hygiene in `../commit/REFERENCE.md`; repeat no alternative
message policy here. Skip commit on clean tree.
Push when enabled, verify remote SHA, never force; movement/rejection blocks.
Push off leaves fixed findings AWAITING_PUSH. Recheck %B before push for
rejected framing/unrequested trailers. Done when no diff exists or the
verified commit is pushed; a local-only fix is not pushed success.

## 5. Reply and report

With replies on, apply `references/replies.md` then
`references/unslop-reply-drafts.md`. Consolidate shared parents, preserve bot
prefixes, and post only through gh's reply script. Skip satisfied targets.
An inline reply failure is not retried. Follow the pr-reply error and post
that body on the main conversation. A main-conversation post that fails is
refetched and retried once; another failure blocks.
Fixed replies require a pushed SHA. Do not resolve unless explicitly asked
and supported by a separately authorized operation.
Report finding/verdict/action/evidence, URL, commit/push, hunt counts, and
unreplied targets. Done when all authorized replies match their verdicts.

Terminals: SUCCESS, NO_CODE_CHANGE, AWAITING_PUSH, BLOCKED. Never SUCCESS
with an unsatisfied finding. A finding answered in its inline thread, or on
the main conversation via fallback, is satisfied. Resume restarts
Synchronize; no merge-conflict fixes.

© prathamdby · MIT · prathamdby/skills

Similar skills

SKILL.md skills catalog →

From the same set7

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor