rfc-status

Show RFC details or update RFC status through lifecycle

9 stars

Best use case

rfc-status is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Show RFC details or update RFC status through lifecycle

Teams using rfc-status should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/rfc-status/SKILL.md --create-dirs "https://raw.githubusercontent.com/jpoutrin/product-forge/main/plugins/devops-data/skills/rfc-status/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/rfc-status/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How rfc-status Compares

Feature / Agentrfc-statusStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Show RFC details or update RFC status through lifecycle

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# rfc-status

**Category**: Technical Architecture

## Usage

```bash
/rfc-status <rfc-id> [options]
```

## Arguments

- `<rfc-id>`: Required - RFC identifier (e.g., RFC-0042 or just 0042)

## Options

| Option | Description |
|--------|-------------|
| `--set <status>` | Transition to new status |
| `--reviewer <name>` | Add or update reviewer |
| `--comment <text>` | Add status change comment |

## Valid Statuses

- `DRAFT` - Initial writing
- `REVIEW` - Open for feedback
- `APPROVED` - Decision made
- `IN_PROGRESS` - Implementation started
- `COMPLETED` - Implementation finished
- `REJECTED` - Proposal declined
- `ABANDONED` - Author withdrew
- `SUPERSEDED` - Replaced by newer RFC

## Execution Instructions

### View Status (no --set)

When viewing an RFC:

1. **Find the RFC file**
   - Search all `rfcs/` subdirectories
   - Match by RFC ID in filename or frontmatter

2. **Display RFC Details**

```
RFC-0042: Database Migration Strategy
======================================

Status:      REVIEW
Author:      Jane Doe
Created:     2025-12-01
Updated:     2025-12-05
Location:    rfcs/review/RFC-0042-database-migration-strategy.md

Reviewers:
  - Alice Chen: approved (2025-12-04)
  - Bob Smith: pending
  - Carol Wu: in-progress

Overview:
  [First 2-3 sentences of the Overview section]

Valid Transitions:
  → APPROVED  (requires all reviewers approved)
  → DRAFT     (needs revision)
  → REJECTED  (proposal declined)

Commands:
  /rfc-status RFC-0042 --set APPROVED
  /rfc-status RFC-0042 --reviewer "Bob Smith:approved"
```

### Update Status (with --set)

When updating status:

1. **Validate Transition**

   Valid transitions:
   | From | To |
   |------|-----|
   | DRAFT | REVIEW, ABANDONED |
   | REVIEW | APPROVED, REJECTED, DRAFT |
   | APPROVED | IN_PROGRESS, SUPERSEDED |
   | IN_PROGRESS | COMPLETED, SUPERSEDED |
   | Any | SUPERSEDED (with link to new RFC) |

2. **Perform Pre-transition Checks**

   For REVIEW → APPROVED:
   - Warn if not all reviewers approved
   - Require at least one approved reviewer

   For APPROVED → IN_PROGRESS:
   - Verify Technical Design section exists
   - Verify Implementation Plan section exists

   For IN_PROGRESS → COMPLETED:
   - Prompt for completion notes
   - Ask about lessons learned

3. **Update RFC File**
   - Update `status` in frontmatter
   - Update `last_updated` to today
   - Add `decision_date` if transitioning to APPROVED
   - Add `archive_date` if archiving

4. **Move File to Correct Directory**

   | Status | Directory |
   |--------|-----------|
   | DRAFT | `rfcs/draft/` |
   | REVIEW | `rfcs/review/` |
   | APPROVED | `rfcs/approved/` |
   | IN_PROGRESS | `rfcs/approved/in-progress/` |
   | COMPLETED | `rfcs/completed/` |
   | REJECTED | `rfcs/archive/YYYY/rejected/` |
   | ABANDONED | `rfcs/archive/YYYY/abandoned/` |
   | SUPERSEDED | `rfcs/archive/YYYY/superseded/` |

5. **Confirm Update**

```
RFC-0042 status updated: REVIEW → APPROVED

Updated:
  - Status: APPROVED
  - Decision Date: 2025-12-06
  - Location: rfcs/approved/RFC-0042-database-migration-strategy.md

Next steps:
  1. Create implementation tasks
  2. When starting work: /rfc-status RFC-0042 --set IN_PROGRESS
```

## Reviewer Management

Update reviewer status:

```bash
/rfc-status RFC-0042 --reviewer "Bob Smith:approved"
/rfc-status RFC-0042 --reviewer "Carol Wu:declined"
```

Reviewer statuses:
- `pending` - Not yet reviewed
- `in-progress` - Currently reviewing
- `approved` - Approved the RFC
- `declined` - Requested changes or rejected

## Example Usage

```bash
# View RFC details
/rfc-status RFC-0042

# Submit for review
/rfc-status RFC-0042 --set REVIEW

# Approve RFC
/rfc-status RFC-0042 --set APPROVED --comment "All concerns addressed"

# Start implementation
/rfc-status RFC-0042 --set IN_PROGRESS

# Mark complete
/rfc-status RFC-0042 --set COMPLETED

# Mark as superseded
/rfc-status RFC-0042 --set SUPERSEDED --comment "Replaced by RFC-0050"
```

## Error Handling

- If RFC not found, show search suggestions
- If invalid transition, show valid options
- If file move fails, show manual instructions
- Preserve git history when moving files (use `git mv`)

## Integration

When transitioning to IN_PROGRESS:
- Suggest creating tasks with `/generate-tasks` if PRD linked
- Remind to update related PRD status

When transitioning to COMPLETED:
- Prompt for implementation summary
- Ask about deviations from original plan

Related Skills

prd-status

9
from jpoutrin/product-forge

Check and update PRD status through lifecycle

tech-spec-status

9
from jpoutrin/product-forge

Show Tech Spec details or update status through lifecycle

zod

9
from jpoutrin/product-forge

Zod schema validation patterns and type inference. Auto-loads when validating schemas, parsing data, validating forms, checking types at runtime, or using z.object/z.string/z.infer in TypeScript.

typescript-import-style

9
from jpoutrin/product-forge

Merge-friendly import formatting (one-per-line, alphabetical). Auto-loads when writing TypeScript/JavaScript imports to minimize merge conflicts in parallel development. Enforces consistent grouping and sorting.

setup-mcp-auth

9
from jpoutrin/product-forge

Configure authentication for an existing FastMCP server

fastmcp

9
from jpoutrin/product-forge

FastMCP TypeScript framework patterns for MCP servers. Auto-loads when building MCP servers, creating tools/resources/prompts, implementing authentication, configuring transports, or working with FastMCP in TypeScript.

add-mcp-tool

9
from jpoutrin/product-forge

Add a new tool to an existing FastMCP server with guided configuration

add-mcp-resource

9
from jpoutrin/product-forge

Add a new resource or resource template to an existing FastMCP server

plan-with-team

9
from jpoutrin/product-forge

Validate plan file ownership

privacy-compliance

9
from jpoutrin/product-forge

GDPR, CCPA, and privacy compliance guidance for data protection. Use when handling personal data, implementing consent management, or ensuring regulatory compliance across jurisdictions.

oauth

9
from jpoutrin/product-forge

OAuth 2.0 and OpenID Connect implementation patterns. Use when implementing authentication, authorization flows, or integrating with OAuth providers like Google, GitHub, or custom identity providers.

mcp-security

9
from jpoutrin/product-forge

Use when securing MCP servers, preventing prompt injection, implementing authorization, validating user input, or building secure multi-agent pipelines. Provides 5-layer defense architecture patterns.