speckit-specify

Generate a validated feature specification from a natural language feature description.

Updated Aug 2, 2026
One-click install
npx skills add https://github.com/dperussina/function2agent --skill speckit-specify-dperussina
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: speckit-specify
Source: https://github.com/dperussina/function2agent/tree/main/.cursor/skills/speckit-specify
Command: npx skills add https://github.com/dperussina/function2agent --skill speckit-specify-dperussina

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Turning a rough feature idea into a complete, testable specification is slow and error-prone. This Skill converts a natural language feature description into a structured spec.md file inside a spec-kit project, complete with user scenarios, functional requirements, success criteria, and a quality checklist. ## Core Features & Use Cases - Spec Generation: Parses a feature description, extracts actors, actions, data, and constraints, and writes a specification following the project's spec-template. - Quality Validation: Creates a requirements checklist and iteratively validates the spec against it, resolving up to 3 [NEEDS CLARIFICATION] markers through structured user questions. - Extension Hooks: Runs optional or mandatory before_specify and after_specify hooks defined in .specify/extensions.yml, such as automatic git branch creation. - Use Case: A product manager types a feature idea like "add OAuth2 login" and receives a numbered feature directory (e.g., specs/003-oauth2-login) containing a validated spec.md ready for /speckit-plan. ## Quick Start Ask the agent to create a feature specification by describing the feature, for example: create a spec for adding user authentication with OAuth2.

Frequently Asked Questions about speckit-specify

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a feature specification from a text description?▼

Invoke the specify command with your feature description as the argument. The skill generates a short name, creates a numbered directory under specs/, copies the spec-template, and writes a complete spec.md with scenarios, requirements, and success criteria.

What project structure does spec-kit specify require?▼

It requires a spec-kit project with a .specify/ directory containing templates and optionally init-options.json, memory/constitution.md, and extensions.yml. Feature specs are written under the specs/ directory by default.

How are feature directory numbers assigned in spec-kit?▼

Numbering is read from .specify/init-options.json. With feature_numbering set to sequential, the next available three-digit number is used; with timestamp, a YYYYMMDD-HHMMSS prefix is generated instead.

What happens when a spec has unclear requirements?▼

The skill inserts up to 3 [NEEDS CLARIFICATION] markers for decisions that significantly affect scope, security, or user experience. It then presents each question with suggested answer options in a table and updates the spec based on your choices.

Can I run custom hooks before or after specification?▼

Yes, define hooks under hooks.before_specify or hooks.after_specify in .specify/extensions.yml. Mandatory hooks execute automatically, while optional hooks are presented for manual invocation; disabled hooks are skipped.

Why does spec validation fail after generation?▼

Validation fails when the spec contains implementation details, untestable requirements, non-measurable success criteria, or unresolved clarification markers. The skill rewrites the spec and re-validates up to three iterations before reporting remaining issues.