RFC Specification Writing Skill
This skill automatically activates when writing technical specifications, design documents, or architecture proposals that require structured evaluation and stakeholder review.
When This Skill Activates
- Creating a new technical RFC or design document
- Proposing architectural changes or new systems
- Evaluating technical options objectively
- Documenting technical decisions with rationale
- Writing system design specifications
Core Principles
Objective Technical Analysis
RFCs must maintain strict neutrality when evaluating options:
Evidence-Based Evaluation
- Support claims with data, benchmarks, or documented experience
- Avoid subjective language ("better", "best", "obvious choice")
- Present measurable criteria for comparison
Balanced Trade-off Analysis
- Every option has advantages AND disadvantages
- Document both explicitly for each alternative
- Avoid dismissing options without clear justification
Separation of Facts and Opinions
- Clearly label assumptions vs verified facts
- Cite sources for technical claims
- Distinguish between team preferences and technical constraints
Stakeholder Neutrality
- Present options without advocating for a predetermined choice
- Let evaluation criteria drive the recommendation
- Document dissenting opinions fairly
RFC Document Structure
Required Sections
Header Metadata
---
rfc_id: RFC-XXXX
title: [Descriptive Title]
status: DRAFT | REVIEW | APPROVED | IN_PROGRESS | COMPLETED | SUPERSEDED
author: [Name]
reviewers: [List of reviewers with status]
created: YYYY-MM-DD
last_updated: YYYY-MM-DD
decision_date: YYYY-MM-DD (when approved)
---
Overview (1-2 paragraphs)
- What this RFC proposes
- Why it matters now
- Expected outcome
Background & Context
- Current state of the system
- Historical context if relevant
- Glossary of terms
- Links to related RFCs or documentation
Problem Statement
- Specific problem being addressed
- Evidence of the problem (metrics, incidents, user feedback)
- Impact of not solving (cost, risk, opportunity loss)
Goals & Non-Goals
- Explicit scope boundaries
- What success looks like
- What this RFC deliberately does NOT address
Evaluation Criteria
- Measurable criteria for comparing options
- Weight or priority of each criterion
- Minimum thresholds where applicable
Options Analysis
For each option (minimum 2):
### Option N: [Name]
**Description**: [What this option entails]
**Advantages**:
- [Pro 1]
- [Pro 2]
**Disadvantages**:
- [Con 1]
- [Con 2]
**Evaluation Against Criteria**:
| Criterion | Score/Rating | Notes |
|-----------|--------------|-------|
| ... | ... | ... |
**Effort Estimate**: [Complexity and resources required]
**Risk Assessment**: [Potential risks and mitigations]
Recommendation
- Recommended option with justification
- How it scores against criteria
- Acknowledged trade-offs being accepted
Technical Design (for approved RFCs)
- Architecture diagrams
- API specifications
- Data models
- Security considerations
Implementation Plan
- Phases and milestones
- Dependencies
- Rollback strategy
Open Questions
- Unresolved technical questions
- Areas needing further investigation
- Pending stakeholder input
Decision Record
- Final decision made
- Date and approvers
- Key discussion points
- Conditions or constraints on approval
RFC Lifecycle
DRAFT → REVIEW → APPROVED → IN_PROGRESS → COMPLETED
↓
SUPERSEDED (if replaced by newer RFC)
Status Definitions
| Status |
Description |
| DRAFT |
Initial writing, not ready for review |
| REVIEW |
Open for stakeholder feedback |
| APPROVED |
Decision made, ready for implementation |
| IN_PROGRESS |
Implementation underway |
| COMPLETED |
Implementation finished |
| SUPERSEDED |
Replaced by newer RFC (link to new RFC) |
Evaluation Criteria Framework
Use these standard criteria categories (adapt as needed):
Technical Criteria
- Performance: Latency, throughput, resource usage
- Scalability: Horizontal/vertical scaling, bottlenecks
- Reliability: Fault tolerance, recovery, availability
- Security: Attack surface, data protection, compliance
- Maintainability: Code complexity, debugging, updates
Operational Criteria
- Operability: Monitoring, alerting, incident response
- Deployment: CI/CD integration, rollback capability
- Documentation: Learning curve, knowledge transfer
Business Criteria
- Time to Implement: Development effort, dependencies
- Cost: Infrastructure, licensing, maintenance
- Risk: Technical risk, organizational risk
Neutral Language Guidelines
Avoid
- "Obviously the best choice"
- "Everyone agrees that..."
- "This is clearly superior"
- "The only sensible option"
- Dismissing alternatives as "not worth considering"
Use Instead
- "Based on criteria X, Option A scores higher because..."
- "Option B requires consideration of trade-off Y"
- "The data suggests that..."
- "Stakeholder input indicates a preference for..."
- "Given constraints A and B, Option C is recommended"
Quality Checklist
Before marking RFC as REVIEW:
Integration with CTO Architect Workflow
When the CTO Architect agent creates technical specifications:
- Use this skill for any significant technical decision
- Follow the template in
references/rfc-template.md
- Ensure neutral evaluation of all options
- Link to related PRDs when applicable
- Request review from appropriate technical stakeholders
File Naming Convention
- RFC documents:
RFC-XXXX-<short-description>.md
- Example:
RFC-0042-api-gateway-selection.md
Directory Structure
rfcs/
├── draft/ # Work in progress
├── review/ # Under stakeholder review
├── approved/ # Approved, awaiting or in implementation
├── completed/ # Implementation finished
└── archive/ # Superseded or abandoned
└── YYYY/
References
- Template:
./references/rfc-template.md
- Evaluation Matrix:
./references/evaluation-matrix.md
1---2name: rfc-specification3description: RFC (Request for Comments) specification writing with objective technical analysis. Use when creating technical specifications, design documents, or architecture proposals that require structured evaluation of options and trade-offs.4---5
6# RFC Specification Writing Skill
7
8This skill automatically activates when writing technical specifications, design documents, or architecture proposals that require structured evaluation and stakeholder review.
9
10## When This Skill Activates
11
12- Creating a new technical RFC or design document
13- Proposing architectural changes or new systems
14- Evaluating technical options objectively
15- Documenting technical decisions with rationale
16- Writing system design specifications
17
18## Core Principles
19
20### Objective Technical Analysis
21
22RFCs must maintain strict neutrality when evaluating options:
23
241. **Evidence-Based Evaluation**
25 - Support claims with data, benchmarks, or documented experience
26 - Avoid subjective language ("better", "best", "obvious choice")
27 - Present measurable criteria for comparison
28
292. **Balanced Trade-off Analysis**
30 - Every option has advantages AND disadvantages
31 - Document both explicitly for each alternative
32 - Avoid dismissing options without clear justification
33
343. **Separation of Facts and Opinions**
35 - Clearly label assumptions vs verified facts
36 - Cite sources for technical claims
37 - Distinguish between team preferences and technical constraints
38
394. **Stakeholder Neutrality**
40 - Present options without advocating for a predetermined choice
41 - Let evaluation criteria drive the recommendation
42 - Document dissenting opinions fairly
43
44## RFC Document Structure
45
46### Required Sections
47
481. **Header Metadata**
49 ```yaml
50 ---
51 rfc_id: RFC-XXXX
52 title: [Descriptive Title]
53 status: DRAFT | REVIEW | APPROVED | IN_PROGRESS | COMPLETED | SUPERSEDED
54 author: [Name]
55 reviewers: [List of reviewers with status]
56 created: YYYY-MM-DD
57 last_updated: YYYY-MM-DD
58 decision_date: YYYY-MM-DD (when approved)
59 ---
60 ```
61
622. **Overview** (1-2 paragraphs)
63 - What this RFC proposes
64 - Why it matters now
65 - Expected outcome
66
673. **Background & Context**
68 - Current state of the system
69 - Historical context if relevant
70 - Glossary of terms
71 - Links to related RFCs or documentation
72
734. **Problem Statement**
74 - Specific problem being addressed
75 - Evidence of the problem (metrics, incidents, user feedback)
76 - Impact of not solving (cost, risk, opportunity loss)
77
785. **Goals & Non-Goals**
79 - Explicit scope boundaries
80 - What success looks like
81 - What this RFC deliberately does NOT address
82
836. **Evaluation Criteria**
84 - Measurable criteria for comparing options
85 - Weight or priority of each criterion
86 - Minimum thresholds where applicable
87
887. **Options Analysis**
89 For each option (minimum 2):
90 ```markdown
91 ### Option N: [Name]
92
93 **Description**: [What this option entails]
94
95 **Advantages**:
96 - [Pro 1]
97 - [Pro 2]
98
99 **Disadvantages**:
100 - [Con 1]
101 - [Con 2]
102
103 **Evaluation Against Criteria**:
104 | Criterion | Score/Rating | Notes |
105 |-----------|--------------|-------|
106 | ... | ... | ... |
107
108 **Effort Estimate**: [Complexity and resources required]
109
110 **Risk Assessment**: [Potential risks and mitigations]
111 ```
112
1138. **Recommendation**
114 - Recommended option with justification
115 - How it scores against criteria
116 - Acknowledged trade-offs being accepted
117
1189. **Technical Design** (for approved RFCs)
119 - Architecture diagrams
120 - API specifications
121 - Data models
122 - Security considerations
123
12410. **Implementation Plan**
125 - Phases and milestones
126 - Dependencies
127 - Rollback strategy
128
12911. **Open Questions**
130 - Unresolved technical questions
131 - Areas needing further investigation
132 - Pending stakeholder input
133
13412. **Decision Record**
135 - Final decision made
136 - Date and approvers
137 - Key discussion points
138 - Conditions or constraints on approval
139
140## RFC Lifecycle
141
142```
143DRAFT → REVIEW → APPROVED → IN_PROGRESS → COMPLETED
144 ↓
145 SUPERSEDED (if replaced by newer RFC)
146```
147
148### Status Definitions
149
150| Status | Description |
151|--------|-------------|
152| DRAFT | Initial writing, not ready for review |
153| REVIEW | Open for stakeholder feedback |
154| APPROVED | Decision made, ready for implementation |
155| IN_PROGRESS | Implementation underway |
156| COMPLETED | Implementation finished |
157| SUPERSEDED | Replaced by newer RFC (link to new RFC) |
158
159## Evaluation Criteria Framework
160
161Use these standard criteria categories (adapt as needed):
162
163### Technical Criteria
164- **Performance**: Latency, throughput, resource usage
165- **Scalability**: Horizontal/vertical scaling, bottlenecks
166- **Reliability**: Fault tolerance, recovery, availability
167- **Security**: Attack surface, data protection, compliance
168- **Maintainability**: Code complexity, debugging, updates
169
170### Operational Criteria
171- **Operability**: Monitoring, alerting, incident response
172- **Deployment**: CI/CD integration, rollback capability
173- **Documentation**: Learning curve, knowledge transfer
174
175### Business Criteria
176- **Time to Implement**: Development effort, dependencies
177- **Cost**: Infrastructure, licensing, maintenance
178- **Risk**: Technical risk, organizational risk
179
180## Neutral Language Guidelines
181
182### Avoid
183- "Obviously the best choice"
184- "Everyone agrees that..."
185- "This is clearly superior"
186- "The only sensible option"
187- Dismissing alternatives as "not worth considering"
188
189### Use Instead
190- "Based on criteria X, Option A scores higher because..."
191- "Option B requires consideration of trade-off Y"
192- "The data suggests that..."
193- "Stakeholder input indicates a preference for..."
194- "Given constraints A and B, Option C is recommended"
195
196## Quality Checklist
197
198Before marking RFC as REVIEW:
199
200- [ ] All required sections are complete
201- [ ] At least 2 alternatives are analyzed
202- [ ] Evaluation criteria are explicit and measurable
203- [ ] Trade-offs are documented for each option
204- [ ] Language is objective and evidence-based
205- [ ] Technical diagrams are included where helpful
206- [ ] Open questions are clearly listed
207- [ ] Implementation plan is realistic
208
209## Integration with CTO Architect Workflow
210
211When the CTO Architect agent creates technical specifications:
212
2131. **Use this skill** for any significant technical decision
2142. **Follow the template** in `references/rfc-template.md`
2153. **Ensure neutral evaluation** of all options
2164. **Link to related PRDs** when applicable
2175. **Request review** from appropriate technical stakeholders
218
219## File Naming Convention
220
221- RFC documents: `RFC-XXXX-<short-description>.md`
222- Example: `RFC-0042-api-gateway-selection.md`
223
224## Directory Structure
225
226```
227rfcs/
228├── draft/ # Work in progress
229├── review/ # Under stakeholder review
230├── approved/ # Approved, awaiting or in implementation
231├── completed/ # Implementation finished
232└── archive/ # Superseded or abandoned
233 └── YYYY/
234```
235
236## References
237
238- Template: `./references/rfc-template.md`
239- Evaluation Matrix: `./references/evaluation-matrix.md`