slgoodrich/agents/specification-techniques
Claude Code and agent skill by slgoodrich/agents
- community
Checking that the SKILL.md file is still in the repository.
Techniques for writing clear product specifications, user stories, and acceptance criteria. Use when defining feature requirements, writing user stories, creating acceptance criteria, or reducing spec ambiguity. Trigger on: 'write a spec', 'acceptance criteria for this feature', 'user story format', 'define requirements', 'Given-When-Then'.
Install
npx vskill@latest install slgoodrich/agents/specification-techniquesSKILL.md
Specification Techniques
Structured methods for translating product vision into clear, actionable requirements that align teams, reduce ambiguity, and enable successful execution.
Overview
Specification techniques help you answer "what" and "why" clearly while leaving "how" flexible for the team to determine. They create shared understanding without being prescriptive about implementation.
Core Principle: The value of specifications isn't in comprehensive documentation—it's in the conversations and shared understanding they create. A 3-sentence user story that everyone understands is better than a 30-page spec no one reads.
Origin: Modern specification techniques evolved from software engineering (Karl Wiegers), agile methodologies (Mike Cohn), and design thinking (Alan Cooper).
Key Insight: Good specifications enable teams to build the right thing, while bad specifications constrain teams and lead to rework.
When to Use This Skill
Auto-loaded by agents:
requirements-engineer- For PRDs, user stories, acceptance criteria, and NFRs
Use when you need to:
- Write product requirements documents (PRDs)
- Create user stories with acceptance criteria
- Define feature requirements clearly
- Document edge cases and error handling
- Specify non-functional requirements (performance, security)
- Align cross-functional teams on scope
- Translate product vision into development tasks
Product Requirements Documents (PRDs)
Core Structure
A well-structured PRD contains:
- Overview - Problem, goals, non-goals, success metrics
- Background - Context, user research, competitive analysis
- User Personas - Primary/secondary users, use cases
- Requirements - Functional and non-functional requirements
- User Experience - Flows, wireframes, interaction details
- Technical Considerations - Architecture, APIs, performance
- Success Criteria - Launch criteria, key metrics
- Timeline & Resources - Milestones, team, risks
Complete Template: See assets/prd-structure-template.md for full PRD structure with examples and best practices.
Essential PRD Components
Problem Statement:
Goals and Non-Goals:
- Goals: What you want to achieve (measurable)
- Non-Goals: What you're explicitly not doing (sets boundaries)
Success Metrics:
- Specific, measurable outcomes
- Baseline → Target values
- Timeline for achievement
Example:
User Stories
The Standard Format
Purpose: Placeholder for conversation, not complete specification.
Example:
INVEST Criteria
Framework for evaluating user story quality (Mike Cohn):
- I - Independent: Can be developed in any order
- N - Negotiable: Details flexible, not a contract
- V - Valuable: Delivers user or business value
- E - Estimable: Team can estimate effort
- S - Small: Fits within one sprint (1-5 days)
- T - Testable: Clear acceptance criteria
Complete Guide: See references/user-story-writing-guide.md for detailed explanations, examples, and story splitting patterns.
Template: See assets/user-story-template.md for comprehensive user story template with INVEST checklist.
The 3 Cs Framework (Ron Jeffries)
Card: Brief story description (placeholder) Conversation: Discuss details during planning/refinement (most important) Confirmation: Acceptance criteria (how to verify done)
Key Insight: The conversation is more valuable than the written artifact.
Acceptance Criteria
Three Formats
Format 1: Given-When-Then (Gherkin/BDD)
Best for: Behavior-driven development, sequential workflows, automated testing
Example:
Format 2: Checklist Style
Best for: Simple features, independent criteria, non-sequential requirements
Example:
Format 3: Example-Based
Best for: Complex calculations, validation rules, data transformations
Example:
Complete Guide: See references/acceptance-criteria-guide.md for comprehensive guide to writing testable acceptance criteria with all three formats, examples, and best practices.
Job Stories (Jobs-to-be-Done)
Format
Difference from User Stories:
- Focuses on context/situation (not persona)
- Emphasizes motivation (not implementation)
- Better for discovering underlying needs
Example:
Complete Template: See assets/job-story-template.md for detailed job story structure, examples, and when to use vs. user stories.
Use Cases
Structure
Detailed interaction scenarios documenting step-by-step system behavior.
Components:
- Primary actor and goal
- Preconditions and postconditions
- Main success scenario (happy path)
- Alternative flows (variations)
- Exception flows (error handling)
Example Structure:
Complete Template: See assets/use-case-template.md for comprehensive use case template with examples of alternative flows, exception handling, and special requirements.
Edge Cases and Error Handling
Systematic Coverage
Document behavior for:
1. Input Validation - Empty inputs, special characters, invalid formats 2. Permissions - Unauthenticated, insufficient privileges, expired sessions 3. State Handling - Empty state, loading state, error state, full state 4. Boundary Conditions - Zero, one, maximum, just over maximum 5. Time-Based - Expired tokens, time zones, scheduling 6. Network Issues - Timeouts, server errors, rate limiting
Example:
Complete Checklist: See assets/edge-case-checklist.md for systematic 100+ point checklist covering all edge case categories with examples and error handling templates.
Non-Functional Requirements
Key Categories
Performance Requirements:
- Response time (page loads, API calls)
- Throughput (requests per second)
- Scalability (concurrent users, data volume)
Security Requirements:
- Authentication (MFA, password policies)
- Authorization (RBAC, least privilege)
- Data protection (encryption, GDPR compliance)
Reliability Requirements:
- Availability (uptime %)
- Data integrity (backups, recovery)
- Fault tolerance (failover, retries)
Accessibility Requirements:
- WCAG 2.1 compliance
- Keyboard navigation
- Screen reader compatibility
Example:
Complete Template: See assets/non-functional-requirements-template.md for comprehensive NFR documentation covering all categories with specific metrics and verification methods.
Specification Best Practices
Start with Why
Always begin with problem statement before jumping to solutions:
Problem Statement Template:
Be Specific and Measurable
Vague (Bad): "System should be fast"
Specific (Good): "Page loads in <2 seconds (p95), measured via Lighthouse"
Avoid Ambiguous Terms:
- "Fast" → Specific time (< 2 seconds)
- "Good" → Specific criteria
- "User-friendly" → Task completion metrics
- "Secure" → OWASP Top 10 compliant
Cover Happy and Unhappy Paths
Happy Path: Successful scenario
Unhappy Paths:
- Error cases (invalid input, permission denied)
- Edge cases (boundary conditions, rare scenarios)
- Network failures (timeouts, service down)
Example:
Specify Behavior, Not Implementation
Too Prescriptive (Bad):
Behavioral (Good):
Include Visual Aids
Use diagrams for:
- User flows
- State machines
- Data flows
- Wireframes/mockups
Use examples for:
- Input validation rules
- Calculations
- Data transformations
Anti-Patterns to Avoid
1. Solution Masquerading as Problem
Bad: "We need a chatbot on the homepage"
Good:
2. Missing Acceptance Criteria
Bad:
Good:
Complete Guide: See references/specification-anti-patterns.md for detailed anti-patterns with examples and fixes.
Troubleshooting
"Developers say my specs are ambiguous": You're likely writing what the feature does but not the edge cases. For every requirement, ask: "What happens when the input is empty? Invalid? Extremely large?" Add Given-When-Then acceptance criteria for each case.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/ai-pm-copilot/skills/specification-techniques/SKILL.md
Popularity
- 7-day trend score
- 0
Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/slgoodrich/agents/specification-techniques)