mcpbeat

Spec Writing

athola/spec-writing

Creates clear, testable specifications from feature descriptions with user stories. Use when starting a new feature and needing a spec before planning.

6k tokens
context cost
the whole folder, loaded on every use
4
files
instructions only
0
copies elsewhere
how many repositories repackaged it
324
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/athola/claude-night-market --skill spec-writing

The instruction itself

16 sections, as written by the author

Spec Writing

Overview

Create clear, complete, and testable specifications from natural language feature descriptions. Specifications focus on user value and business needs, avoiding implementation details.

When To Use

  • Creating new feature specifications
  • Refining existing specifications
  • Writing user stories and acceptance criteria
  • Defining success criteria

When NOT To Use

  • Generating implementation tasks - use task-planning

Core Principles

Focus on user value and business needs rather than implementation details. Avoid specifying technology choices in requirement definitions unless strictly necessary. Ensure every requirement is testable and verifiable with measurable criteria. Limit clarification markers; make informed assumptions based on industry standards and document them explicitly.

Specification Structure

Mandatory Sections

  • Overview/Context: What problem does this solve?
  • User Scenarios: Who uses it and how?
  • Functional Requirements: What must it do?
  • Success Criteria: How do we know it works?

Optional Sections

  • Success Criteria (when performance/security critical)
  • Edge Cases (when special handling needed)
  • Dependencies (when external systems involved)
  • Assumptions (when decisions made with incomplete info)

See: modules/specification-structure.md for detailed templates and guidelines

Quality Checklist

  • [ ] No implementation details present
  • [ ] Requirements are testable and unambiguous
  • [ ] Success criteria are measurable
  • [ ] User scenarios cover primary flows
  • [ ] Edge cases identified
  • [ ] Scope clearly bounded

Success Criteria Quick Reference

Good (User-focused, Measurable, Technology-agnostic)

  • "Users complete checkout in under 3 minutes"
  • "System supports 10,000 concurrent users"
  • "95% of searches return results in under 1 second"

Bad (Implementation-focused, Internal metrics)

  • "API response time under 200ms" -> Use: "Pages load in under 2 seconds"
  • "Redis cache hit rate above 80%" -> Use: "Frequently accessed data loads with no noticeable delay"
  • "React components render efficiently" -> Use: "UI updates appear with no visible frame drops"

See: modules/success-criteria-patterns.md for detailed examples and conversion process

  • speckit-orchestrator: Workflow coordination
  • task-planning: Converting specs to tasks

Troubleshooting

Common Issues

If specifications are too vague, use the success-criteria-patterns

module to enforce measurable outcomes. If implementation details leak

into specs, review against the "Core Principles" and refactor to focus

on user behavior.

Exit Criteria

  • [ ] Spec document contains all 4 mandatory sections: Overview/Context,

User Scenarios, Functional Requirements, and Success Criteria

  • [ ] All success criteria are user-focused and measurable (e.g. "Users

complete checkout in under 3 minutes") not implementation metrics

(e.g. "API response under 200ms")

  • [ ] Quality checklist passes: no implementation details present,

requirements unambiguous, edge cases identified, scope bounded

  • [ ] No technology choices appear in requirements unless the spec

explicitly marks them as strictly necessary constraints

  • [ ] Each functional requirement has at least one testable acceptance

criterion that can be verified from outside the system

How to use it

Copy the folder

Take athola/spec-writing from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.