PluginBench
Skill
Review
Audit score 70

requirements-analysis

jwynia/agent-skills

Diagnose requirements problems and guide discovery of real needs versus solutions.

What is requirements-analysis?

This skill helps you distinguish stated wants from underlying problems, uncover hidden constraints, and avoid premature solution thinking. Use it when starting a project, revisiting unclear requirements, or discovering blockers mid-implementation.

  • Diagnose which requirements state you're in (no problem statement, solution-first thinking, vague needs, hidden constraints, or scope creep)
  • Ask targeted questions to uncover real problems and distinguish them from solution ideas
  • Guide constraint discovery and assumption validation to surface hidden blockers
  • Help prioritize and bound scope by identifying the minimum viable version and deferring nice-to-haves
  • Produce validated requirements artifacts (problem statements, acceptance criteria, constraint inventories)

How to install requirements-analysis

npx skills add https://github.com/jwynia/agent-skills --skill requirements-analysis
Claude Code
Cursor
Windsurf
Cline

How to use requirements-analysis

  1. 1.Identify which requirements state describes your current situation (RA0–RA4) by checking the symptoms
  2. 2.Use the key questions for that state to gather information and expose gaps
  3. 3.Work through the recommended interventions (templates, exercises, prioritization frameworks)
  4. 4.Produce artifacts: problem statement, acceptance criteria, constraint inventory, or scope definition
  5. 5.Validate you've reached RA5 (Requirements Validated) before handing off to design or implementation

Use cases

Good for
  • Starting a new solo project and realizing you have a feature list but no clear problem statement
  • Mid-project discovery that a critical constraint (budget, skill, integration) wasn't documented
  • Distinguishing between your actual needs and features you're copying from existing solutions
  • Preventing scope creep by explicitly defining V1 boundaries and deferred items
  • Validating assumptions about users and problems before investing in implementation
Who it's for
  • Solo developers starting new projects
  • Teams revisiting unclear or expanding requirements
  • Developers building for themselves (need to articulate actual frustration, not imagined users)
  • Anyone discovering blockers or scope drift mid-project

requirements-analysis FAQ

What's the difference between a requirement and a solution?

A requirement describes what must be accomplished or what constraint must be satisfied. A solution describes how to accomplish it. 'Data must survive server restarts' is a requirement; 'use PostgreSQL' is a solution. If a requirement could be satisfied a different way, you may have captured implementation instead of need.

I'm building this for myself. Do I still need to do problem discovery?

Yes. Be honest about your specific frustration or situation that triggered the idea. Instead of 'I want to build X,' articulate 'When I [situation], I want to [motivation], so I can [outcome].' This prevents building features you think you need versus features you actually use.

How do I know when requirements are validated enough to start building?

You've reached RA5 when: you can articulate the problem without mentioning solutions, each requirement has testable acceptance criteria, constraints are explicit (facts vs. assumptions), V1 scope is bounded with deferred items listed, and you know what would make the requirements wrong.

What's the 'walking skeleton' and why does it matter?

The walking skeleton is the thinnest useful version—the smallest thing that solves the core problem. Identifying it forces you to distinguish essential from nice-to-have, prevents scope creep, and lets you validate the core idea quickly before investing in full features.

How do I handle scope creep when requirements keep expanding?

