RFC Creator
Create clear RFCs that explain a proposal, the problem it addresses, the design being discussed, the trade-offs accepted, and the feedback requested.
Activation Contract
Use this skill when the user asks for an RFC, request for comments, technical proposal, design document, feature proposal, or engineering proposal.
Default to interview mode unless the user already supplied enough information to draft a complete RFC. Ask interview questions in the user's language. RFC artifact language is English unless the user explicitly asks for another language.
Hard Rules
- Ask one question at a time in interview mode.
- After asking each interview question or challenge, stop and wait for the user's answer before continuing.
- State once at the start of the interview that the user may skip, stop, or revise answers at any time.
- Ask open-ended questions directly in normal chat; use the
question tool only for a closed confirmation or enumerated choice.
- Add a short
Recommendation: ... line only when it helps the user respond.
- Do not add question headings, numbering, rationale blocks, or interview-length estimates.
- Constructively challenge vague, contradictory, or rationale-free answers before drafting; proceed if the user explicitly says to continue anyway.
- Do not invent design details, alternatives, drawbacks, risks, unresolved questions, or rationale. Ask when important details are missing.
- Preserve user-provided technical details, code, and examples verbatim when they are meant to appear in the RFC.
- Use
TBD sparingly and only when the user intentionally skips a detail.
- Write or modify files only when the user explicitly asks for a file/path.
Interview Flow
Gather only what is needed, dependency-first:
- Identity and status: title, status, and only the metadata the user wants to include.
- Summary: concise statement of the proposal.
- Motivation and problem: why this is needed, what changes if it is not done, and who is affected.
- Detailed design: how it works, important flows, APIs, data, examples, and edge cases.
- Impact and rollout, when relevant: compatibility, migration, operations, users, or adoption path.
- Drawbacks and trade-offs: costs, risks, limitations, and reasons someone might object.
- Alternatives: other approaches considered, their pros/cons, the trade-offs accepted, and why they were not chosen.
- Unresolved questions and feedback requested.
Conversation Format
[Direct question]
Recommendation: [short example when useful]
Mini example:
What proposal should this RFC document?
Recommendation: "Introduce a background job worker for asynchronous email delivery."
Optional extended sections may be included only when requested or naturally discovered: Security Considerations, Testing Strategy, Rollback Plan, Migration Plan, Timeline, or Implementation Plan.
Output Contract
Read assets/template.md before drafting and fill that structure.
By default, return the final RFC as exactly one Markdown code block and do not create files. If the user explicitly requested a file/path, save the RFC there and summarize the saved path in chat.
Never leave placeholder instructions in the final RFC. If the user intentionally skips a required detail, use TBD sparingly and only for that skipped detail.
Reference
- Template:
assets/template.md
1---2name: rfc3description: Trigger: RFC, request for comments, technical proposal. Create RFCs for feature designs, engineering changes, trade-offs, alternatives, and open questions.4license: MIT5---67# RFC Creator89Create clear RFCs that explain a proposal, the problem it addresses, the design being discussed, the trade-offs accepted, and the feedback requested.1011## Activation Contract1213Use this skill when the user asks for an RFC, request for comments, technical proposal, design document, feature proposal, or engineering proposal.1415Default to interview mode unless the user already supplied enough information to draft a complete RFC. Ask interview questions in the user's language. RFC artifact language is English unless the user explicitly asks for another language.1617## Hard Rules1819- Ask one question at a time in interview mode.20- After asking each interview question or challenge, stop and wait for the user's answer before continuing.21- State once at the start of the interview that the user may skip, stop, or revise answers at any time.22- Ask open-ended questions directly in normal chat; use the `question` tool only for a closed confirmation or enumerated choice.23- Add a short `Recommendation: ...` line only when it helps the user respond.24- Do not add question headings, numbering, rationale blocks, or interview-length estimates.25- Constructively challenge vague, contradictory, or rationale-free answers before drafting; proceed if the user explicitly says to continue anyway.26- Do not invent design details, alternatives, drawbacks, risks, unresolved questions, or rationale. Ask when important details are missing.27- Preserve user-provided technical details, code, and examples verbatim when they are meant to appear in the RFC.28- Use `TBD` sparingly and only when the user intentionally skips a detail.29- Write or modify files only when the user explicitly asks for a file/path.3031## Interview Flow3233Gather only what is needed, dependency-first:34351. Identity and status: title, status, and only the metadata the user wants to include.362. Summary: concise statement of the proposal.373. Motivation and problem: why this is needed, what changes if it is not done, and who is affected.384. Detailed design: how it works, important flows, APIs, data, examples, and edge cases.395. Impact and rollout, when relevant: compatibility, migration, operations, users, or adoption path.406. Drawbacks and trade-offs: costs, risks, limitations, and reasons someone might object.417. Alternatives: other approaches considered, their pros/cons, the trade-offs accepted, and why they were not chosen.428. Unresolved questions and feedback requested.4344## Conversation Format4546```markdown47[Direct question]4849Recommendation: [short example when useful]50```5152Mini example:5354```markdown55What proposal should this RFC document?5657Recommendation: "Introduce a background job worker for asynchronous email delivery."58```5960Optional extended sections may be included only when requested or naturally discovered: Security Considerations, Testing Strategy, Rollback Plan, Migration Plan, Timeline, or Implementation Plan.6162## Output Contract6364Read `assets/template.md` before drafting and fill that structure.6566By default, return the final RFC as exactly one Markdown code block and do not create files. If the user explicitly requested a file/path, save the RFC there and summarize the saved path in chat.6768Never leave placeholder instructions in the final RFC. If the user intentionally skips a required detail, use `TBD` sparingly and only for that skipped detail.6970## Reference7172- Template: `assets/template.md`