# Craft Rfc

> Proposing technical designs. How we should build X.

- Skill: `attac-t/craft-rfc` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add attac-t/craft-rfc`
- Raw SKILL.md: https://api.skillmd.com/api/skills/attac-t/craft-rfc/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: attac-t (https://skillmd.com/u/attac-t)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/attac-t/craft-rfc

---


# Skill: Craft RFC

> "Design before you build. Write before you code."

## RFC vs ADR

| Artifact | Purpose | When |
|----------|---------|------|
| **RFC** | Propose a *design* | Before implementation |
| **ADR** | Record a *decision* | After choice is made |

RFC answers: "How should we build X?"
ADR answers: "Why did we choose X?"

## The Standard

1. **Location**: `.claude/memory/{branch}/rfc/RFC-{Title}.md`
2. **Status**: Draft → Accepted → Implemented → Superseded
3. **Structure**: Abstract → Problem → Solution → Open Questions
4. **Scope**: One RFC per feature/system

## The Protocol

1. **Interview** — Extract requirements via `AskUserQuestion`
2. **Visualize** — Use `/map` for structure, `/flow` for processes
3. **Draft** — Write RFC with diagrams and open questions
4. **Review** — User approves or requests changes
5. **Accept** — Status → Accepted, implementation begins
6. **Implement** — Status → Implemented when complete

## Visualization

Complex systems deserve diagrams. Use liberally:

- **`/map`** — Directory trees, data structures, component hierarchies
- **`/flow`** — Process flows, state machines, request lifecycles

## When to Write

| Write RFC | Don't Write RFC |
|-----------|-----------------|
| New package/library | Bug fixes |
| System redesign | Config changes |
| Complex feature | Simple CRUD |
| Cross-domain work | Single-file changes |

## Template

See `examples.md` for template and real-world examples.

