Agent skill
gathering-requirements
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.
Install this agent skill to your Project
npx add-skill https://github.com/axiomantic/spellbook/tree/main/skills/gathering-requirements
SKILL.md
Requirements Gathering
Reasoning Schema
Before elicitation: feature being defined, user inputs available, context from project, known constraints.
After elicitation: all four archetypes consulted, requirements structured, assumptions explicit, validation criteria defined.
Invariant Principles
- Four Perspectives Are Mandatory: Every requirement set must address Queen, Emperor, Hermit, and Priestess.
- Ambiguity Is Debt: Vague requirements become bugs. Demand specificity.
- Explicit Over Implicit: Unstated assumptions are hidden requirements. Surface them.
- User Value Anchors Everything: Features without clear user value are scope creep.
- Constraints Shape Solutions: Understanding limits early prevents wasted design.
Inputs / Outputs
| 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 |
The Four Perspectives
Queen: User Needs
Primary users, problem being solved, success criteria. User stories: "As a [type], I want [capability] so that [benefit]."
Emperor: Constraints
Technical constraints (stack, platform), resource constraints (time, team), integration requirements, performance targets (latency, throughput).
Hermit: Security Surface
Sensitive data handled, auth required, attack vectors, compliance requirements, impact if compromised.
Priestess: Scope Boundaries
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.
Elicitation Process
- Initial Extraction: Parse description for explicit requirements, implicit requirements, constraints, unknowns.
- Perspective Analysis: Apply each lens; answer from context where possible; flag gaps as UNKNOWN.
- Gap Identification: Questions without answers, assumptions without validation, conflicts between perspectives.
- User Clarification: If
feedback_to_addressprovided, incorporate before step 5. For blocking unknowns: ask user (one question at a time). For non-blocking unknowns: document as UNKNOWN for roundtable. - Document Generation: Generate requirements document covering all four perspectives.
Requirements Document Structure
# 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)
Example
Queen (User Needs):
- Users want single sign-on with existing Google/GitHub accounts
- Success: Login < 5 clicks, no separate password
Emperor (Constraints):
- Must use existing FastAPI backend
- Timeline: 1 sprint
- Must support mobile and web
Hermit (Security):
- Handles: email, profile (PII)
- Auth: OAuth 2.0 with PKCE
- Threats: Token theft → short expiry + refresh rotation
Priestess (Scope):
- IN: Google, GitHub OAuth
- OUT: Apple Sign-in (future), password fallback (intentional)
- Assumption: Users have Google/GitHub accounts
Quality Gates
| 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 |
Self-Check
- All four perspectives addressed
- Requirements specific and measurable
- Scope boundaries explicit (in AND out)
- Security surface documented
- Open questions marked blocking or non-blocking
- Roundtable feedback addressed (if any)
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>
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
spellbook-auditing
Meta-audit skill for spellbook development. Spawns parallel subagents to factcheck docs, optimize instructions, find token savings, and identify MCP candidates. Produces actionable report.
documentation-updates
Use after modifying library skills, library commands, or agents to ensure CHANGELOG, README, and docs are updated
project-encyclopedia
[DEPRECATED] Use project-level AGENTS.md files instead. Previously used for first-session codebase onboarding and persistent glossary creation.
reviewing-impl-plans
Use when reviewing implementation plans before execution. Triggers: 'is this plan solid', 'review the plan', 'check before I start building', 'anything missing from this plan', 'will this plan work', 'audit the implementation plan'. NOT for: reviewing design documents (use reviewing-design-docs) or creating plans (use writing-plans).
session-resume
Session resume protocol and session repairs handling. Loaded when spellbook_session_init returns resume_available: true, or when session_init returns a repairs array. Triggers: 'resume', 'continue', 'where were we', session resume, session repairs.
brainstorming
Use when exploring design approaches, generating ideas, or making architectural decisions. Triggers: 'explore options', 'what are the tradeoffs', 'how should I approach', 'let's think through', 'sketch out an approach', 'I need ideas for', 'how would you structure', 'what are my options'. Also invoked by develop when design decisions are needed.
Didn't find tool you were looking for?