- 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>
4.2 KiB
4.2 KiB
description, agent
| description | agent |
|---|---|
| RFC lifecycle management - create, list, review, approve, reject | planner |
RFC Management
Skills Required
- skills/mcp-tools-reference.md
- skills/rfc-workflow.md
- skills/rfc-templates.md
Purpose
Manage the full RFC lifecycle through sub-commands. RFCs provide a structured way to document, discuss, and approve changes before implementation.
Invocation
/rfc <sub-command> [arguments]
Sub-Commands
| Sub-Command | Usage | Description |
|---|---|---|
create |
/rfc create |
Create new RFC from conversation or clarified spec |
list |
/rfc list [filter] |
List all RFCs grouped by status |
review |
/rfc review <number> |
Submit Draft RFC for review |
approve |
/rfc approve <number> |
Approve RFC in Review status |
reject |
/rfc reject <number> |
Reject RFC with documented reason |
Sub-Command: create
Create a new RFC wiki page to track a feature idea through the review lifecycle.
Workflow:
- Check if conversation has clarified specification (from
/clarify) - If no context: prompt for Summary, Motivation, and initial Design
- Call
allocate_rfc_numberMCP tool for next sequential number - Create RFC page using template from
skills/rfc-templates.md - Update RFC-Index wiki page (create if doesn't exist)
- Display RFC number, wiki link, and next steps
Input Mapping (from /clarify):
| Clarify Section | RFC Section |
|---|---|
| Problem/Context | Motivation > Problem Statement |
| Goals/Outcomes | Motivation > Goals |
| Scope/Requirements | Detailed Design > Overview |
| Constraints | Non-Goals or Detailed Design |
| Success Criteria | Testing Strategy |
Edge cases:
- No RFC-Index exists: Create it with empty sections
- User provides minimal input: Create minimal RFC template, note sections to fill
- Duplicate title: Proceed (RFC numbers are unique, titles don't need to be)
Sub-Command: list
Display all RFCs grouped by lifecycle status.
Filters: /rfc list approved, /rfc list draft, /rfc list review
Workflow:
- Fetch RFC-Index wiki page via
get_wiki_page - Parse tables from each status section
- Display grouped by status, highlight Approved section
- Show counts per status
Edge cases:
- No RFC-Index: "No RFCs yet. Create one with
/rfc create" - Empty sections: Show "(none)"
Sub-Command: review
Submit a Draft RFC for review, transitioning status to Review.
Usage: /rfc review <number> (leading zeros optional)
Workflow:
- Validate RFC number, fetch page
- Check status is Draft - STOP if not
- Validate minimum content (Summary, Motivation, Detailed Design > Overview required)
- Optionally assign champion
- Update RFC page: status Draft -> Review, update date
- Update RFC-Index: move from Draft to In Review section
Sub-Command: approve
Approve an RFC in Review status for sprint planning.
Usage: /rfc approve <number> (leading zeros optional)
Workflow:
- Validate RFC number, fetch page
- Check status is Review - STOP if not
- Gather approval rationale (required)
- Update RFC page: status Review -> Approved, add Decision section
- Update RFC-Index: move from In Review to Approved section
Sub-Command: reject
Reject an RFC with documented reason.
Usage: /rfc reject <number> (leading zeros optional)
Workflow:
- Validate RFC number, fetch page
- Check status is Draft or Review - STOP if not
- Require rejection reason (mandatory)
- Update RFC page: status -> Rejected, add Decision section
- Update RFC-Index: move to Rejected section
Visual Output
+----------------------------------------------------------------------+
| PROJMAN - RFC [Sub-Command] |
+----------------------------------------------------------------------+
Validation Errors (All Sub-Commands)
- RFC not found: "RFC-NNNN not found. Check the number with
/rfc list" - Wrong status: "RFC-NNNN is in [status] status. [Specific allowed statuses for this action]."
- Missing required input: Specific message per sub-command
- No sub-command provided: Display sub-command reference table