Requirement Specification

Generate Given-When-Then acceptance criteria from ambiguous user requests.

Updated Mar 3, 2026
One-click install
npx skills add https://github.com/StrategicMilk/Vetinari-Orchestrastor --skill requirement-specification
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Requirement Specification
Source: https://github.com/StrategicMilk/Vetinari-Orchestrastor/tree/main/vetinari/skills/catalog/foreman/requirement-specification
Command: npx skills add https://github.com/StrategicMilk/Vetinari-Orchestrastor --skill requirement-specification

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It turns ambiguous user requests into precise, testable acceptance criteria using the Given‑When‑Then format, preventing costly misunderstandings early in the development cycle.

Core Features & Use Cases

  • Socratic Questioning: Generates targeted clarification questions to surface hidden assumptions.
  • Specification Assembly: Produces a complete, structured spec covering scope, edge cases, non‑functional requirements, and dependencies.
  • Planning Integration: Feeds downstream agents (Worker, Inspector) with clear specifications for reliable task decomposition and quality gating.

Quick Start

Ask the foreman to generate a detailed specification for the goal “Rate limit the REST API to prevent abuse”.

Frequently Asked Questions about Requirement Specification

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

FAQPage Schema
How do I turn vague feature requests into testable acceptance criteria?

To turn vague feature requests into testable acceptance criteria, you apply Socratic questioning to surface hidden assumptions and structure them into Given-When-Then specifications. This captures scope, edge cases, and non-functional requirements during the planning stage.

What is the Given-When-Then format for software requirement specifications?

The Given-When-Then format structures requirement specifications by defining a precondition (Given), an action (When), and an expected outcome (Then). It is used to transform ambiguous user requests into precise, testable criteria for software development tasks.

How do I identify hidden assumptions and edge cases when planning a feature?

To identify hidden assumptions and edge cases during feature planning, generate targeted clarification questions using Socratic questioning. This surfaces implicit expectations early, preventing costly misunderstandings before they propagate downstream in the development cycle.

Can I use structured specifications to feed downstream software development agents?

Yes, you can use structured specifications to feed downstream software development agents like Worker or Inspector. Providing clear Given-When-Then specifications enables reliable task decomposition and quality gating for automated development workflows.

When do I need to write acceptance criteria for non-functional requirements?

You need to write acceptance criteria for non-functional requirements whenever a feature involves scope, dependencies, or constraints like rate limiting. Capturing these alongside functional edge cases ensures downstream agents receive a complete, testable specification.