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
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").
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.
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
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.
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.
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.
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
Error
Cause
Solution
Agents implement unintended features
Missing "Out of Scope" section
Explicitly list features excluded from this sprint
Tests not running during sprint
Testing section omitted or set to skip
Add QA: required and UI Testing: required to the Testing section
Sprint iterates without converging
Specs too broad for a single sprint
Break into smaller sprints targeting one domain boundary each
Architect produces conflicting spec files
Ambiguous or contradictory requirements in specs.md
Review for conflicting statements; each requirement should have a single interpretation
Manual tests not triggered
UI Testing Mode set to automated
Change 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
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: jeremylongshore-claude-code-plugins-plus-skills-spec-writing3description: Spec Writing4---5# Spec Writing67## Overview89Spec 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.1011## Prerequisites1213- Sprint plugin installed (`/plugin install sprint`)14- Project onboarding completed via `/sprint:setup` (creates `project-goals.md` and `project-map.md`)15- Sprint directory created via `/sprint:new` (generates `.claude/sprint/[N]/specs.md`)16- Understanding of the sprint phase lifecycle (see the `sprint-workflow` skill)1718## Instructions19201. 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").212. 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.223. 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`:23 - `QA`: `required` | `optional` | `skip` -- Controls API and unit test execution24 - `UI Testing`: `required` | `optional` | `skip` -- Controls browser-based E2E tests25 - `UI Testing Mode`: `automated` | `manual` -- Auto-run or user-driven testing264. 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.275. 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.286. 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.297. 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.3031## Output3233- A complete `specs.md` file with goal, scope (in/out), and testing configuration34- Clear scope boundaries that prevent agent drift during implementation35- Testing configuration that selects appropriate QA and UI testing agents36- Iteratively refined specs where completed work is removed and remaining work is focused3738## Error Handling3940| Error | Cause | Solution |41|-------|-------|----------|42| Agents implement unintended features | Missing "Out of Scope" section | Explicitly list features excluded from this sprint |43| Tests not running during sprint | Testing section omitted or set to `skip` | Add `QA: required` and `UI Testing: required` to the Testing section |44| Sprint iterates without converging | Specs too broad for a single sprint | Break into smaller sprints targeting one domain boundary each |45| Architect produces conflicting spec files | Ambiguous or contradictory requirements in `specs.md` | Review for conflicting statements; each requirement should have a single interpretation |46| Manual tests not triggered | `UI Testing Mode` set to `automated` | Change to `manual` for scenarios requiring visual verification or exploratory testing |4748## Examples4950**Minimal but effective spec:**51```markdown52# Sprint 1: User Authentication5354## Goal55Add user authentication with email/password login5657## Scope58### In Scope59- Registration endpoint (POST /auth/register)60- Login endpoint (POST /auth/login)61- JWT token generation and validation62- Password hashing with bcrypt6364### Out of Scope65- OAuth providers (Google, GitHub)66- Password reset flow67- Email verification6869## Testing70- QA: required71- UI Testing: required72- UI Testing Mode: automated73```7475**Frontend-only sprint (no QA needed):**76```markdown77# Sprint 3: Dashboard Redesign7879## Goal80Redesign the admin dashboard with responsive layout8182## Scope83### In Scope84- Responsive grid layout for dashboard widgets85- Dark mode toggle86- Mobile navigation drawer8788### Out of Scope89- New API endpoints90- Database changes91- Authentication changes9293## Testing94- QA: skip95- UI Testing: required96- UI Testing Mode: manual97```9899## Resources100101- `${CLAUDE_SKILL_DIR}/references/testing-configuration.md` -- Testing section options with guidance on when to use each setting102- Sprint workflow skill for understanding how specs feed into the phase lifecycle103- API contract skill for designing endpoint contracts referenced by specs104105---106> Converted and distributed by [TomeVault](https://tomevault.io/claim/jeremylongshore) — claim your Tome and manage your conversions.107<!-- tomevault:4.0:skill_md:2026-04-11 -->
Run npx skillmds@latest add tomevault-io/jeremylongshore-claude-code-plugins-plus-skills-spec-writing in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Spec Writing It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.