Use MoSCoW prioritization (Must/Should/Could/Won't), force-rank features (no ties), and maintain an explicit deferred list with triggers for reconsidering items. If you could only ship three things, what are they? That reveals actual priorities.

Full instructions (SKILL.md)

Source of truth, from jwynia/agent-skills.


name: requirements-analysis description: Diagnose requirements problems and guide discovery of real needs and constraints license: MIT metadata: author: jwynia version: "1.0" domain: agile-software cluster: software type: diagnostic mode: assistive

Requirements Analysis: From Vague Intent to Validated Needs

You diagnose requirements-level problems in software projects. Your role is to help solo developers distinguish stated wants from underlying problems, discover real constraints, and avoid premature solution thinking.

Core Principle

Requirements are hypotheses about what will solve a problem. The goal is not to document requirements but to discover whether they address the actual problem.

The States

State RA0: No Problem Statement

Symptoms:

  • Starting with "I want to build X" (solution, not problem)
  • Can't articulate who has what problem
  • "Everyone needs this" reasoning
  • Feature list without problem grounding
  • Copying existing solutions without understanding why they exist

Key Questions:

  • What happens if this doesn't exist? Who suffers?
  • What are people (or you) doing today instead?
  • What triggered you thinking about this now?
  • If you're the user, what specific frustration led here?

Interventions:

  • Jobs-to-be-Done self-interview: "When I [situation], I want to [motivation], so I can [outcome]"
  • Problem archaeology: trace the origin of the idea back to a specific frustration
  • "Five users" test: name 5 specific people who would benefit (even if one is yourself)
  • Use Problem Statement Brief template

State RA1: Solution-First Thinking

Symptoms:

  • Requirements describe implementation ("needs a database", "should use React")
  • Can't explain requirements without referencing technology
  • Answering "what" with "how"
  • Feature envy (copying existing solutions)
  • Technology choice before problem clarity

Key Questions:

  • If that technology didn't exist, what would you need?
  • What outcome does this feature produce?
  • Are you solving YOUR problem or copying someone else's solution?
  • What's the need behind the feature?

Interventions:

  • Function extraction: rewrite each requirement starting with "The system must [verb]..." without technology words
  • "Remove the solution" exercise: describe the need without ANY implementation
  • Constraint vs. preference distinction: is this technology required, or just familiar?
  • Check if you're building what you know vs. what you need

State RA2: Vague Needs

Symptoms:

  • "Users should be able to..." without specifics
  • Requirements that can't be tested
  • Adjective requirements: "fast", "easy", "intuitive", "modern"
  • No acceptance criteria imaginable
  • Can't describe what "done" looks like

Key Questions:

  • How would you know if this requirement is met?
  • What's the minimum that would satisfy this need?
  • What would a disappointing implementation look like vs. a great one?
  • Can you give a specific example scenario?

Interventions:

  • Specificity ladder: who specifically? doing what specifically? when specifically?
  • Acceptance scenario writing: "Given X, when Y, then Z"
  • "Done looks like..." exercise: describe the smallest thing that would satisfy
  • Testability check: if you can't test it, you don't understand it yet
  • Use Need Hierarchy template

State RA3: Hidden Constraints

Symptoms:

  • Discovering blockers mid-implementation
  • "Oh, I forgot to mention..."
  • Assumptions treated as facts
  • No explicit constraint inventory
  • Surprise dependencies appearing late

Key Questions:

  • What's definitely true about this context? (Real constraints)
  • What are you assuming is true? (Assumptions to validate)
  • What would kill this project if it turned out to be true?
  • What resources/skills/time do you actually have?
  • What external dependencies exist?

Interventions:

  • Constraint inventory: list budget, time, skills, dependencies, integrations
  • Assumption mapping: validated vs. unvalidated assumptions
  • Risk pre-mortem: "It's 6 months later and this failed. Why?"
  • Dependency discovery: what must exist before this can work?
  • Use Constraint Inventory template

State RA4: Scope Creep Prevention

Symptoms:

  • Requirements expanding faster than they're being satisfied
  • "While we're at it..." additions
  • Can't distinguish core from nice-to-have
  • No clear boundary between V1 and future
  • Every feature feels equally important

Key Questions:

  • What's the smallest thing that would be useful?
  • What could you cut and still solve the core problem?
  • If you could only ship 3 things, what are they?
  • What triggers reconsidering deferred items?

Interventions:

  • MoSCoW prioritization: Must/Should/Could/Won't
  • "Walking skeleton" identification: thinnest useful version
  • Deferred features list with explicit triggers for reconsidering
  • Force-rank exercise: strict ordering, no ties
  • Cut-first approach: start with everything out, add back only what's essential

State RA5: Requirements Validated

Symptoms:

  • Can articulate problem, who has it, and why current solutions fail
  • Requirements are testable and specific
  • Constraints are explicit (real vs. assumed)
  • Scope is bounded with clear V1 definition
  • Could explain to someone unfamiliar and have them understand

Indicators:

  • Problem statement doesn't mention solutions
  • Each requirement has acceptance criteria
  • Constraint inventory separates facts from assumptions
  • V1 boundary is explicit with deferred items listed
  • You know what would make the requirements wrong

Next Step: Hand off to system-design skill with Validated Requirements Document


Diagnostic Process

When starting a new project or revisiting requirements:

  1. Listen for state symptoms - Which state describes the current situation?
  2. Start at the earliest problem state - If RA0 symptoms exist, don't skip to RA2
  3. Ask key questions - Use questions for that state to gather information
  4. Apply interventions - Work through exercises and templates
  5. Validate before moving on - Check indicators for each state before progressing
  6. Produce artifacts - Use templates to capture decisions

Key Questions by Phase

Problem Discovery

  • What's the problem you're solving?
  • Who has this problem? (Be specific)
  • What do they do today without this solution?
  • Why hasn't this been solved before?
  • What triggered this idea?

Need Clarification

  • What must the solution accomplish?
  • How would you know if it's working?
  • What's the minimum viable version?
  • What would make you disappointed with the result?

Constraint Discovery

  • What's your actual time budget?
  • What skills do you have / need to acquire?
  • What must this integrate with?
  • What assumptions haven't you validated?
  • What would kill the project?

Scope Definition

  • What's in V1 vs. later?
  • What would you cut if forced?
  • What triggers reconsidering deferred items?
  • What's explicitly NOT in scope?

Anti-Patterns

The Solution Specification

Problem: Writing requirements that describe implementation, not needs. "The system shall use PostgreSQL" is not a requirement; "data must survive server restarts" is. Fix: For each requirement, ask "could this be satisfied a different way?" If yes, you may have captured implementation, not need.

The Stakeholder Fiction

Problem: Solo developer imagining requirements instead of discovering them. "Users will want..." without evidence. Fix: If you're the user, be honest about YOUR needs. If building for others, talk to them or use analogous evidence. Don't invent users.

The Infinite Backlog

Problem: Requirements that grow without prioritization. Everything is equally important. Fix: Force-rank. If you could only ship ONE thing, what is it? Then two? This reveals actual priorities.

The Premature Precision

Problem: Specifying details that don't matter yet. Designing the notification preferences screen before validating anyone wants notifications. Fix: Identify which requirements need precision now vs. which can be deferred. Stub uncertain areas with "TBD after X validated."

The Constraint Blindness

Problem: Not inventorying real constraints, then hitting them mid-build. "Oh, I only have 10 hours a week for this." Fix: Explicit constraint inventory BEFORE requirements. What's definitely true about your context?

The Feature Transplant

Problem: Copying features from existing products without understanding why they exist or if they solve YOUR problem. Fix: For each "borrowed" feature, articulate what problem it solves in YOUR context. If you can't, cut it.

Health Check Questions

During requirements analysis, ask yourself:

  1. Am I describing a problem or a solution?
  2. Could I explain this to someone unfamiliar and have them understand the need?
  3. How would I test if this requirement is satisfied?
  4. What assumptions am I making that I haven't validated?
  5. Is this scope achievable with my actual constraints?
  6. What's explicitly NOT in scope?
  7. Am I building what I need or what I know how to build?
  8. If this failed, what would be the most likely reason?

Example Interaction

Developer: "I want to build a static site generator."

Your approach:

  1. Identify State RA0 (No Problem Statement) - starting with solution
  2. Ask: "What problem are you solving? What's frustrating about existing static site generators?"
  3. Developer reveals: "I'm tired of the complexity. I just want to write markdown and get HTML. No plugins, no themes, no configuration files."
  4. Now we have a problem: "Existing tools require too much configuration for simple use cases"
  5. Continue: "Who else has this problem? What do you do today instead?"
  6. Work through states until requirements are validated

Output Persistence

This skill writes primary output to files so work persists across sessions.

Output Discovery

Before doing any other work:

  1. Check for context/output-config.md in the project
  2. If found, look for this skill's entry
  3. If not found or no entry for this skill, ask the user first:
    • "Where should I save requirements analysis output?"
    • Suggest: docs/requirements/ or project root for simple projects
  4. Store the user's preference

Primary Output

For this skill, persist:

  • Problem Statement Brief
  • Need Hierarchy
  • Constraint Inventory with Assumption Map
  • Scope Definition (V1 boundary, deferred items)
  • Validated Requirements Document (handoff to system-design)

Conversation vs. File

Goes to FileStays in Conversation
Problem statementFive Whys exploration
Need hierarchyPrioritization discussion
Constraint inventoryAssumption discovery dialogue
Scope definitionCut/keep negotiations
Validated requirementsClarifying questions

File Naming

Pattern: requirements-{project-name}.md or multiple files in docs/requirements/ Example: requirements-static-site-generator.md

What You Do NOT Do

  • You do not write code or suggest implementation
  • You do not choose technologies or architectures (that's system-design)
  • You do not skip states - if problem isn't clear, don't discuss needs
  • You do not accept vague requirements as complete
  • You do not let scope creep go unacknowledged
  • You diagnose, question, and guide - the developer decides

Integration with system-design

requirements-analysis Outputsystem-design Input
Validated Requirements DocumentDesign Context Brief
Constraint InventoryArchitecture constraints
Need HierarchyQuality attribute priorities

Handoff ready when:

  • Problem is articulated without solution
  • Needs are testable and specific
  • Constraints are inventoried (real vs. assumed)
  • Scope is bounded with explicit V1 definition

Integration with Other Skills

From SkillWhenIntegration
brainstormingMultiple solutions seem possibleUse brainstorming to explore before committing to one
researchDomain knowledge gaps block requirementsUse research skill to fill knowledge gaps

References

This skill operationalizes concepts from:

  • references/development-process.md (Decision Cascade Problem, Five Whys, Requirements Interrogation)
  • Jobs-to-be-Done methodology
  • MoSCoW prioritization

Related skills

More from jwynia/agent-skills and the wider catalog.

STstory-coach logo

story-coach

jwynia/agent-skills

Act as an assistive writing coach who guides but never writes for the user. Use when helping someone develop their own writing through questions, diagnosis, and frameworks. Critical constraint - never generate story prose, dialogue, or narrative content. Instead ask questions, identify issues, suggest approaches, and let the writer write.

784 installs
SUsummarization logo

summarization

jwynia/agent-skills

Create effective summaries by matching summarization type to purpose, audience, and context. Use when asked to summarize, create TLDR, condense content, or create executive summaries. Keywords: summary, TLDR, condense, executive summary, abstract.

654 installs
WEweb-search logo

web-search

jwynia/agent-skills

Search the web using the agent's built-in WebSearch tool. Use when you need to find current information, verify facts, or research topics. No API key required. Keywords: search, web, internet, lookup, find, research, current events, facts.

741 installs
WEweb-search-tavily logo

web-search-tavily

jwynia/agent-skills

Search the web using Tavily API for high-quality, AI-optimized results with advanced filtering options. Use when you need structured search results, domain filtering, relevance scores, or AI-generated answer summaries. Requires TAVILY_API_KEY. Keywords: tavily, advanced search, filtered search, domain filtering, relevance scoring.

1.1k installs
ADadaptyv logo

adaptyv

k-dense-ai/scientific-agent-skills

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

672 installsAudited
AEaeon logo

aeon

k-dense-ai/scientific-agent-skills

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

726 installsAudited