New to Claude Skills? Learn how to install them →

jeremylongshore on GitHub

Spec Writing

Free

Craft precise specifications for agile development.

Get this skill

Free · Opens the source repo

What Spec Writing does

Spec Writing is a skill designed to assist developers and teams in creating effective specs.md files that guide the autonomous development workflow of the Sprint plugin. A well-structured specification is critical for ensuring that development agents understand the goals, scope, and testing requirements of a sprint. This skill provides step-by-step instructions on how to draft specifications that are clear and actionable, which ultimately leads to better outcomes in agent-driven projects.

The process begins with defining a concise goal statement at the top of the specs.md file, followed by delineating the scope of the sprint into 'In Scope' and 'Out of Scope' sections. This clarity prevents ambiguity, ensuring that agents only implement features that are explicitly defined. Additionally, the skill emphasizes the importance of a well-structured testing section, where users can specify the requirements for quality assurance and user interface testing. This ensures that the right tests are executed according to the nature of the changes being made.

Moreover, Spec Writing encourages iterative refinement of specifications by reviewing previous sprint statuses and adjusting the current specs accordingly. This adaptability is crucial in agile environments where requirements can evolve. The skill also includes error handling guidance to address common pitfalls, such as unintended feature implementation or tests not running due to configuration issues.

Overall, Spec Writing is essential for teams looking to streamline their development process through clear and effective specifications. It is particularly useful for those who are familiar with the Sprint plugin and are looking to enhance their workflow by ensuring that specifications are both minimal and precise, thus facilitating better collaboration and implementation.

When to use it

Use this skill when you need to create or refine specifications for sprints in agent-driven development, especially when using the Sprint plugin.

When not to use it

This skill is not suitable for projects that do not utilize the Sprint plugin or for teams that do not require structured sprint specifications.

What you can build with it

Creating Initial Sprint Specifications

When starting a new sprint, use this skill to draft the initial `specs.md` file, clearly defining the sprint's goals and scope.

Refining Specifications Iteratively

During iterative sprints, apply this skill to review and update your specifications based on the status of previous iterations.

Configuring Testing for New Features

Utilize the skill to set up the testing configuration for new features, ensuring the right tests are executed based on the scope of the sprint.

How to install Spec Writing

View source

1. Install with the skills CLI

npx skills add jeremylongshore/claude-code-plugins-plus-skills/spec-writing --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by jeremylongshore

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

Frequently asked questions about Spec Writing

Similar skills