Skip to content
cccskills
FreePublished on GitHub

kiro-spec-requirements

Turn a project description and existing project guidance into a requirements document. Organize expected behavior into EARS statements, a structured format for clear conditions and outcomes, and review coverage, ambiguity, and scope before saving.

OriginalShow the original description

Generate EARS-format requirements based on project description and steering context. Use when generating requirements from project description.

See how to install

Good for

  • Turning a feature idea into testable requirements
  • Clarifying what a feature includes and excludes
  • Aligning requirements with existing project guidance
  • Reviewing acceptance criteria for ambiguity

Files included (1)

  • SKILL.md8.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

kiro-spec-requirements Skill

Core Mission

  • Success Criteria:
    • Create complete requirements document aligned with steering context
    • Follow the project's EARS patterns and constraints for all acceptance criteria
    • Focus on core functionality without implementation details
    • Make inclusion/exclusion boundaries explicit when scope could otherwise be misread
    • Update metadata to track generation status

Execution Steps

Step 1: Gather Context

Reuse steering/spec context already available from conversation; load missing context below. Select skills for the current task even when steering/spec context is already available:

  • Read {{KIRO_DIR}}/specs/{feature}/spec.json for language and metadata
  • Read {{KIRO_DIR}}/specs/{feature}/brief.md if it exists (discovery context: problem, approach, scope decisions, boundary candidates)
  • Read {{KIRO_DIR}}/specs/{feature}/requirements.md for project description
  • Core steering context: product.md, tech.md, structure.md
  • Additional steering files only when directly relevant to feature scope, user personas, business/domain rules, compliance/security constraints, operational constraints, or existing product boundaries
  • Use explicitly requested skills and task-relevant local skills/playbooks, including design, accessibility, and UX. Select by description and read only needed guidance, even for small tasks; preserve required checks and host/project rules.

Step 2: Read Guidelines

  • Read rules/ears-format.md from this skill's directory for EARS syntax rules
  • Read rules/requirements-review-gate.md from this skill's directory for pre-write review criteria
  • Read {{KIRO_DIR}}/settings/templates/specs/requirements.md for document structure

Parallel Research (subagent dispatch)

The following research areas are independent. Decide the optimal decomposition based on project complexity -- split, merge, add, or skip subagents as needed.

Delegate to subagent via Agent tool (keeps exploration out of main context):

  • Codebase hints (brownfield projects): Dispatch a subagent to explore existing implementations that inform requirement scope. Example prompt: "Explore this codebase for existing features related to [feature area]. Summarize: (1) what already exists, (2) relevant interfaces/APIs, (3) patterns that new requirements should align with. Return a summary under 150 lines."
  • Domain research (when external knowledge is needed): Dispatch a subagent for WebSearch/WebFetch to research domain-specific requirements, standards, or best practices. Return a concise findings summary.
  • Additional steering and playbooks: If many steering files or local agent playbooks exist, dispatch a subagent to scan them and return only the sections relevant to this feature.

For greenfield projects with minimal codebase, skip subagent dispatch and load context directly.

After all research completes, synthesize findings in main context before generating requirements.

Step 3: Generate Requirements Draft

  • Create initial requirements draft based on project description
  • Group related functionality into logical requirement areas
  • Apply EARS format to all acceptance criteria
  • Use language specified in spec.json
  • Preserve terminology continuity across phases:
    • discovery = Boundary Candidates
    • requirements = explicit inclusion/exclusion and adjacent expectations when needed
    • design = Boundary Commitments
    • tasks = _Boundary:_
  • If scope could be misread, add lightweight boundary context without introducing implementation or architecture ownership detail
  • Keep this as a draft until the review gate passes; do not write requirements.md yet

Step 4: Review Requirements Draft

  • Run the Requirements Review Gate from rules/requirements-review-gate.md
  • Review coverage, EARS compliance, ambiguity, adjacent expectations, and scope boundaries before finalizing
  • If issues are local to the draft, repair the requirements and review again
  • Keep the review bounded to at most 2 repair passes
  • If the draft exposes a real scope ambiguity or contradiction, stop and ask the user to clarify instead of writing guessed requirements

Step 5: Finalize and Update Metadata

  • Write {{KIRO_DIR}}/specs/{feature}/requirements.md only after the requirements review gate passes
  • Set phase: "requirements-generated"
  • Set approvals.requirements.generated: true
  • Update updated_at timestamp

Important Constraints

Requirements Scope: WHAT, not HOW

Requirements describe user-observable behavior, not implementation. Use this to decide what belongs here vs. in design:

Ask the user about (requirements scope):

  • Functional scope — what is included and what is excluded
  • User-observable behavior — "when X happens, what should the user see/experience?"
  • Business rules and edge cases — limits, error conditions, special cases
  • Non-functional requirements visible to users — response time expectations, availability, security level
  • Adjacent expectations only when they change user-visible behavior or operator expectations — what this feature relies on, and what it explicitly does not own

