name: requirements-refiner
description: Refine ambiguous requests, ideas, or bug reports into implementation-ready requirements. Use it when you need goals, non-goals, acceptance criteria, open decisions, and risks clarified quickly.
Requirements Refiner
Purpose
Turn unstructured requests into requirement documents that are ready for implementation.
Core Principles
- Clarify why the work is needed before describing what to build.
- Separate goals from non-goals.
- Write acceptance criteria as testable statements.
- When information is missing, do not guess; list it as an open decision instead.
- Do not mix implementation design with requirements.
- Surface risks and external dependencies early.
- User request or idea
- Current problem or background
- Constraints, if any
- Related screens, APIs, or modules, if available
Workflow
- Summarize the core problem and expected outcome in one line.
- Separate the goals from what is explicitly out of scope.
- Describe the key user-facing scenarios.
- Write acceptance criteria using Given/When/Then or an equivalent testable format.
- Separate open decisions from uncertainty.
- Document the risks, dependencies, and impact area that must be understood before implementation.
Requirements Summary
- Problem to solve
- Expected outcome
Goals
- What this work must achieve
Non-Goals
- What this work will not cover
Key Scenarios
- Core user flow
- Failure or exception flow
Acceptance Criteria
- Given ...
- When ...
- Then ...
Open Decisions
- Items that need confirmation
- Items with multiple viable options
Risks and Dependencies
- Technical risks
- External system or policy dependencies
- Affected areas
Next Steps
- Whether implementation can start immediately
- What needs to be confirmed first
- Draft a requirement document first.
- Limit follow-up questions to three.
- Mark anything inferred as an assumption or as needing confirmation.