Files
leo-claude-mktplace/plugins/projman/skills/rfc-templates.md
lmiranda f2fddafca3 refactor(projman): normalize RFC to sub-command pattern, absorb clear-cache
- 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>
2026-02-02 13:43:29 -05:00

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 |