Do not ask about (design scope — defer to design phase):

  • Technology stack choices (database, framework, language)
  • Architecture patterns (microservices, monolith, event-driven)
  • API design, data models, internal component structure
  • How to achieve non-functional requirements (caching strategy, scaling approach)
  • Internal ownership mapping, component seams, or implementation boundaries that belong in design

Litmus test: If an EARS acceptance criterion can be written without mentioning any technology, it belongs in requirements. If it requires a technology choice, it belongs in design.

Other Constraints

  • Each requirement must be testable and unambiguous. If the project description leaves room for multiple interpretations on scope, behavior, or boundary conditions, ask the user to clarify before generating that requirement. Ask as many questions as needed; do not generate requirements that contain your own assumptions.
  • Choose appropriate subject for EARS statements (system/service name for software)
  • Requirement headings in requirements.md MUST include a leading numeric ID only (for example: "Requirement 1", "1.", "2 Feature ..."); do not use alphabetic IDs like "Requirement A".

Output Description

Provide output in the language specified in spec.json with:

  1. Generated Requirements Summary: Brief overview of major requirement areas (3-5 bullets)
  2. Document Status: Confirm requirements.md updated and spec.json metadata updated
  3. Review Gate: Confirm the requirements review gate passed
  4. Next Steps: Guide user on how to proceed (approve and continue, or modify)

Format Requirements:

  • Use Markdown headings for clarity
  • Include file paths in code blocks
  • Keep summary concise (under 300 words)

Safety & Fallback

Error Scenarios

  • Missing Project Description: If requirements.md lacks project description, ask user for feature details
  • Template Missing: If template files don't exist, use inline fallback structure with warning
  • Language Undefined: Default to English (en) if spec.json doesn't specify language
  • Incomplete Requirements: After generation, explicitly ask user if requirements cover all expected functionality
  • Steering Directory Empty: Warn user that project context is missing and may affect requirement quality
  • Non-numeric Requirement Headings: If existing headings do not include a leading numeric ID (for example, they use "Requirement A"), normalize them to numeric IDs and keep that mapping consistent (never mix numeric and alphabetic labels).

Next Phase: Design Generation

If Requirements Approved:

  • Optional Gap Analysis (for existing codebases):
    • Run /kiro-validate-gap {feature} to analyze implementation gap
    • Recommended for brownfield projects; skip for greenfield
  • Run /kiro-spec-design {feature} to proceed to design phase
  • Or /kiro-spec-design {feature} -y to auto-approve requirements and proceed directly

If Modifications Needed:

  • Provide feedback and re-run /kiro-spec-requirements {feature}

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

cc-sdd-new-agent

FreeSummary

Add coding-agent support to cc-sdd through a documented workflow. Research the agent’s official formats, prepare an integration plan, implement registry entries and templates, and verify generated files, including Japanese and English output.

  • Adding support for a new coding agent
  • Adding an agent variant with subagent support
  • Planning migration to SKILL.md-based templates
gotalab/cc-sdd3.7KUpdated Oct 22, 2026

kiro-debug

FreeSummary

Investigate blocked implementation work and recurring failures using error output, code changes, configuration, and dependency evidence. Get a root cause report with a focused repair plan, verification steps, and a recommendation to retry, block, or seek human input.

  • Investigating an implementation blocker
  • Finding why repeated fixes keep failing
  • Checking runtime and dependency conflicts
gotalab/cc-sdd3.7KUpdated Oct 22, 2026

kiro-discovery

FreeSummary

Clarify a development request through structured questions and choose a practical next step: update an existing specification, create new ones, or implement directly. For new specifications, record scope, approach, and dependencies in planning files.

  • Clarify a development idea before defining requirements
  • Choose between updating a specification and implementing directly
  • Split a large request into features with explicit dependencies
gotalab/cc-sdd3.7KUpdated Oct 22, 2026

kiro-impl

FreeSummary

Implement approved development tasks one at a time using test-driven development, which starts with a failing test. Process all pending tasks or selected ones, check changes against requirements and design, and update progress after review and completion verification.

  • Working through all approved pending tasks
  • Implementing selected task numbers
  • Developing features with tests written first
gotalab/cc-sdd3.7KUpdated Oct 22, 2026

kiro-impl

FreeSummary

Implement approved tasks using test-driven development, writing tests before code. Run all pending tasks one at a time or select specific tasks, with configurable review and verification before updating completion status.

  • Implement all pending tasks from an approved plan
  • Work on selected task numbers
  • Develop features by writing tests before code
gotalab/cc-sdd3.7KUpdated Oct 22, 2026

kiro-impl

FreeSummary

Implement approved tasks through test-driven development, writing tests before code. Run all pending tasks sequentially with subagents or select tasks for direct execution, then track completion using reviews and verification evidence.

  • Running all pending approved implementation tasks
  • Implementing selected tasks by number
  • Developing features with tests written first
gotalab/cc-sdd3.7KUpdated Oct 22, 2026

See all skills by gotalab

Report a problem with this skill