rfc-writer
RFC Writer guides you through composing normative RFCs—product contracts with observable obligations, invariants, and compatibility rules. It enforces separation between specification prose and implementation details, ensures each clause is independently testable, and hands off lifecycle operations to dedicated governance tools. Use it to author the contract itself, not design rationale or execution scope.
RFC Writer helps you compose precise, testable RFCs with normative clauses and proper lifecycle management.
AI-generated summary based on this skill's SKILL.md
Install
govctl-org/govctl/rfc-writer · repository language: Rust
git clone https://github.com/govctl-org/govctl
cp -r govctl/.claude/skills/rfc-writer ~/.claude/skills/rfc-writernpx skillfed install govctl-org/govctl/rfc-writerFrequently asked questions
AI-generated answers based on this skill's SKILL.md and metadata
How to write an RFC with normative specification clauses?
RFC Writer helps you compose normative RFCs by structuring each clause as an independently testable obligation. Start with a clear scope statement, then write each requirement using RFC 2119 keywords (MUST, SHOULD, MAY) to signal strength. RFC Writer enforces separation between the specification itself and implementation rationale, ensuring your clauses remain observable and verifiable across any conforming implementation.
What's the difference between normative and informative clauses?
RFC Writer distinguishes normative clauses—mandatory, testable obligations that define the contract—from informative sections like rationale, examples, and design notes. Normative clauses use RFC 2119 keywords and must be independently observable; informative content provides context but carries no binding force. RFC Writer guides you to keep these separate so readers and validators know which statements are contractual.
How do I create an implementation-independent RFC?
RFC Writer enforces product-contract thinking: specify *what* the system must do and *how* to observe it, never *how* to build it. Avoid prescribing internal architecture, language choice, or deployment method. Focus on external behavior, inputs, outputs, and state invariants. This lets multiple implementations conform to the same RFC without rewriting the spec.
How do I document a product contract with testable requirements?
RFC Writer structures your contract around observable obligations: each clause must name what can be measured or verified from outside. Use concrete examples, state machines, or acceptance criteria. Include error cases and boundary conditions. Every normative statement should answer: "How would a test suite verify this?" This makes your RFC independently testable.
What's RFC Writer's role in lifecycle and versioning?
RFC Writer focuses on authoring the specification itself—the normative clauses and product contract. It does not manage amendments, deprecations, or version supersession; those governance operations belong to dedicated lifecycle tools. RFC Writer ensures your RFC is well-formed and testable so handoff to governance systems is clean and unambiguous.
How should I structure clauses for RFC compatibility and deprecation?
RFC Writer guides you to write each clause with clear scope and lifecycle intent. Mark clauses that may change or be superseded; use versioning metadata to track compatibility rules. However, RFC Writer itself does not execute deprecation or manage version transitions—it prepares your specification so governance tools can apply those rules reliably and transparently.
SKILL.md
rendered from the published skill — quoted content, verbatim
RFC Writer
Write the product contract: observable obligations, invariants, interfaces, and compatibility rules. RFCs are normative artifacts, not design diaries, code sketches, or task plans.
This helper owns RFC content quality. Use spec or gov for lifecycle
operations such as finalization, version bumps, phase changes, deprecation, and
Clause supersession.
Discovery
Inspect the RFC, its relevant Clauses, and governing references before writing:
govctl rfc show <RFC-ID>
govctl clause show <RFC-ID>:<CLAUSE-ID>
govctl search <topic>
Use govctl rfc --help, govctl clause --help, and subcommand help for current
syntax. Clause operations always use the root govctl clause resource.
Hard Stops
- Do not implement, accept, bump, advance, deprecate, supersede, or delete from
this helper. Hand lifecycle work to
specorgov. - Do not put a new obligation in an ADR or Work Item to avoid amending the
(truncated - see the full file via the links below)
Read as markdown · JSON record · Browse the source repository
File tree — 1 file
.claude/skills/rfc-writer/SKILL.md