From amplify
Creates or updates SPEC.md documents from requirements, notes, or interview output, structuring into sections for goals, design, edge cases, security, testing, and success criteria. Use for feature specs.
npx claudepluginhub wunki/amplify --plugin ask-questions-if-underspecifiedThis skill uses the workspace's default tool permissions.
Structure requirements into a well-organized SPEC.md document. This skill covers the *writing* of specs, not requirements gathering (use the `interview` skill for that).
Provides conventions for writing self-contained, implementation-ready spec documents. Distinguishes specs from docs; covers structure including data model, architecture, security, operations, scope, and deliverables.
Conducts multi-round interviews to refine rough SPEC.md into complete, implementation-ready specifications with tasks. Use for new features, requirements refinement, or ideas to actionable specs.
Generates spec.md via requirements discovery, codebase research, and feature architecture. Use for 'create a spec', 'design this feature', or starting features/refactors/bugs.
Share bugs, ideas, or general feedback.
Structure requirements into a well-organized SPEC.md document. This skill covers the writing of specs, not requirements gathering (use the interview skill for that).
Identify what the user has provided:
Read references/spec-template.md for the canonical section list and per-section guidance.
Apply the template sections. Omit sections that genuinely don't apply, but consider each one before omitting.
Write with precision:
If input contradicts itself (e.g., interview output conflicts with an existing SPEC.md), surface the conflict explicitly in the Open Questions section rather than silently picking one.
When updating an existing spec: revise in-place where the intent is clearly to replace, append to existing lists where the intent is additive, and add a Decisions Log entry for any significant structural change.
Determine the output path:
SPEC.md in the project rootspecs/[feature-name].mdIf a file already exists at the target path and the user did not explicitly ask to update or extend it, confirm with the user before overwriting.
Before finishing: