skills/gathering-requirements/SKILL.md
Use when eliciting or clarifying feature requirements, defining scope, identifying constraints, or capturing user needs. Triggers: 'what are the requirements', 'define the requirements', 'scope this feature', 'user stories', 'acceptance criteria', 'what should this do', 'what problem are we solving', 'what are the constraints'. Also invoked by develop during discovery.
npx skillsauth add axiomantic/spellbook gathering-requirementsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
<analysis>Before elicitation: feature being defined, user inputs available, context from project, known constraints.</analysis>
<reflection>After elicitation: all four archetypes consulted, requirements structured, assumptions explicit, validation criteria defined.</reflection>
| Input | Required | Description |
|-------|----------|-------------|
| feature_description | Yes | Natural language description of what to build |
| feedback_to_address | No | Feedback from roundtable requiring revision |
| Output | Type | Description |
|--------|------|-------------|
| requirements_document | File | At ~/.local/spellbook/docs/<project>/forged/<feature>/requirements.md |
| open_questions | Inline | Questions requiring user input |
Primary users, problem being solved, success criteria. User stories: "As a [type], I want [capability] so that [benefit]."
Technical constraints (stack, platform), resource constraints (time, team), integration requirements, performance targets (latency, throughput).
Sensitive data handled, auth required, attack vectors, compliance requirements, impact if compromised.
What's IN scope, what's OUT of scope (with reasons), edge cases to handle vs defer, assumptions being made.
Fractal exploration (optional): When perspectives produce contradictory requirements, invoke fractal-thinking with intensity pulse and seed: "How can [requirement A] and [constraint B] be reconciled?". Use the synthesis to present Pareto-optimal resolution options.
feedback_to_address provided, incorporate before step 5. For blocking unknowns: ask user (one question at a time). For non-blocking unknowns: document as UNKNOWN for roundtable.# Requirements: [Feature Name]
## Overview
[2-3 sentence summary]
## User Needs (Queen)
- Primary users, problem statement, user stories, success criteria
## Constraints (Emperor)
- Technical, resource, integration, performance
## Security Surface (Hermit)
- Data classification, auth, threat model, compliance
## Scope Boundaries (Priestess)
- In scope, out of scope (with reasons), edge cases, assumptions
## Functional Requirements
| ID | Requirement | Priority | Source |
## Open Questions
- [ ] [Question] (Blocker: yes/no)
Queen (User Needs):
Emperor (Constraints):
Hermit (Security):
Priestess (Scope):
| Check | Criteria | |-------|----------| | User value clear | At least 1 user story with measurable benefit | | Constraints documented | Technical and resource constraints explicit | | Security addressed | Threat model for sensitive features | | Scope bounded | In-scope AND out-of-scope lists | | No blocking unknowns | All blocking UNKNOWNs resolved or escalated to user |
<FORBIDDEN> - Skipping any of the four perspectives - Leaving UNKNOWN on blocking requirements - Accepting vague requirements ("fast", "secure") - Assuming requirements without documenting assumptions - Mixing requirements with design (WHAT, not HOW) </FORBIDDEN>If ANY unchecked: revise before returning.
<FINAL_EMPHASIS> Requirements are the foundation. Queen ensures we build what users need. Emperor ensures we build within constraints. Hermit ensures we build securely. Priestess ensures we build the right scope. All four perspectives, every time. </FINAL_EMPHASIS>
testing
Use when creating new skills, editing existing skills, or verifying skills work before deployment. Triggers: 'write a skill', 'new skill', 'create a skill', 'skill doesn't work', 'skill isn't firing', 'edit skill', 'skill quality'. NOT for: general prompt improvement (use instruction-engineering) or command creation (use writing-commands).
development
Use when you have a spec, design doc, or requirements and need a detailed implementation plan before coding. Triggers: 'write a plan', 'create implementation plan', 'plan this out', 'break this down into steps', 'convert design to tasks', 'implementation order'. Also invoked by develop during planning. NOT for: reviewing existing plans (use reviewing-impl-plans).
testing
Use when creating new commands, editing existing commands, or reviewing command quality. Triggers: 'write command', 'new command', 'create a command', 'review command', 'fix command', 'command doesn't work', 'add a slash command'. NOT for: skill creation (use writing-skills).
development
Use when about to claim discovery during debugging. Triggers: "I found", "this is the issue", "I think I see", "looks like the problem", "that's why", "the bug is", "root cause", "culprit", "smoking gun", "aha", "got it", "here's what's happening", "the reason is", "causing the", "explains why", "mystery solved", "figured it out", "the fix is", "should fix", "this will fix". Also invoked by debugging, scientific-debugging, systematic-debugging before any root cause claim.