specify

Generates structured feature specifications with QA gate selection and clarification funnels.

Updated May 31, 2026
One-click install
npx skills add https://github.com/AlexanderNarbaev/agi --skill specify-alexandernarbaev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: specify
Source: https://github.com/AlexanderNarbaev/agi/tree/main/.opencode/skills/specify
Command: npx skills add https://github.com/AlexanderNarbaev/agi --skill specify-alexandernarbaev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Turning a vague feature idea into a rigorous, implementation-agnostic specification is error-prone: requirements get mixed with tech choices, uncertainties go unrecorded, and quality gates are configured inconsistently. This Skill enforces a disciplined SPECIFY protocol that produces a testable spec.md every time. ## Core Features & Use Cases - Structured Spec Generation: Creates .swarm/spec.md with numbered functional requirements (FR-001...), measurable success criteria (SC-001...), Given/When/Then scenarios, and explicit [NEEDS CLARIFICATION] markers — with zero implementation details. - Clarification Funnel: Classifies uncertainties (self_resolved, critic_resolved, research_needed, user_decision), consults a critic sounding board, and records resolved items as explicit assumptions, with a research timeout fallback. - QA Gate & Parallelism Selection: Runs a mandatory user dialogue covering eleven QA gates (reviewer, test_engineer, SAST, council modes, drift check, mutation testing, etc.), parallel coder count, commit frequency, and auto_proceed, persisting choices to .swarm/context.md. - External Plan Import: Reverse-engineers a spec from a user-provided implementation plan and validates it against task format rules. - Use Case: A user says "specify a notification preferences feature" — the Skill checks the codebase reality, delegates exploration and SME research, writes the spec, archives any prior version, and walks the user through gate selection before planning begins. ## Quick Start Ask the agent to specify a new feature, for example: "Specify a user notification preferences feature with email and push channels."

Frequently Asked Questions about specify

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

FAQPage Schema
How do I write a feature specification before coding?

Invoke the specify mode by asking to "specify" or "define requirements" for a feature. The protocol scans the codebase, consults SME research, and writes a spec.md with numbered functional requirements, success criteria, and Given/When/Then scenarios — without any implementation details.

What should a good software specification contain?

A good spec contains a feature description focused on what and why, user scenarios with acceptance criteria, numbered functional requirements using MUST/SHOULD language, measurable success criteria, key entities, edge cases, and clarification markers. It must exclude technology stacks, file paths, APIs, and schema designs.

How are unresolved requirement uncertainties handled in a spec?

Uncertainties pass through a clarification funnel: they are inventoried, classified (self_resolved, critic_resolved, research_needed, user_decision), reviewed by a critic sounding board, and recorded as explicit assumptions. Only items surviving the funnel become [NEEDS CLARIFICATION] markers, with a 5-minute research timeout fallback.

Can I import an existing implementation plan into a spec workflow?

Yes. Provide the plan as pasted text or a file reference. The protocol runs a codebase reality check, reverse-engineers functional requirements and success criteria from the plan, validates task format rules (FILE/TASK/CONSTRAINT/ACCEPTANCE fields, max 2 files per task), and reports gaps as advisory suggestions.

What happens if a spec already exists when specifying again?

The existing spec is never silently overwritten. You choose to overwrite or refine; overwriting first archives the old spec to a spec-archive directory using its version or a date-based fallback filename, then generation proceeds. Refining delegates to a clarify-spec mode.