writing-conformant-specs

Convert plain language specifications into RFC 2119-conformant documents.

4|Updated Oct 29, 2025
One-click install
npx skills add https://github.com/tordks/claude-workflow --skill writing-conformant-specs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: writing-conformant-specs
Source: https://github.com/tordks/claude-workflow/tree/main/.claude/skills/writing-conformant-specs
Command: npx skills add https://github.com/tordks/claude-workflow --skill writing-conformant-specs

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill guides writers in creating RFC 2119-conformant specifications, helping convert plain language into normative requirements, structure sections, and separate normative from informative content.

Core Features & Use Cases

  • Iterative Drafting: Load RFC 2119 guide and convert plain-language requirements into MUST/SHOULD/MAY, with proper labeling.
  • Conformance Guidance: Provide templates and patterns to separate normative from informative content.
  • Guided Revision: Stepwise workflow to refine keywords and validate conformance.

Example Use Case: Draft a new API spec that defines error handling and security requirements using RFC 2119 keywords.

Quick Start

Load the RFC 2119 guide from references/rfc-2119-guide.md and start drafting a new specification: write a problem statement, identify normative requirements, and convert them into MUST/SHOULD/MAY with proper labeling.

Frequently Asked Questions about writing-conformant-specs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write RFC 2119-conformant specifications?

RFC 2119-conformant specifications use standardized keywords (MUST, SHOULD, MAY, etc.) to express normative requirements with precision. Load the RFC 2119 guide, identify your requirements, and label each with the appropriate keyword to create verifiable, machine-checkable specs.

What's the difference between normative and informative content in specifications?

Normative content states binding requirements using RFC 2119 keywords; informative content provides guidance, examples, or rationale without mandatory force. Separating them clearly ensures readers distinguish what must be implemented from what's optional or explanatory.

How do I choose between MUST, SHOULD, and MAY in my specification?

MUST indicates mandatory requirements; SHOULD indicates strong recommendations that may be deviated from with justification; MAY indicates truly optional features. Use the decision-tree keyword guidance to map each requirement to the appropriate level of conformance.

Can I convert plain language requirements into RFC 2119 format?

Yes. Start with your plain-language requirements, identify the binding intent of each statement, and convert it to the corresponding RFC 2119 keyword with proper labeling. Iterative drafting lets you refine keywords and validate conformance as you work.

What templates does this skill provide for specification structure?

The skill provides templates and patterns for separating normative from informative sections, structuring requirements hierarchically, and labeling keywords consistently. These patterns guide layout and ensure your spec remains machine-checkable and auditable.

How do I validate that my specification meets RFC 2119 conformance?

Use the validation checks included in the skill to verify keyword usage, confirm separation of normative and informative content, and ensure all requirements are verifiable. These checks produce actionable feedback to refine your spec before publication.