- Created unified /rfc command with create|list|review|approve|reject sub-commands - Deleted 5 individual rfc-*.md command files - Moved /clear-cache into /setup --clear-cache - Updated all cross-references in skills, docs, and integration files - Command count: 17 -> 12 (net -5) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
381 lines
7.1 KiB
Markdown
381 lines
7.1 KiB
Markdown
---
|
|
name: rfc-templates
|
|
description: RFC page templates and frontmatter format specifications
|
|
---
|
|
|
|
# RFC Templates
|
|
|
|
## Purpose
|
|
|
|
Provides templates for RFC wiki pages and defines the required/optional sections for complete RFC documentation.
|
|
|
|
## When to Use
|
|
|
|
- **Commands**: `/rfc create` when generating new RFC pages
|
|
- **Integration**: Referenced by `rfc-workflow.md` for page structure
|
|
|
|
---
|
|
|
|
## RFC Page Frontmatter
|
|
|
|
Every RFC page starts with a metadata block using blockquote format:
|
|
|
|
```markdown
|
|
> **RFC:** 0001
|
|
> **Title:** Short Descriptive Title
|
|
> **Status:** Draft
|
|
> **Author:** @username
|
|
> **Created:** 2026-01-25
|
|
> **Updated:** 2026-01-25
|
|
> **Champion:** (unassigned)
|
|
> **Sprint:** (none)
|
|
> **Superseded-By:** (none)
|
|
```
|
|
|
|
### Frontmatter Fields
|
|
|
|
| Field | Required | Description |
|
|
|-------|----------|-------------|
|
|
| `RFC` | Yes | 4-digit RFC number (e.g., 0001) |
|
|
| `Title` | Yes | Short descriptive title |
|
|
| `Status` | Yes | Current lifecycle status |
|
|
| `Author` | Yes | Original RFC author |
|
|
| `Created` | Yes | Creation date (YYYY-MM-DD) |
|
|
| `Updated` | Yes | Last update date (YYYY-MM-DD) |
|
|
| `Champion` | No | Assigned reviewer/sponsor |
|
|
| `Sprint` | No | Sprint reference when implementing |
|
|
| `Superseded-By` | No | RFC number if superseded |
|
|
|
|
---
|
|
|
|
## Full RFC Page Template
|
|
|
|
```markdown
|
|
> **RFC:** NNNN
|
|
> **Title:** [Short Title]
|
|
> **Status:** Draft
|
|
> **Author:** @[username]
|
|
> **Created:** YYYY-MM-DD
|
|
> **Updated:** YYYY-MM-DD
|
|
> **Champion:** (unassigned)
|
|
> **Sprint:** (none)
|
|
> **Superseded-By:** (none)
|
|
|
|
# RFC-NNNN: [Full Title]
|
|
|
|
## Summary
|
|
|
|
A brief (2-3 paragraph) explanation of the proposed change. This should be understandable by someone unfamiliar with the codebase.
|
|
|
|
**What:** What is being proposed?
|
|
**Why:** Why is this change needed?
|
|
**Impact:** What will be different after this is implemented?
|
|
|
|
## Motivation
|
|
|
|
### Problem Statement
|
|
|
|
Describe the problem this RFC addresses. Include:
|
|
- Current pain points or limitations
|
|
- User stories or use cases
|
|
- Why existing solutions are insufficient
|
|
|
|
### Goals
|
|
|
|
- [ ] Goal 1: Specific, measurable outcome
|
|
- [ ] Goal 2: Another specific outcome
|
|
- [ ] Goal 3: Third outcome
|
|
|
|
### Non-Goals
|
|
|
|
What is explicitly out of scope for this RFC:
|
|
- Non-goal 1
|
|
- Non-goal 2
|
|
|
|
## Detailed Design
|
|
|
|
### Overview
|
|
|
|
High-level description of the solution approach.
|
|
|
|
### Architecture
|
|
|
|
Describe the technical architecture:
|
|
- Components involved
|
|
- Data flow
|
|
- Integration points
|
|
|
|
### Implementation Details
|
|
|
|
#### Component 1
|
|
|
|
Detailed implementation for component 1.
|
|
|
|
#### Component 2
|
|
|
|
Detailed implementation for component 2.
|
|
|
|
### API/Interface Changes
|
|
|
|
If applicable, describe any API or interface changes:
|
|
|
|
```python
|
|
# Example new API
|
|
def new_function(param1: str, param2: int) -> dict:
|
|
"""Description of new function."""
|
|
pass
|
|
```
|
|
|
|
### Database/Storage Changes
|
|
|
|
If applicable, describe any data model changes.
|
|
|
|
### Configuration Changes
|
|
|
|
If applicable, describe any new configuration options.
|
|
|
|
## Alternatives Considered
|
|
|
|
### Alternative 1: [Name]
|
|
|
|
**Description:** Brief description of this alternative.
|
|
|
|
**Pros:**
|
|
- Pro 1
|
|
- Pro 2
|
|
|
|
**Cons:**
|
|
- Con 1
|
|
- Con 2
|
|
|
|
**Why not chosen:** Explanation.
|
|
|
|
### Alternative 2: [Name]
|
|
|
|
**Description:** Brief description of this alternative.
|
|
|
|
**Pros:**
|
|
- Pro 1
|
|
|
|
**Cons:**
|
|
- Con 1
|
|
|
|
**Why not chosen:** Explanation.
|
|
|
|
## Unresolved Questions
|
|
|
|
Questions that need to be answered before or during implementation:
|
|
|
|
1. **Question 1:** Description of open question
|
|
- Possible answer A
|
|
- Possible answer B
|
|
|
|
2. **Question 2:** Description of another open question
|
|
|
|
## Dependencies
|
|
|
|
- Dependency 1: Description and status
|
|
- Dependency 2: Description and status
|
|
|
|
## Security Considerations
|
|
|
|
Describe any security implications:
|
|
- Authentication/authorization impacts
|
|
- Data privacy considerations
|
|
- Potential attack vectors and mitigations
|
|
|
|
## Testing Strategy
|
|
|
|
How will this be tested:
|
|
- Unit tests
|
|
- Integration tests
|
|
- Manual testing checklist
|
|
|
|
## Rollout Plan
|
|
|
|
How will this be deployed:
|
|
- Feature flags
|
|
- Phased rollout
|
|
- Rollback strategy
|
|
|
|
---
|
|
|
|
## Review Notes
|
|
|
|
*(Added during Review phase)*
|
|
|
|
### Review Discussion
|
|
|
|
Summary of review feedback and discussions.
|
|
|
|
### Changes Made
|
|
|
|
List of changes made in response to review feedback.
|
|
|
|
---
|
|
|
|
## Decision
|
|
|
|
*(Added when Approved or Rejected)*
|
|
|
|
**Decision:** [Approved/Rejected]
|
|
**Date:** YYYY-MM-DD
|
|
**Decided By:** @[username]
|
|
|
|
**Rationale:**
|
|
|
|
Explanation of the decision.
|
|
|
|
---
|
|
|
|
## Implementation
|
|
|
|
*(Added during Implementing phase)*
|
|
|
|
**Sprint:** [Sprint reference]
|
|
**Started:** YYYY-MM-DD
|
|
**Issues:**
|
|
- #123: Issue title
|
|
- #124: Another issue
|
|
|
|
### Progress Notes
|
|
|
|
Updates during implementation.
|
|
|
|
---
|
|
|
|
## Completion
|
|
|
|
*(Added when Implemented)*
|
|
|
|
**Completed:** YYYY-MM-DD
|
|
**Release:** vX.Y.Z
|
|
**Lessons Learned:** [Link to lessons wiki page]
|
|
|
|
### Final Notes
|
|
|
|
Summary of what was implemented and any deviations from the original design.
|
|
```
|
|
|
|
---
|
|
|
|
## Section Requirements by Status
|
|
|
|
### Draft (Minimum)
|
|
- Summary (complete)
|
|
- Motivation (at least Problem Statement)
|
|
- Detailed Design (at least Overview)
|
|
|
|
### Review (Required)
|
|
All Draft sections plus:
|
|
- Alternatives Considered (at least 1)
|
|
- Unresolved Questions (can be empty if none)
|
|
|
|
### Approved (Required)
|
|
All Review sections plus:
|
|
- Decision section with approval
|
|
|
|
### Implementing (Required)
|
|
All Approved sections plus:
|
|
- Implementation section with Sprint and Issues
|
|
|
|
### Implemented (Required)
|
|
All Implementing sections plus:
|
|
- Completion section
|
|
|
|
---
|
|
|
|
## RFC-Index Entry Format
|
|
|
|
### Draft Section Entry
|
|
```markdown
|
|
| [RFC-0005](RFC-0005:-Idea-Z) | Idea Z | @user | 2026-01-25 |
|
|
```
|
|
|
|
### Review Section Entry
|
|
```markdown
|
|
| [RFC-0004](RFC-0004:-Feature-Y) | Feature Y | @user | 2026-01-20 |
|
|
```
|
|
|
|
### Approved Section Entry
|
|
```markdown
|
|
| [RFC-0003](RFC-0003:-Feature-X) | Feature X | @champion | 2026-01-15 |
|
|
```
|
|
|
|
### Implementing Section Entry
|
|
```markdown
|
|
| [RFC-0002](RFC-0002:-Feature-W) | Feature W | Sprint 18 | 2026-01-22 |
|
|
```
|
|
|
|
### Implemented Section Entry
|
|
```markdown
|
|
| [RFC-0001](RFC-0001:-Initial-Feature) | Initial Feature | 2026-01-10 | v5.0.0 |
|
|
```
|
|
|
|
### Rejected Section Entry
|
|
```markdown
|
|
| [RFC-0006](RFC-0006:-Rejected-Idea) | Rejected Idea | Out of scope | 2026-01-18 |
|
|
```
|
|
|
|
---
|
|
|
|
## Minimal RFC Template (Quick Start)
|
|
|
|
For rapid RFC creation from conversation:
|
|
|
|
```markdown
|
|
> **RFC:** NNNN
|
|
> **Title:** [Title]
|
|
> **Status:** Draft
|
|
> **Author:** @[username]
|
|
> **Created:** YYYY-MM-DD
|
|
> **Updated:** YYYY-MM-DD
|
|
> **Champion:** (unassigned)
|
|
> **Sprint:** (none)
|
|
> **Superseded-By:** (none)
|
|
|
|
# RFC-NNNN: [Title]
|
|
|
|
## Summary
|
|
|
|
[Brief description of the proposal]
|
|
|
|
## Motivation
|
|
|
|
### Problem Statement
|
|
|
|
[What problem does this solve?]
|
|
|
|
### Goals
|
|
|
|
- [ ] [Primary goal]
|
|
|
|
## Detailed Design
|
|
|
|
### Overview
|
|
|
|
[High-level approach]
|
|
|
|
## Alternatives Considered
|
|
|
|
*(To be added during review)*
|
|
|
|
## Unresolved Questions
|
|
|
|
- [Any open questions?]
|
|
```
|
|
|
|
---
|
|
|
|
## Creating RFC from Clarified Spec
|
|
|
|
When `/clarify` provides a clarified specification, map sections:
|
|
|
|
| Clarify Output | RFC Section |
|
|
|----------------|-------------|
|
|
| Problem/Context | Motivation > Problem Statement |
|
|
| Goals/Outcomes | Motivation > Goals |
|
|
| Scope/Requirements | Detailed Design > Overview |
|
|
| Constraints | Detailed Design or Non-Goals |
|
|
| Success Criteria | Testing Strategy |
|