Provides a framework for writing clear, actionable specs.md files to guide autonomous development agents through sprint goals and constraints.

Install

mkdir -p .claude/skills/spec-writing && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5492" && unzip -o skill.zip -d .claude/skills/spec-writing && rm skill.zip

Installs to .claude/skills/spec-writing

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Execute this skill should be used when the user asks about "writing
67 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Define sprint goal statements
  • Establish in-scope and out-of-scope boundaries
  • Configure QA and UI testing requirements
  • Iteratively refine specifications

How it works

It guides the creation of a specs.md file that explicitly defines goals, scope, and testing configurations to prevent agent drift during autonomous development.

Inputs & outputs

You give it
Sprint requirements and scope definitions
You get back
A structured specs.md file

When to use spec-writing

  • Defining new sprint requirements
  • Setting scope boundaries for agent tasks
  • Structuring specs.md for better agent output
  • Ensuring test coverage in sprint planning

About this skill

Spec Writing

Overview

Spec Writing provides guidance on authoring effective specs.md files that drive the Sprint plugin's autonomous development workflow. A well-written specification determines the quality of agent output by clearly defining goals, scope boundaries, and testing requirements.

Prerequisites

  • Sprint plugin installed (/plugin install sprint)
  • Project onboarding completed via /sprint:setup (creates project-goals.md and project-map.md)
  • Sprint directory created via /sprint:new (generates .claude/sprint/[N]/specs.md)
  • Understanding of the sprint phase lifecycle (see the sprint-workflow skill)

Instructions

  1. Open the generated specs.md file at .claude/sprint/[N]/specs.md and define a concise goal statement at the top. State what the sprint delivers in one sentence (e.g., "Add user authentication with email/password login").
  2. Define explicit scope boundaries using In Scope and Out of Scope sections. List specific features, endpoints, or components in each. Agents only implement what appears in scope; ambiguity leads to drift.
  3. Add the Testing section to control which testing agents run and how. Configure three settings as documented in ${CLAUDE_SKILL_DIR}/references/testing-configuration.md:
    • QA: required | optional | skip -- Controls API and unit test execution
    • UI Testing: required | optional | skip -- Controls browser-based E2E tests
    • UI Testing Mode: automated | manual -- Auto-run or user-driven testing
  4. Set QA to required for new API endpoints, business logic changes, and data validation rules. Set QA to skip for frontend-only changes, documentation updates, or configuration changes.
  5. Set UI Testing to required for user-facing features, form submissions, and navigation flows. Choose automated mode for regression testing and standard CRUD flows; choose manual mode for complex interactions, visual verification, or exploratory testing.
  6. Keep specifications minimal but precise. The architect expands high-level specs into detailed implementation files (backend-specs.md, frontend-specs.md, api-contract.md). Over-specifying implementation details in specs.md constrains the architect unnecessarily.
  7. For iterative sprints, review status.md from the previous iteration. Remove completed items from specs and add any new requirements or bug fixes discovered during testing.

Output

  • A complete specs.md file with goal, scope (in/out), and testing configuration
  • Clear scope boundaries that prevent agent drift during implementation
  • Testing configuration that selects appropriate QA and UI testing agents
  • Iteratively refined specs where completed work is removed and remaining work is focused

Error Handling

ErrorCauseSolution
Agents implement unintended featuresMissing "Out of Scope" sectionExplicitly list features excluded from this sprint
Tests not running during sprintTesting section omitted or set to skipAdd QA: required and UI Testing: required to the Testing section
Sprint iterates without convergingSpecs too broad for a single sprintBreak into smaller sprints targeting one domain boundary each
Architect produces conflicting spec filesAmbiguous or contradictory requirements in specs.mdReview for conflicting statements; each requirement should have a single interpretation
Manual tests not triggeredUI Testing Mode set to automatedChange to manual for scenarios requiring visual verification or exploratory testing

Examples

Minimal but effective spec:

# Sprint 1: User Authentication

## Goal
Add user authentication with email/password login

## Scope
### In Scope
- Registration endpoint (POST /auth/register)
- Login endpoint (POST /auth/login)
- JWT token generation and validation
- Password hashing with bcrypt

### Out of Scope
- OAuth providers (Google, GitHub)
- Password reset flow
- Email verification

## Testing
- QA: required
- UI Testing: required
- UI Testing Mode: automated

Frontend-only sprint (no QA needed):

# Sprint 3: Dashboard Redesign

## Goal
Redesign the admin dashboard with responsive layout

## Scope
### In Scope
- Responsive grid layout for dashboard widgets
- Dark mode toggle
- Mobile navigation drawer

### Out of Scope
- New API endpoints
- Database changes
- Authentication changes

## Testing
- QA: skip
- UI Testing: required
- UI Testing Mode: manual

Resources

  • ${CLAUDE_SKILL_DIR}/references/testing-configuration.md -- Testing section options with guidance on when to use each setting
  • Sprint workflow skill for understanding how specs feed into the phase lifecycle
  • API contract skill for designing endpoint contracts referenced by specs

When not to use it

  • For tasks not managed by the Sprint plugin
  • When project goals are not yet defined

Prerequisites

Sprint plugin installedProject onboarding completedSprint directory created

Limitations

  • Requires Sprint plugin infrastructure
  • Specs must be broken into smaller sprints if too broad

How it compares

It uses a structured specification format to control agent behavior rather than relying on natural language prompts alone.

Compared to similar skills

spec-writing side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
spec-writing (this skill)127dNo flagsIntermediate
prd116moNo flagsIntermediate
wiki-onboarding44moNo flagsBeginner
aico-pm-prd-writing06moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

Search skills

Search the agent skills registry