skills/receiving-feedback/SKILL.md
You MUST use this when receiving feedback on any text-based work artifact — code, specs, design docs, PRDs, proposals, plans, or prose — before implementing suggestions, especially if feedback seems unclear or technically questionable.
npx skillsauth add ahgraber/skills receiving-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.
code-review instead).Verify against ground truth before revising. Ask before assuming. Correctness over social comfort. When no ground truth exists, surface that explicitly — do not guess.
Scope: AI-as-recipient — all text-based work artifacts.
No performative agreement (hard gate)
Never respond with "You're absolutely right!", "Great point!", "Thanks for catching that!", or any other performative or gratitude expression. State the requirement, present your assessment, or just act. The work itself shows you heard the feedback.
receiving-feedback.WHEN receiving feedback on a work artifact:
1. READ: Complete feedback without reacting
2. UNDERSTAND: Restate requirement in own words (or ask)
3. GROUND: Identify the ground truth to verify against
- If ground truth exists → check feedback against it
- If no ground truth exists → surface this to the user before proceeding
4. EVALUATE: Is this feedback sound given the artifact's context and constraints?
5. RESPOND: Technical acknowledgment, reasoned pushback, or risk escalation
6. REVISE: One item at a time, verify each
On first feedback item (soft gate): After restating understanding and grounding against truth, present your assessment and wait. Do not start revising. This gives the user space to workshop, redirect, or ask their own questions before you act.
Calibrate from the user's response:
Default to presenting your assessment. Let the user's response set the pace.
IF any item is unclear:
STOP — do not revise anything yet (hard gate)
ASK for clarification on ALL unclear items
WHY: Items may be related. Partial understanding leads to drift and error.
Example:
Feedback: "Fix items 1-6"
You understand 1,2,3,6. Unclear on 4,5.
WRONG: Revise 1,2,3,6 now, ask about 4,5 later
RIGHT: "I understand items 1,2,3,6. Need clarification on 4 and 5 before proceeding."
Both parties share the same information. Higher trust — proceed after understanding and grounding. Still verify against ground truth. Once the user has signaled their preferred pace, act accordingly.
Anything from outside the current conversation: forwarded comments, pasted reviews, PR feedback, email, stakeholder notes. The reviewer may lack full context.
Before revising (hard gate):
If the feedback seems wrong, push back with specific reasoning.
If you cannot verify, say so: "I can't verify this without [X]. Should I [investigate/ask/proceed]?"
When the user signals to proceed, revise in this order:
good-prose as a final pass (soft gate)For code-specific revision ordering, see references/code-review-reception.md.
Push back (hard gate): When feedback is verifiably wrong against ground truth.
Push back (soft gate): When feedback:
How to push back:
Hard gate. When responding to feedback — whether agreeing or pushing back — could create friction or externalities beyond the artifact itself (damaging a relationship, committing to expensive scope, contradicting a stakeholder publicly, undermining prior positioning), describe the specific risk and let the user decide how to proceed.
Do not navigate social or political dynamics independently. Name the risk, name the cost, and hand the decision to the user.
When feedback is correct:
"Fixed. [Brief description of what changed]"
"Good catch — [specific issue]. Fixed in [location]."
[Just revise and show the result]
Gratitude is performative and might be misconstrued as obsequiousness (undermining your relationship with the user), or worse, a signal that the feedback was surprising (undermining your expertise). Fixing the problem demonstrates that you heard the feedback.
When you pushed back and were wrong:
"You were right — I checked [X] and it does [Y]. Revising now."
"Verified and you're correct. My initial understanding was wrong because [reason]. Fixing."
State the correction factually and move on. No long apologies, no defending why you pushed back.
| Mistake | Fix | | --------------------------------------- | ------------------------------------------------ | | Performative agreement | State the requirement or just act | | Revising before verifying | Check against ground truth first | | Assuming ground truth exists | Surface when it doesn't — ask the user | | Batch revisions without checking | One at a time, verify each | | Assuming reviewer is right | Especially for external feedback — verify | | Avoiding pushback | Correctness over comfort | | Partial revision of related items | Clarify all unclear items first | | Acting on risky feedback silently | Surface externalities, let user decide | | Jumping to revision before user signals | Present assessment, calibrate pace from response |
references/code-review-reception.md — code-specific verification, revision ordering, YAGNI checks, and GitHub conventions.development
Use when the user wants rigorous, non-sycophantic editorial feedback on a draft, essay, blog post, or argument through back-and-forth dialogue — pressure-testing thesis, structure, argument, clarity, tone, and evidence. Triggers: "be my sparring partner", "pressure-test this draft", "poke holes in my argument", "is this ready to publish", "sharpen this post", "where is this weak". Not for one-shot copyediting, proofreading, or ghostwriting.
testing
Use when distilling the through-line gist of one or more sources — the spine, argument, tension, or recurring frame running through a set of documents, notes, research, or transcripts, OR across the ideas within a single rich piece — into a few concise paragraphs. Triggers: "synthesize", "what's the through-line/gist", "extract the insight", "pull these together". Not for faithful summary or condensation that covers what a source says, nor for comparisons or catalogs where enumeration is the deliverable.
development
Use when writing or reviewing tests in any language, or diagnosing a suite that is slow, brittle, or hard to read. Triggers: "write tests", "how should I test this", "what kind of test", "test is flaky/fragile", "should I mock this", "test is hard to read". For Python-specific guidance see `python-testing`.
development
Use when writing, debugging, or explaining Strudel live-coding music patterns — mini-notation syntax, pattern functions (fast/slow/every/off/stack), synth/sample selection, audio effects, scale/chord/voicing API, or EDM production recipes. Triggers: "write a Strudel pattern", "how do I make a bassline in Strudel", "what does .every() do", "strudel drum beat", "strudel chord voicing", any Strudel code question.