Skip to content
Back to skills

Feedback

ASecurity

Fetch unresolved review comments on a GitHub PR (Copilot and human), verify against the code, classify Address / Skip / Optional / Discuss. Use when asked to triage reviewer feedback, which comments to actually fix, or to sort signal from noise on a PR. Don't use to reply to or resolve threads, or to write a fresh review (/code-review).

  • 16 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentsrustgocode-reviewgitapi

Works with

  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add helderberto/agent-skills --skill feedback --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Feedback?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Feedback
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/helderberto-feedback/badge)](https://www.skillsdirectory.com/skills/helderberto-feedback)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: feedback
effort: high
description: Fetch unresolved review comments on a GitHub PR (Copilot and human), verify against the code, classify Address / Skip / Optional / Discuss. Use when asked to triage reviewer feedback, which comments to actually fix, or to sort signal from noise on a PR. Don't use to reply to or resolve threads, or to write a fresh review (/code-review).
argument-hint: '[PR-number-or-branch]'
---

# Feedback

Consume the review comments **already on a PR** — Copilot and human reviewers — and sort them into what's worth fixing and what isn't. This is judgment, not a fresh review: each comment is verified against the current code before a verdict.

**Read-only.** Never reply to threads, resolve conversations, or post anything. The output is a decision aid for the user.

Distinct from `code-review`, which *generates* new findings: this skill *evaluates existing* reviewer comments.

## Workflow

1. **Fetch with `gh`** — pull the PR's review comments (default to the current branch's PR). Cover both inline thread comments and top-level review summaries, from Copilot and human reviewers. Keep only **unresolved** threads — resolution state lives in the GraphQL `reviewThreads` field (`isResolved`), not REST `pulls/comments`, so reach for `gh api graphql` when you need to filter out resolved/outdated noise. Capture author, `path`, `line`, and body for each. No unresolved comments → report that and stop.

2. **Verify each against current code** — read the file at `path:line` and confirm the comment still applies. Reviewers (especially bots) comment on stale diffs and miss surrounding context. An `outdated: true` thread defaults toward Skip unless the concern still holds in the current code. Completion: every comment has been checked against the actual code, not judged from its text alone.

3. **Classify** each comment using the rubric below. Every verdict carries a one-line rationale grounded in what you saw in step 2.

4. **Output the triage table** — grouped Address-first (see Output). Completion: every fetched comment appears in the table with a verdict and rationale.

5. **Offer to fix** — ask whether to implement the Address items. On yes, call the Skill tool with `tdd` for them (test-first). Don't auto-implement; don't touch Skip/Optional/Discuss items.

## Rubric

| Verdict | When |
|---|---|
| **Address** | Verified against current code as a real bug, risk, correctness gap, or clearly valid improvement. |
| **Skip** | Wrong, false positive, outdated (code already changed), contradicts an established codebase convention, or outside this PR's scope. Rationale must cite the evidence, not just assert it. |
| **Optional** | Subjective/style/preference with no correctness impact — the user's call. |
| **Discuss** | Valid concern needing a decision you can't make alone (product tradeoff, breaking change, architectural direction). |

- **Verify before judging.** A comment's confidence is not evidence — Copilot produces confident false positives. Ground every verdict in the current code.
- Prefer a specific rationale over a category label: "Skip — `user` is already null-checked at line 40" beats "Skip — not applicable".

## Output

```
## Triage: PR #<n> — <title>  (<count> unresolved)

### Address (<n>)
- **`path:line`** · @author — <comment gist>
  → <rationale>

### Optional (<n>)
- ...

### Discuss (<n>)
- ...

### Skip (<n>)
- **`path:line`** · @author — <comment gist>
  → <why it doesn't apply, citing the code>
```

## Error handling

- `gh pr view` fails → run `gh auth status`; if not on a PR branch, ask for the PR number.
- A commented file was deleted or renamed in the PR → note it and lean toward Skip (the concern likely moved).
- Copilot comment references a line outside the diff → treat as low-signal; verify the surrounding code before trusting it.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…