plugins/git/skills/pull-feedback/SKILL.md
Use when the user has authored a GitHub pull request and wants to work through review feedback on it. Triggers on phrases like "pull down the review on
npx skillsauth add technicalpickles/pickled-claude-plugins pull-feedbackInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pulls review feedback on a PR the user authored into a working doc with per-thread triage slots. The point is rigor: every unresolved thread gets a tentative verdict (valid / invalid / nice-to-have / needs-clarification) with reasoning and a plan, so the user can work through feedback deliberately instead of rubber-stamping.
Announce: "Using git:pull-feedback to pull and triage feedback on PR #N."
./fetch.sh [ref]
ref accepts a bare number, #N, owner/repo#N, a PR URL, or nothing (auto-detects from current branch). The script writes a skeleton doc to .scratch/pr-reviews/<N>/threads.md with _pending triage_ placeholders and prints counts on stdout. Use this output location — don't invent your own filename.
Add a ## Summary section (1-2 sentences on what the PR does + state of the review) only if you don't already know the PR. If the user has been discussing it in conversation or the branch name tells you, skip — guessing wastes tokens and risks confabulation.
Each thread has a unique <!-- thread: N --> anchor. Use targeted Edit calls to fill three slots per thread:
Keep the (tentative) label. It's the shallow-pass signal; it invites deep-dive on anything non-obvious.
When the user asks to dig into a specific thread ("verify the race condition claim", "dig into thread 3"):
**Verdict (tentative):** → **Verdict:**Shallow pass catches obvious cases (typos, renames, style). Deep-dive is where the hard judgment lives — reserve it for threads with real technical substance.
For any Invalid, apply superpowers:receiving-code-review: verify the reviewer's claim is actually wrong (don't just disagree because fixing is annoying), acknowledge the concern even when disagreeing, and plan a reply that explains the reasoning. That skill was written for agent reviews; the core rigor applies equally to humans.
Summarize counts and offer a next step:
7 threads triaged: 4 valid, 2 invalid, 1 nit. Doc at
.scratch/pr-reviews/603/threads.md. Walk through them, or dig deeper on specific ones?
Then stop. Addressing threads, making code changes, and replying are normal work from there — not this skill's job.
This skill is about review threads, not PR health. Do NOT drift into:
If the user asks "catch me up on my PR", they mean the review feedback. Other PR state belongs to other tools (gh pr view, gh pr checks, git:pull-request).
Reviewer scoping: If the user asks specifically about one reviewer ("what did alice say?"), scope the doc to that reviewer's threads. Other reviewers' threads can be omitted or deferred — don't force all-threads mode.
git:inboxgit:pull-requestpr-review-toolkit:review-pr or code-review:code-review| Action | Command |
|--------|---------|
| Fetch for current branch's PR | ./fetch.sh |
| Fetch for specific PR | ./fetch.sh 123 or ./fetch.sh owner/repo#123 |
| Deep-dive on thread N | Read the file, update verdict + reasoning via Edit |
| Run internal tests | ./tests/run-tests.sh |
## Summary without real context. If you don't actually know what the PR does, either read enough to find out or leave the section off. Don't confabulate.(tentative) marker isn't decoration — keep it until you've read the code for that thread.tools
--- name: writing-for-scannability description: Use when structuring prose so readers can skim it - drafting or restructuring READMEs, docs, PR or issue bodies, design docs, RFCs, or any long-form text where a wall of prose hides the structure. Also use when explicitly asked to make something scannable or skimmable, convert prose to a list, surface a buried list, fix a wall of text, or decide whether bullets or prose fit. Strong signal: text with parallel sentence shapes, contrast markers ("that
development
Ignore actually-lsp nudges for an ecosystem in this project. Use when the user wants to silence, dismiss, or ignore the LSP setup nudges for a specific ecosystem (Rust, TypeScript, Ruby), or invokes `/actually-lsp-ignore` directly. Writes `dismissed=true` to `.claude/actually-lsp.json`. Persistent across sessions for this project only.
tools
Diagnose and fix LSP setup for the current project's detected ecosystems (Rust, TypeScript, Ruby). Use when the SessionStart hook nudged about a missing LSP plugin, when the env isn't ready (no `bundle install`, no `cargo build`, missing server binary), when LSP calls are failing, or when the user invokes `/actually-lsp-doctor` directly. Walks the per-ecosystem state machine, reports what's missing, then runs the fix.
tools
--- name: investigating-runs description: Use whenever the user mentions a GitHub Actions / GHA run, even casually — invoke this skill before reaching for raw `gh` commands, because the bundled `gha-snapshot` helper distills `gh run view --log-failed` (a firehose) into a readable block with per-job status, failed-step log tails, and annotations. Specific triggers (any one is enough): a `github.com/.../actions/runs/...` URL; the phrase "GitHub Actions" or "GHA"; the `gh run` CLI; a failing workfl