com um clique
rfc
RFC (Request for Comments) Writing Skill
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
RFC (Request for Comments) Writing Skill
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Bash Shell Script Development Guidelines
Go Project Planning Skill
Godot C# Game Development Skill
Godot Game Development Skill
Golang Development Guidelines
Grill Me - Relentless Design Interview
| name | rfc |
| description | RFC (Request for Comments) Writing Skill |
This skill provides guidance for creating effective RFCs that propose solutions and drive consensus through collaborative feedback.
A Request for Comments (RFC) is a formal written document that proposes a solution to a problem and seeks feedback on that proposal. Unlike a PRD which focuses on the problem, an RFC focuses on the solution.
Key principle: An RFC facilitates feedback and drives consensus. It is not a tool for approving or committing to ideas, but a collaborative practice to shape an idea and find serious flaws early.
Use an RFC when:
Skip an RFC when:
| Document | Focus | When to Write |
|---|---|---|
| PRD | The problem and requirements | Before solution design |
| RFC | The solution and implementation | After problem is understood |
A PRD answers: "What problem are we solving and why?" An RFC answers: "How will we solve it?"
# [RFC] Title: Brief Description of Proposal
| Field | Value |
|-------|-------|
| **Created** | [Date] |
| **Current Version** | [Version] |
| **Target Version** | [Version] |
| **PRD** | [Link if applicable] |
| **Status** | WIP / In-Review / Approved / Obsolete |
| **Owner** | [Name] |
| **Contributors** | [Names] |
| Status | Meaning |
|---|---|
| WIP | Still drafting; not ready for review |
| In-Review | Ready for feedback from stakeholders |
| Approved | Decision finalized, ready for implementation |
| Implemented | Proposal executed |
| Obsolete | Superseded by another RFC |
| Abandoned | Decision made not to proceed |
Purpose: Provide a brief executive summary (1-2 paragraphs).
Important: Anyone opening the document should form a clear understanding of the RFC's intent from reading this section alone.
Include:
## Overview
This RFC proposes [solution] to address [problem summary]. The expected
outcome is [benefit/goal]. This change will affect [scope/systems].
Purpose: Provide full context so any reader can understand why this RFC is necessary.
Key test: If you can't show a random engineer the background section and have them acquire nearly full context on the necessity for the RFC, the background is not complete enough.
Include:
## Background
### Current State
[How things work today. What exists. The status quo.]
### Problem Context
[Why the current state is insufficient. Link to PRD if available.]
### Prior Work
[Previous RFCs, discussions, or attempts. What was learned.]
### Constraints
[Technical, organizational, or time constraints affecting the solution.]
**Related Documents**:
- PRD: [link]
- Previous RFC: [link]
- Discussion: [link]
Purpose: Given the background, propose the solution.
This section provides an overview of the "how" without diving into implementation details (those come in the next section).
## Proposal
### Goal
[What we're trying to achieve with this solution]
### Proposed Solution
[Overview of the approach. High-level description of how it works.]
### Key Design Decisions
1. **[Decision 1]**: [Rationale]
2. **[Decision 2]**: [Rationale]
3. **[Decision 3]**: [Rationale]
### Scope
- **In Scope**: [What this RFC covers]
- **Out of Scope**: [What this RFC does NOT cover]
Purpose: Detail how the implementation will work.
Include:
## Implementation
### Architecture Overview
[High-level architecture diagram or description]
### Component Changes
#### [Component 1]
**Current**: [How it works now]
**Proposed**: [How it will work]
**Changes Required**:
- [Change 1]
- [Change 2]
#### [Component 2]
[Same structure]
### API Changes
#### New Endpoints/Methods
POST /api/v1/widgets Request: { "name": string, "config": object } Response: { "id": string, "status": string }
#### Modified Endpoints/Methods
[Existing API changes]
#### Deprecated Endpoints/Methods
[What will be deprecated and timeline]
### Data Model Changes
[Database schema changes, new tables, migrations]
### Dependencies
[External dependencies, services, libraries]
Purpose: Document user-impacting changes.
Include any changes to:
## UI/UX
### User-Facing Changes
#### CLI Changes
$ tool config --format json
$ tool config --format json --validate
#### Configuration Changes
```yaml
# New configuration option
widgets:
enabled: true
max_count: 100
[New or modified error messages users will see]
[How users migrate from old to new behavior]
### 7. Rollout Plan
**Purpose**: Describe how this will be deployed and validated.
```markdown
## Rollout Plan
### Phases
#### Phase 1: [Description]
- **Timeline**: [Dates]
- **Scope**: [What's included]
- **Success Criteria**: [How we know it worked]
- **Rollback Plan**: [How to revert if needed]
#### Phase 2: [Description]
[Same structure]
### Feature Flags
[Any feature flags used for gradual rollout]
### Monitoring
[Metrics and alerts to watch during rollout]
Purpose: Describe how the solution will be validated.
## Testing Strategy
### Unit Tests
[Key unit test scenarios]
### Integration Tests
[Integration test approach]
### Performance Tests
[Load testing, benchmarks]
### Manual Testing
[Manual validation steps]
### Acceptance Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]
Purpose: Address security implications.
## Security Considerations
### Threat Model
[What threats does this introduce or mitigate?]
### Authentication/Authorization
[Changes to auth model]
### Data Handling
[Sensitive data considerations]
### Audit/Compliance
[Audit trail, compliance requirements]
Purpose: Document ideas that were considered but rejected.
Important: Don't delete abandoned ideas from the document. Organize them with explanations of why they were abandoned. This preserves the reasoning for future readers.
## Abandoned Ideas
### [Idea 1 Title]
**Description**: [What was proposed]
**Why Abandoned**: [Reason it was rejected]
**Discussion**: [Link to relevant discussion if any]
### [Idea 2 Title]
[Same structure]
Purpose: List unresolved questions that need input.
## Open Questions
1. **[Question]**
- Context: [Why this matters]
- Options: [Possible answers]
- Owner: [Who will decide]
2. **[Question]**
[Same structure]
## References
- [Related RFC 1](link)
- [External documentation](link)
- [Research/papers](link)
Before marking an RFC as ready for review:
Use for:
Use for:
Mini RFC Sections:
references/hashicorp-template.mdreferences/best-practices.md