一键导入
specify
Turn a natural-language demand into a numbered spec.md under specs/<NNNN-slug>/. Use when the user describes what they want but no spec exists yet.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Turn a natural-language demand into a numbered spec.md under specs/<NNNN-slug>/. Use when the user describes what they want but no spec exists yet.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Check for drift between spec.md, plan.md, tasks.md, and the actual code. Reports the gaps; does not fix them.
Run a category-specific quality pass (security / performance / accessibility / i18n / privacy / observability) against the current plan and code.
Surface [NEEDS CLARIFICATION] markers in spec.md (or plan.md) to the user, one at a time, and edit the file with the answers.
Bootstrap or amend constitution.md (framework, preset, or project). Inspects existing project context first; enforces the amendment process: issue first, one article per PR, reviewer non-author.
Print the pipeline quick-reference — a one-screen summary of every /aia:* command and its hand-offs, prefixed by a state-aware "Próximo passo" line.
Execute an approved plan + tasks list by dispatching one fresh subagent per task and applying two-stage review (spec compliance, then code quality) before moving on.
| name | specify |
| description | Turn a natural-language demand into a numbered spec.md under specs/<NNNN-slug>/. Use when the user describes what they want but no spec exists yet. |
| metadata | {"aiadev":{"version":"0.2.0","inputs":[{"type":"text","description":"Feature request in free-form natural language (issue, user quote, product brief)."}],"outputs":[{"type":"file","path":"specs/<NNNN-slug>/spec.md"}],"requires":["constitution","templates/spec-template.md"],"handoffs":["clarify","plan"]}} |
Take a demand in plain language and produce a spec.md focused on what and why — no implementation details.
Announce at start: "Using the specify skill. I will produce a spec.md; implementation details come later."
Language. Write the spec in the BCP-47 tag recorded in the Language: header (stamped by aiadev init --language, default en). Every downstream skill (clarify, plan, tasks, implement, analyze, checklist) must read that header and continue in the same language. If the user asks for a different language mid-flow, update the header in spec.md first, then regenerate affected artifacts.
constitution.md at the root (or in the active preset).templates/spec-template.md exists.main or an already-open feature branch. If on main, create feature/<slug> first.{{SPEC_ID}} (4-digit, zero-padded, monotonic across specs/). The spec directory is specs/<NNNN>-<slug>/ where <NNNN> is {{SPEC_ID}} and <slug> is the kebab-case feature slug. If specs/<NNNN>-<slug>/spec.md does not exist, copy it from templates/spec-template.md and fill {{FEATURE_NAME}}, {{BRANCH}}, {{DATE}}, {{SPEC_ID}}. aiadev init --feature <name> does all of this in one shot.<!-- section: Reconnaissance --> block — one bullet per surface, each citing real on-disk paths in backticks (the validator checks every cited path for existence). For a single-surface change, use the explicit opt-out line documented in the template instead of bullets. If the recon reveals that the demand's premise is structurally wrong on any surface (a flow that does not exist there), pause and surface the mismatch to the user before drafting any user story — cite the specific file and line that contradicts the premise. Do not paper over a premise mismatch with [NEEDS CLARIFICATION] markers; that is a spec-validity problem, not a clarification problem.[NEEDS CLARIFICATION:cl-N <precise question>] marker with a monotonically assigned id within the spec (cl-1, cl-2, …). To compute the next id, count existing cl-N markers in the file and add 1. Do not reuse ids of removed markers; the next id is always max(existing) + 1. Do not invent answers.spec-document-reviewer if available. Address feedback until the review returns approved.[NEEDS CLARIFICATION] markers.plan.md content. Cross that bridge with plan.clarify into implement.clarify.plan.