dot_agents/skills/authoring-rfcs/SKILL.md
Use when turning a settled design direction, brainstorming outcome, context anchor, or architecture discussion into a codebase-grounded RFC. Produces self-contained RFC documents with verified current architecture, chosen design, tradeoffs, risks, stable references, and planning handoff context without creating implementation plans.
npx skillsauth add MrPointer/dotfiles authoring-rfcsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Turn a validated direction into an engineering RFC that can survive review and feed planning without re-litigating architecture.
The output is a human engineering design document: self-contained, precise, grounded in the current codebase or explicit assumptions, and clear about the chosen design. It is not an anchor, implementation plan, ADR, transcript, agent handoff, or arranged notes.
This file is the RFC-authoring spine. Load referenced files only when their trigger applies.
| Skill | Owns | RFC Authoring Role |
|-------|------|--------------------|
| brainstorming | Exploration, framing, alternatives, user decisions, convergence | Convert the settled direction into the final RFC |
| anchoring-context | Durable working memory for active work | Use the anchor as input, then let the RFC become the settled design artifact |
| applying-architecture-patterns | Clean Architecture, Hexagonal Architecture, and DDD guidance | Load when backend architecture patterns are part of the design |
| planning-project-features | Decomposing an approved design into executable plans | Produce and reviewer-validate the RFC baseline planning will use |
If used after brainstorming, do not reopen the conversation unless reviewer feedback reveals a blocking gap. If used without brainstorming, confirm that the chosen direction is already settled before writing the RFC.
| Trigger | Load | |---------|------| | Gathering context, verifying current reality, normalizing decisions, or deciding whether architecture-pattern guidance applies | references/input-and-reality.md | | Drafting the RFC, choosing location/name, applying prose rules, or deciding which sections belong | references/writing-the-rfc.md | | Running reviewer subagents, handling review artifacts, classifying changes, or updating the Review Record | references/reviewer-review.md | | Writing the RFC body | assets/rfc-template.md |
Read user-approved direction, active anchors, relevant design docs, ADRs, domain/architecture/process docs, existing RFCs, and source files that define current architecture or contracts.
Use input-and-reality.md for companion-skill triggers, greenfield handling, and source-gathering expectations.
Build a concise current-state model before writing the proposed design. Important currently claims in the RFC must be backed by source references, documentation references, or explicit user statements.
Use input-and-reality.md for what to verify and how to separate verified facts from assumptions.
Reduce brainstorming or discussion output into settled design inputs: chosen approach, goals, non-goals, constraints, rejected alternatives, and genuinely unresolved open questions.
If an unresolved question changes the architecture, stop and ask the user one question. Non-blocking questions can remain in the RFC as open questions.
Use assets/rfc-template.md unless the project has a stronger convention.
Write the RFC as a normal engineering document, not a transcript or agent handoff. Save it using the project's RFC convention, or docs/rfcs/<topic>.md when no convention exists.
Use writing-the-rfc.md for human-voice rules, filename/ID rules, required conceptual sections, source references, and placeholder removal.
Before presenting the first complete RFC draft, run reviewer subagents once. Do not self-approve the RFC's architecture, risk profile, or clarity.
Required reviewers:
rfc-architect-reviewerrfc-risk-reviewerUse rfc-clarity-reviewer when the RFC is long, nuanced, assumption-heavy, produced from a long brainstorming session, or requested by the user.
Use reviewer-review.md for reviewer prompts, output paths, cumulative artifacts, finding incorporation, change classification, targeted re-review, and Review Record updates.
Present the RFC path and a brief summary of the chosen architecture. Stop unless the user explicitly asks for revisions or asks to move into planning.
If an anchor was used, update or reconcile it so settled design context points to the RFC instead of duplicating it.
the user in RFC prose; recast input as requirements, constraints, decisions, assumptions, or source references.testing
Create implementation plans from a reviewed RFC. Uses the RFC as the approved design baseline, decomposes it into executable sub-plans, and runs RFC-specific plan review.
tools
Create implementation plans directly from user requirements when no reviewed RFC is available or the user explicitly declines RFC-first planning. Decomposes work into self-contained sub-plans with full iterative multi-agent plan review.
content-media
Decompose a reviewed RFC into sequenced features for a single project. Uses the RFC as the approved design baseline and produces a persistent epic plan reviewed for RFC fidelity and feature decomposition.
tools
Decompose large efforts directly from user requirements when no reviewed RFC is available or the user explicitly declines RFC-first epic planning. Produces a persistent epic plan with rich feature descriptions that feed into planning-project-features separately.