requirements-patterns

Generate user stories and acceptance criteria using Given-When-Then templates.

9|2|Updated Dec 5, 2025
One-click install
npx skills add https://github.com/Zate/cc-plugins --skill requirements-patterns
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: requirements-patterns
Source: https://github.com/Zate/cc-plugins/tree/main/plugins/devloop/skills/requirements-patterns
Command: npx skills add https://github.com/Zate/cc-plugins --skill requirements-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Vague or incomplete requirements lead to scope creep, rework, and products that don't meet user needs. This Skill provides structured patterns for gathering, documenting, and validating software requirements effectively.

Core Features & Use Cases

  • User Story Format: Craft compelling user stories using the standard and INVEST formats.
  • Acceptance Criteria Patterns: Define clear, testable criteria using Given-When-Then (Gherkin) or checklist formats.
  • Requirements Categories: Differentiate between functional and non-functional requirements (performance, security, scalability).
  • Scope Management: Clearly define in-scope and out-of-scope items, and prevent scope creep.
  • Definition of Done: Establish a comprehensive checklist for task and feature completion.
  • Use Case: Write a user story for a new feature, define acceptance criteria for a complex interaction, or manage the scope of a project to prevent delays.

Quick Start

Draft a user story for a new 'password reset' feature, including acceptance criteria using the Given-When-Then format.

Frequently Asked Questions about requirements-patterns

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

FAQPage Schema
How do I write effective user stories with acceptance criteria?

User stories follow a standard format—As a [role], I want [capability], so that [benefit]—paired with testable acceptance criteria using Given-When-Then (Gherkin) syntax or checklist format. This ensures developers and testers share a common understanding of scope and completion before work begins.

What's the difference between functional and non-functional requirements?

Functional requirements describe what the system does—features, workflows, and user interactions. Non-functional requirements define how the system performs—security, scalability, latency, and reliability. Both must be documented separately to prevent scope creep and ensure the product meets operational constraints.

How do I prevent scope creep during product development?

Define in-scope and out-of-scope items explicitly at the start, document them in writing, and use a Definition of Done checklist to validate completion. Clear scope boundaries prevent feature requests from expanding timelines and reduce rework caused by ambiguous requirements.

What does a Definition of Done checklist include?

A Definition of Done checklist specifies acceptance criteria, code review approval, test coverage, documentation, and deployment readiness required before marking work complete. It standardizes task completion across teams and reduces handoff delays.

Can I use user stories and acceptance criteria for complex features?

Yes. Break complex features into smaller user stories, each with its own acceptance criteria. Use Given-When-Then format to specify edge cases and interactions, ensuring testability and reducing ambiguity in multi-step workflows.

Why do incomplete requirements cause rework and delays?

Vague requirements lead teams to build different interpretations of the same feature, triggering mid-project scope changes and design revisions. Structured requirement patterns—user stories, acceptance criteria, and scope documentation—align stakeholders upfront and reduce costly rework.