writing-spec

Write ADRs, RFCs, design specs, and requirement documents with testable statements.

1|Updated Mar 24, 2026
One-click install
npx skills add https://github.com/SgtPooki/skills --skill writing-spec-sgtpooki
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: writing-spec
Source: https://github.com/SgtPooki/skills/tree/main/skills/writing-spec
Command: npx skills add https://github.com/SgtPooki/skills --skill writing-spec-sgtpooki

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Decision and requirement documents often suffer from vague language, untestable requirements, missing alternatives, and inconsistent terminology, making them useless as records of why decisions were made or what systems must do. ## Core Features & Use Cases - Mode-specific guidance: Separate machinery for ADRs (MADR skeleton with context, options, decision, consequences), requirements (testable statements with validation conditions, RFC 2119 keyword discipline), and architecture docs (C4 vocabulary). - Argument rigor checks: Built-in checks that the document answers what happens if we do nothing, who bears the cost, and what the strongest objection is. - EARS reference: Deferred Easy Approach to Requirements Syntax templates in references/ears.md for safety-relevant or contractual requirements. - Use Case: An engineer needs to record why the team chose one database over another. The skill produces a numbered ADR with honest costs for each option, stated consequences including the losses, and a fairness-checked summary of rejected alternatives. ## Quick Start Write an ADR documenting the decision to migrate the API gateway to a new framework, including at least two options and their consequences.

Frequently Asked Questions about writing-spec

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

FAQPage Schema
How do I write an architecture decision record (ADR)?▼

Use the MADR skeleton: context stating the forces factually, at least two options with honest costs, the decision with its deciding factor, and consequences including the losses. Record one decision per ADR, number them, and never edit a superseded ADR.

How do I write testable software requirements?▼

Pair every requirement with a validation condition describing how you will know it is met, and keep one requirement per statement. Use RFC 2119 keywords like MUST and SHOULD only when the document declares them or the repo already follows that convention.

When should I use EARS requirements syntax?▼

Use EARS only when requirements need unusual rigor, such as safety-relevant behavior, protocol conformance, or contractual acceptance criteria. For ordinary ADRs and design specs, the basic testable-requirement rule is sufficient.

What is the difference between a spec and documentation?▼

Specs record decisions or constrain future behavior, while documentation explains current behavior. This skill covers the former; documents explaining existing behavior belong to a docs-writing skill instead.

Should I use MUST and SHOULD keywords in my spec?▼

Only use RFC 2119/8174 keywords when the document explicitly declares them or the repository already writes specs that way. Without the declaration, use plain lowercase must and should consistently.