incorporating-rfc-feedback
Skill9 starsChanged 5 months agoMITView on GitHub
Process external reviewer feedback on circulated RFCs. Use when you have reviewer comments to address, need to evaluate feedback against RFC constraints, or want to systematically update an RFC based on review.
In this repository5 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- brainstorming-rfcSkill
- finalizing-technical-docsSkill
- writing-technical-docsSkill
- template-skillSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 11 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 66
If YES to 1-5 → discuss with user before pushing back (see below).
- Distinctive: line 67
If YES to 6 → update RFC to include missing context, then respond.
- Distinctive: line 99
No long apology. State correction, move on.
- Distinctive: line 122
If feedback is unclear:
- Distinctive: line 132
If a reviewer asks a question (e.g., "How would this work with WebSockets?"), don't just update the RFC - start a discussion with the …
- Distinctive: line 172
Ask if unclear on priority/scope
- Distinctive: line 177
Verify against codebase and RFC constraints
- Distinctive: line 184
Verify their concerns are in scope
- Distinctive: line 185
If out of scope, explicitly note for future
- Distinctive: line 217
After processing all feedback, provide:
- Very specific: line 239
Delegate updates to the
rfc-writeragent: Don't update the RFC directly. - Distinctive: line 241
When feedback is accepted, spawn the writer:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Incorporating RFC Feedback
Overview
RFC feedback requires evaluation, not blind acceptance.
Core principle: Evaluate before accepting. Verify against RFC constraints. Technical reasoning over social comfort.
RFC feedback is suggestions to evaluate, not orders to follow. The RFC already documents constraints (Background), rejected alternatives (Abandoned Ideas), and design rationale. Feedback that ignores these needs pushback, not acceptance.
The Response Pattern
WHEN receiving RFC feedback:
1. READ: Complete feedback without reacting
2. PARSE: Break into discrete items
3. VERIFY: Check each against RFC and source material
4. EVALUATE: Does it improve the RFC or ignore constraints?
5. RESPOND: Accept, push back, or request clarification
6. IMPLEMENT: Update RFC with accepted changesGather Inputs
At the start, request:
- RFC file path
- Source materials (PRD, POC, spec, implementation plan)
- Feedback to process (paste, link, or file)
The RFC is an abstraction layer. If feedback questions something fundamental, verify against the source material, not just the RFC. The RFC might have abstracted incorrectly.
Example: Reviewer says "Why not use WebSockets?" The RFC's Abandoned Ideas says "polling was simpler." But the implementation plan might reveal WebSockets were rejected due to a platform constraint not mentioned in the RFC. The source material has the full context.
Forbidden Responses
NEVER:
- "Great feedback!" / "Thanks for the review!" (performative)
- Immediately implementing without checking RFC constraints
- Defensive responses to valid criticism
- Accepting suggestions that contradict Abandoned Ideas
INSTEAD:
- Restate the technical concern
- Reference specific RFC sections
- Push back with documented reasoning
- Just make the change (actions > words)
Verification Checklist
For each feedback item:
1. Does this contradict Background constraints?
2. Was this alternative already in Abandoned Ideas?
3. Does it conflict with stated design principles?
4. Does it expand scope beyond RFC's purpose?
5. Does the reviewer have full context?
6. Does source material reveal context missing from RFC?If YES to 1-5 → discuss with user before pushing back (see below). If YES to 6 → update RFC to include missing context, then respond.
When to Push Back
Push back candidates:
- Feedback contradicts constraint documented in Background
- Alternative already covered in Abandoned Ideas (point them there)
- Change would break consistency with existing systems
- Suggestion adds scope beyond RFC's purpose
- Reviewer misunderstands a constraint (expand Background if so)
IMPORTANT: Discuss with user before pushing back. Present the analysis:
"This feedback suggests [X]. However, this appears to conflict with
[Background constraint / Abandoned Ideas item / etc.].
My recommendation is to push back because [reason].
Should I push back, or do you want to reconsider the constraint?"The user decides whether to push back or accept. Don't unilaterally reject feedback.
If user confirms pushback:
"We considered this approach - see Abandoned Ideas.
The blocker was [X]. Is there something we missed?"If reviewer was right about something you initially pushed back on:
"You're right - I missed [X]. Updated the RFC."No long apology. State correction, move on.
When to Accept
Accept when:
- Valid technical concern not addressed in RFC
- Clarification that helps readers
- Edge case we missed
- Better phrasing/structure
Also fold (even if you initially disagreed) when:
- Multiple reviewers raise the same concern independently
- We can't articulate why our approach is better, just different
- The cost of the change is low and it makes the reviewer more comfortable
How to accept:
"Good catch. Updated [section] to address this."Or just make the change without commentary.
When to Clarify
If feedback is unclear:
STOP - do not implement anything yet
ASK for clarification before proceedingPartial understanding = wrong implementation.
When Feedback Contains Questions
If a reviewer asks a question (e.g., "How would this work with WebSockets?"), don't just update the RFC - start a discussion with the author.
Questions deserve thoughtful analysis, not mechanical responses.
Start with your analysis:
"The reviewer asks: [question]
My read on this: [Claude's opinion/analysis of the question]
Looking at the source material and RFC, I think [suggested answer or direction].
However, [considerations, tradeoffs, or things that might change the answer].
Options:
1. Update RFC to address this by [specific suggestion]
2. Follow up with reviewer to clarify [what's unclear]
3. This touches on [related concern] - worth discussing further
What's your take?"The discussion might go several rounds:
- Author disagrees with Claude's read → debate it
- Author has context Claude doesn't → incorporate it
- Neither is sure → brainstorm together
- Realize it needs reviewer clarification first
Possible outcomes:
- An RFC update (after agreeing on what to write)
- A response to the reviewer asking for clarification
- A back-and-forth with the reviewer before resolving
- Adding to Abandoned Ideas if exploring an alternative
- Deferring until more information is available
Key principle: Claude brings analysis and opinions to the table, then collaborates with the author. The author makes final decisions, but Claude is an active thinking partner.
Source-Specific Handling
From Stakeholders (PM, Leadership)
- May have business context you lack
- Ask if unclear on priority/scope
- Push back on technical impossibilities
- Their concerns often indicate missing Background context
From Peer Engineers
- Verify against codebase and RFC constraints
- May not have full context - check Background
- Technical discussion is expected
- Good source of edge cases and implementation concerns
From Security/Platform Teams
- Usually have specialized knowledge
- Verify their concerns are in scope
- If out of scope, explicitly note for future
- May reveal constraints that should be in Background
Implementation Order
FOR multi-item feedback:
1. Clarify anything unclear FIRST
2. Group related items into coherent revisions
(not point-by-point patches)
3. Then address in this order:
- Blocking issues (factual errors, security)
- Clarifications (expand unclear sections)
- Suggestions (alternative approaches)
- Polish (wording, formatting)
4. Track what was changed vs pushed backCommon Mistakes
| Mistake | Fix |
| Performative agreement | State what changed, or just change it |
| Blind acceptance | Verify against RFC constraints first |
| Defensive pushback | Use documented reasoning, not emotion |
| Ignoring feedback | Every item needs response (even if "no change") |
| Partial implementation | Clarify all items first |
| Not tracking changes | Summarize what changed and why |
| Only checking RFC | Verify against source material too |
Output Summary
After processing all feedback, provide:
## Feedback Summary
**Accepted (X items):**
- [Item]: Updated [section] to [change]
- [Item]: Added [content] to [section]
**Pushed Back (Y items):**
- [Item]: See Abandoned Ideas - [reason]
- [Item]: Contradicts Background constraint [X]
**Clarification Needed (Z items):**
- [Item]: Need to understand [what's unclear]
**Deferred (N items):**
- [Item]: Valid but out of scope. Noted for future.Updating the RFC
Delegate updates to the rfc-writer agent. Don't update the RFC directly.
When feedback is accepted, spawn the writer:
subagent_type: rfc-skills:rfc-writer
prompt: |
RFC path: [RFC path]
Change request: [what section, what to add/modify]
Context: [the feedback item being addressed]
Update the RFC to address this feedback.Do NOT use a code-review agent or skill - those are for code, not RFC style review.
The rfc-writer agent follows the style guide for tone and structure. After it returns, spawn an rfc-reviewer agent on the updated RFC and send any MAJOR or MODERATE issues back to the writer to fix (same loop as in writing-technical-docs, max 3 iterations). Subagents cannot spawn other subagents, so you run this loop, not the writer.
This ensures updates maintain the same quality as the original draft.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

