RFC
Produce an architecture RFC in the user's canonical format. The user is a Staff Engineer biased toward simplicity, FP, modular monoliths, and pragmatic DDD — challenge over-engineering inside the doc itself, do not defer it to review.
Steps
- Clarify scope before writing. If the input is vague ("RFC for caching"), ask 1-3 targeted questions: what problem prompted it, what's the current state, what's the deadline / urgency. Do not invent context.
- Read the repo if relevant —
package.json, top-level structure, existing ADRs/RFCs (docs/rfc/, docs/adr/, .docs/) to mirror naming and tone.
- Draft all 10 sections. Do not skip any. If a section is genuinely empty, write
N/A — <one-line reason> rather than removing it.
- Surface 2-3 realistic options. Never present a single recommendation as "the" answer. Include a "do nothing / defer" option when honest.
- Trade-offs must be concrete. Cost in dev hours, operational complexity, blast radius if it fails. No marketing prose.
- Recommendation must justify itself against the other options, not in isolation.
- Risks ≠ trade-offs. Risks are what could go wrong despite the right choice (regression, scope creep, dependency change, hiring gap).
Required sections (in order)
- Problem Statement — one paragraph, no jargon. What hurts today.
- Context — current architecture, team, constraints from history. Link to relevant code/docs.
- Constraints — hard limits (compliance, deadline, headcount, infra).
- Assumptions — explicit, refutable. Each one should be a sentence someone could disagree with.
- Options — 2-4 alternatives. Include status quo.
- Trade-offs — table preferred: option × (dev cost, ops cost, time-to-value, reversibility, risk).
- Recommendation — chosen option + why it beats each alternative.
- Risks — what we accept by choosing this. Include mitigations only where they're real.
- Migration Strategy — phased plan if non-trivial. Define rollback criteria.
- Open Questions — things this RFC explicitly does not answer.
Output
Single markdown document. Use H2 (##) for each of the 10 sections. Tables for trade-offs. No emoji. No "this comprehensive proposal aims to leverage" prose — concise, structured, direct.
1---2name: rfc3description: Draft an architecture RFC using the user's canonical 10-section format (Problem → Context → Constraints → Assumptions → Options → Trade-offs → Recommendation → Risks → Migration Strategy → Open Questions). Use when the user asks for an "RFC", "design doc", "architectural proposal", or "RFC по <теме>". Optimized for the user's Codex persona.4---56# RFC78Produce an architecture RFC in the user's canonical format. The user is a Staff Engineer biased toward simplicity, FP, modular monoliths, and pragmatic DDD — challenge over-engineering inside the doc itself, do not defer it to review.910## Steps11121. **Clarify scope before writing.** If the input is vague ("RFC for caching"), ask 1-3 targeted questions: what problem prompted it, what's the current state, what's the deadline / urgency. Do not invent context.132. **Read the repo** if relevant — `package.json`, top-level structure, existing ADRs/RFCs (`docs/rfc/`, `docs/adr/`, `.docs/`) to mirror naming and tone.143. **Draft all 10 sections.** Do not skip any. If a section is genuinely empty, write `N/A — <one-line reason>` rather than removing it.154. **Surface 2-3 realistic options.** Never present a single recommendation as "the" answer. Include a "do nothing / defer" option when honest.165. **Trade-offs must be concrete.** Cost in dev hours, operational complexity, blast radius if it fails. No marketing prose.176. **Recommendation must justify itself against the other options**, not in isolation.187. **Risks ≠ trade-offs.** Risks are what could go wrong despite the right choice (regression, scope creep, dependency change, hiring gap).1920## Required sections (in order)21221. **Problem Statement** — one paragraph, no jargon. What hurts today.232. **Context** — current architecture, team, constraints from history. Link to relevant code/docs.243. **Constraints** — hard limits (compliance, deadline, headcount, infra).254. **Assumptions** — explicit, refutable. Each one should be a sentence someone could disagree with.265. **Options** — 2-4 alternatives. Include status quo.276. **Trade-offs** — table preferred: option × (dev cost, ops cost, time-to-value, reversibility, risk).287. **Recommendation** — chosen option + why it beats each alternative.298. **Risks** — what we accept by choosing this. Include mitigations only where they're real.309. **Migration Strategy** — phased plan if non-trivial. Define rollback criteria.3110. **Open Questions** — things this RFC explicitly does not answer.3233## Output3435Single markdown document. Use H2 (`##`) for each of the 10 sections. Tables for trade-offs. No emoji. No "this comprehensive proposal aims to leverage" prose — concise, structured, direct.