Files
leo-claude-mktplace/plugins/projman/skills/rfc-templates.md
lmiranda 16acc0609e feat(projman): add RFC system for feature tracking
Implement wiki-based Request for Comments system for capturing,
reviewing, and tracking feature ideas through their lifecycle.

New commands:
- /rfc-create: Create RFC from conversation or clarified spec
- /rfc-list: List RFCs grouped by status
- /rfc-review: Submit Draft RFC for review
- /rfc-approve: Approve RFC for sprint planning
- /rfc-reject: Reject RFC with documented reason

RFC lifecycle: Draft → Review → Approved → Implementing → Implemented

Integration:
- /sprint-plan detects approved RFCs and offers selection
- /sprint-close updates RFC status on completion
- clarity-assist suggests /rfc-create for feature ideas

New MCP tool: allocate_rfc_number

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 12:38:02 -05:00

7.1 KiB

name, description
name description
rfc-templates 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:

> **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

> **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

| [RFC-0004](RFC-0004:-Feature-Y) | Feature Y | @user | 2026-01-20 |

Approved Section Entry

| [RFC-0003](RFC-0003:-Feature-X) | Feature X | @champion | 2026-01-15 |

Implementing Section Entry

| [RFC-0002](RFC-0002:-Feature-W) | Feature W | Sprint 18 | 2026-01-22 |

Implemented Section Entry

| [RFC-0001](RFC-0001:-Initial-Feature) | Initial Feature | 2026-01-10 | v5.0.0 |

Rejected Section Entry

| [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:

> **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