spec-driven-development

Writes structured product specifications with acceptance criteria, boundaries, and testing strategies before implementation.

Updated Mar 9, 2026
One-click install
npx skills add https://github.com/ArMaTeC/Redball --skill spec-driven-development-armatec
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spec-driven-development
Source: https://github.com/ArMaTeC/Redball/tree/main/.devin/skills/spec-driven-development
Command: npx skills add https://github.com/ArMaTeC/Redball --skill spec-driven-development-armatec

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams often start coding with vague requirements, leading to rework, scope creep, and untestable features. This Skill produces a complete, reviewable specification document that becomes the single source of truth before any implementation begins. ## Core Features & Use Cases - Structured Requirements Gathering: Organizes requirements into functional (MUST), non-functional (SHOULD), and boundary (MUST NOT) categories, asking clarifying questions instead of assuming. - Codebase-Aware Specs: Analyzes existing architecture, conventions, and adjacent features so the spec documents relevant patterns for implementors. - Rigorous Acceptance Criteria: Enforces specific, testable, independent criteria covering success and failure paths, plus boundary validation for inputs, state, integrations, and permissions. - Use Case: Before building a new CLI command, run this Skill to generate a spec file (e.g., S-042-export-reports.md) with user stories, API surface, data model, acceptance criteria, and open questions for team review. ## Quick Start Ask the AI to write a specification for the feature you want to build, describing the requirements in your request.

Frequently Asked Questions about spec-driven-development

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

FAQPage Schema
How do I write a product specification before coding?

Gather requirements into functional, non-functional, and boundary categories, then document user stories, API surface, data model, acceptance criteria, and testing strategy in a single spec file. This Skill generates that document at a numbered path like specs/S-NNN-feature-name.md.

What makes a good acceptance criterion in a spec?

A good acceptance criterion is specific, testable, independent, and covers both success and failure paths. Vague statements like "handles errors gracefully" are rejected in favor of concrete conditions specifying the error, user-visible result, and system state.

How to handle ambiguous requirements in a technical spec?

Ask up to two clarifying questions rather than filling gaps with assumptions. Any unresolved assumption is flagged explicitly as "ASSUMED: [assumption]" for review, and blocking unknowns are listed in the Open Questions section.

Does spec-driven development work with existing codebases?

Yes. The workflow includes a codebase analysis step that examines architecture patterns, style conventions, adjacent features, and shared types, then documents these findings as Existing Patterns so implementors have the necessary context.

When should a specification be updated during implementation?

Update the spec whenever requirements change during implementation, since it remains the single source of truth. Implementation should never start from a spec with open questions in critical areas.