Catalogskills.sh · prathamdby

fix-pr

fix-pr to handle PR feedback and blocking CI in one pass; invokes gh and commit.

Review advisedVerified hub527 installs

Savant verdict: Review advised

Security analysis or source-hub review identified patterns requiring attention.

Live evaluation

Not evaluated yet. Workspaces can request a live evaluation.

Security assessment

Scan pending.

Structure

  • No license declaredConfirm you may reuse this skill before importing it into your repository.
  • The source hub's security checks flagged this skillSnyk: warn (Risk: MEDIUM · 2 issues)

SKILL.md

---
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.