req-analyze
Performs problem-space requirements analysis, decomposition, and stakeholder identification.
Install
mkdir -p .claude/skills/req-analyze && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16023" && unzip -o skill.zip -d .claude/skills/req-analyze && rm skill.zipInstalls to .claude/skills/req-analyze
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Requirements analysis — problem decomposition, stakeholder scan, requirement structuring. Produces 1-requirements.md (Phase 1 lifecycle doc, NOT the per-task request ticket — for those use /create-request). Use when: analyzing needs before tech spec, decomposing requirements, stakeholder analysis, 需求分析. Not for: solution comparison (use feasibility-study), tech design (use tech-spec), per-task tracking tickets (use create-request), issue root cause (use issue-analyze).Key capabilities
- →Decompose problems into first principles.
- →Analyze stakeholders and their needs.
- →Structure functional and non-functional requirements.
- →Prioritize needs using methods like MoSCoW.
- →Produce a `1-requirements.md` lifecycle document.
How it works
The skill performs requirements analysis by decomposing problems, scanning stakeholders, and structuring requirements, producing a lifecycle document.
Inputs & outputs
When to use req-analyze
- →Analyzing user needs
- →Decomposing complex features
- →Stakeholder analysis
- →Requirement structuring
About this skill
Requirements Analysis Skill
Trigger
- Keywords: requirements analysis, analyze requirements, decompose requirements, stakeholder analysis, 需求分析, requirement decomposition, analyze needs
When NOT to Use
- Solution comparison / feasibility evaluation (use
/feasibility-study) - Technical specification writing (use
/tech-spec) - Per-task tracking tickets (use
/create-request— requests are date-prefixed non-lifecycle docs for progress tracking, not feature-level requirements docs; see Relationship section below) - Issue root cause analysis (use
/issue-analyze) - Architecture design (use
/architecture) - Implementation (use
/feature-dev)
Boundary Contract
/req-analyze is problem-space only:
- Defines problems, analyzes stakeholders, decomposes requirements, prioritizes needs
- Must NOT rank solutions, estimate implementation effort, or produce feasibility recommendations
- Solution-space concerns discovered during analysis → log as Open Questions with suggestion to run
/feasibility-study
Relationship with /create-request
1-requirements.md is a lifecycle document, not a task ticket. They live in different document classes per @rules/docs-numbering.md and serve different audiences.
| Dimension | /req-analyze → 1-requirements.md | /create-request → requests/YYYY-MM-DD-*.md |
|---|---|---|
| Doc class | Lifecycle (Phase 1, numeric prefix) | Request ticket (date-prefixed, non-lifecycle — per @rules/docs-numbering.md) |
| Count per feature | One (upsert / incremental refine) | Many (one per task) |
| Position in workflow | Before /tech-spec (design phase) | After /tech-spec (execution phase) |
| Content focus | Problem space — 5-Why, FR/NFR, MoSCoW, stakeholders | Execution — Status, Progress, AC checklist, Related Files |
| Granularity | Feature-wide | Single task (AC ≤ 8) |
| Update pattern | Document upsert | Status tracking (scan / update / update-all / --verify-ac) |
| Audience | Designers, decision-makers | Executors, progress trackers |
Workflow ordering
/req-analyze → /tech-spec → /create-request → /feature-dev
(Phase 1) (Phase 2) (ticket per task) (implement)
1-requirements.md feeds /tech-spec; /tech-spec then gets broken down into multiple request tickets by /create-request for parallel execution and progress tracking.
Anti-patterns to avoid
| Anti-pattern | Correct approach |
|---|---|
Writing 5-Why / stakeholder analysis inside a requests/*.md ticket | Put it in 1-requirements.md; the ticket just references it |
Adding ## Progress / ## Status table to 1-requirements.md | Progress tracking belongs in request tickets; requirements doc is advisory-only |
Creating a 1-requirements.md per task | One per feature; create multiple request tickets instead |
Treating 1-requirements.md as mandatory prerequisite | It is advisory (see next section); downstream skills work without it |
Usage
/req-analyze # Auto-detect feature, create/update
/req-analyze <feature-keyword> # Specify feature
/req-analyze --quick # Lightweight: FP decomposition only
/req-analyze --deep # Full: + /deep-research + debate
Arguments
| Flag | Description |
|---|---|
--quick | Lightweight: FP decomposition + stakeholder + structuring only |
--standard | Default: quick + code research + selective web validation |
--deep | Full: standard + /deep-research + Codex completeness challenge |
--feature <key> | Explicit feature key (validated via slug regex) |
<path> | Direct path to feature docs dir (must match docs/features/<slug>/) |
Workflow
sequenceDiagram
participant U as User
participant C as Claude
participant E as Explore Agent
participant W as Web Research
participant DR as /deep-research
participant CB as /codex-brainstorm
C->>C: Phase 0: Context Resolution
C->>C: Phase 1: First-Principles Decomposition
alt --standard or --deep
par Phase 2: Research
C->>E: Code analysis (background)
C->>W: Web research cascade
end
E-->>C: Related modules + patterns
W-->>C: Domain findings
end
alt --deep only
C->>DR: /deep-research (full domain research)
DR-->>C: Claim registry + findings
end
C->>C: Phase 3: Requirement Structuring
alt --deep only
C->>CB: Phase 4: Completeness Challenge
CB-->>C: Equilibrium conclusion
end
C->>C: Phase 5: Write 1-requirements.md
C->>U: Auto-trigger /codex-review-doc
Phase 0: Context Resolution
Detect the target feature using the 5-level cascade.
See @skills/create-request/references/feature-context-resolution.md for the full algorithm.
node scripts/resolve-feature.js
scan_error gate. scan_error !== false ⇒ the source sets are unknown, not empty —
report it and take the ⚠️ Need Human exit rather than analysing requirements against a corpus you could not read, which
produces a requirements doc whose "no existing spec" finding is an artefact of the failure. Gate on !== false, not
=== true: a {} payload from a shell fallback carries no such field at all, and a non-null key
is not evidence the sets are complete — scan_error rides alongside a resolved key.
The wrapper, and no || echo '{}': that fallback emits a payload with no scan_error field,
which a gate written as scan_error === true — and any consumer that does not inspect the field at
all — reads as success. (The role-aware skills gate on scan_error !== false precisely so a missing
field counts as failure; the {} fallback is what made the stricter spelling necessary.) It can
also be concatenated after the CLI's partial stdout, so JSON.parse throws before any gate runs. resolve-feature.js exits 0 and emits the full shape with
scan_error: true for every failure it can observe — a nonzero CLI exit, a signal, a truncated
write, a payload that is not the agreed shape. Not for node itself being unavailable: that
produces no JSON at all, which is the one case the caller still handles.
| State | Mode |
|---|---|
1-requirements.md exists | Update (incremental — refine requirements based on new input) |
1-requirements.md absent | Create from template |
| Feature not resolved | Gate: Need Human |
Path Validation
When <path> argument is provided:
- Must match
docs/features/<slug>/where slug passes/^[a-z0-9][a-z0-9._-]*$/i - Reject
..traversal, absolute paths, symlinks outside repo - Resolve to canonical repo-relative path before use
Scope Gate
For small/clear features (single file change, unambiguous need), ask user whether a full 1-requirements.md is needed or if inline requirements in tech spec §1 suffice. Use AskUserQuestion to confirm.
Advisory-Only Policy
1-requirements.md is advisory, not mandatory. Consistent with docs-numbering.md marking Phase 1 as "Recommended." Downstream skills (/tech-spec, /feasibility-study) work without it but use it as source-of-truth when present.
Budget Tier Auto-Detection
| Signal | Tier |
|---|---|
User explicit --quick/--deep flag | Always takes precedence |
| Single-file change, clear requirements, no ambiguity in Phase 1 | Auto-downgrade to --quick |
| Multiple modules affected, some ambiguity, no external dependency | Stay --standard (default) |
| Cross-team impact detected in stakeholder scan, external-facing, regulatory constraint | Auto-escalate to --deep |
Phase 1: First-Principles Decomposition (all tiers)
| Step | Action | Output |
|---|---|---|
| 1.1 | 5-Why root problem extraction | Problem Statement section |
| 1.2 | Assumptions register | Constraints & Assumptions section |
| 1.3 | Mandatory stakeholder scan | Stakeholders table |
1.1 Root Problem (5-Why)
Start with the user's stated need. Ask "Why?" iteratively until the root problem is reached:
- Surface requirement (what user asks for)
- Underlying problem (why they need it)
- Root cause / business driver (what success looks like)
1.2 Assumptions Register
For each assumption discovered during 5-Why:
- Document the assumption
- Classify: Technical / Business / Resource / Compatibility
- Note source: user statement / code observation / inferred
1.3 Stakeholder Scan (mandatory at all tiers)
# Grep codebase for affected modules
git diff --name-only HEAD 2>/dev/null
# Search for consumers of the feature area
grep -r "<feature-keyword>" skills/ scripts/ --include="*.md" --include="*.js" -l | head -20
Identify:
- Developers: Who will implement/maintain
- Users: Who invokes the skill/feature
- Operators: Who deploys/monitors
- Dependents: Other skills/modules that consume the output
Output: Stakeholders table with Role + Key Concern.
Phase 2: Research (tier-dependent)
| Tier | Research Scope |
|---|---|
--quick | Skip (no research) |
--standard | Code analysis + selective web validation |
--deep | Skill("deep-research", "<topic> requirements best practices --budget medium") |
Standard Tier: Code Analysis
Agent({
description: "Analyze requirements context for <feature>",
subagent_type: "Explore",
run_in_background: true,
prompt: "Analyze the codebase for <feature> requirements context:
1. Read existing request docs under docs/features/<key>/requests/
2. Read tech-spec if exists
3. Search for related modules (skills/, scripts/)
4. Identify existing patterns and conventions
Output: related modules, existing patterns, gaps"
})
Standard Tier: Web Research Cascade
See references/research-cascade.md for the ful
Content truncated.
When not to use it
- →When comparing solutions or evaluating feasibility.
- →When writing technical specifications.
- →When creating per-task tracking tickets.
Limitations
- →Must NOT rank solutions, estimate implementation effort, or produce feasibility recommendations.
- →The `1-requirements.md` is a lifecycle document, not a task ticket.
- →It is **advisory**; downstream skills work without it.
How it compares
This skill focuses exclusively on problem-space analysis, producing a dedicated requirements document, unlike jumping directly to solution design or task tracking.
Compared to similar skills
req-analyze side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| req-analyze (this skill) | 0 | 4mo | Review | Intermediate |
| product-manager-toolkit | 32 | 7mo | Review | Beginner |
| task-analyzer | 7 | 2mo | No flags | Beginner |
| micro-saas-launcher | 6 | 6mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by sd0xdev
View all by sd0xdev →You might also like
product-manager-toolkit
davila7
Comprehensive toolkit for product managers including RICE prioritization, customer interview analysis, PRD templates, discovery frameworks, and go-to-market strategies. Use for feature prioritization, user research synthesis, requirement documentation, and product strategy development.
task-analyzer
shinpr
Metacognitive task analysis and skill selection. Analyzes task essence, estimates scale, and returns appropriate skills with metadata.
micro-saas-launcher
davila7
Expert in launching small, focused SaaS products fast - the indie hacker approach to building profitable software. Covers idea validation, MVP development, pricing, launch strategies, and growing to sustainable revenue. Ship in weeks, not months. Use when: micro saas, indie hacker, small saas, side project, saas mvp.
game-changing-features
davila7
Find 10x product opportunities and high-leverage improvements. Use when user wants strategic product thinking, mentions '10x', wants to find high-impact features, or says 'what would make this 10x better', 'product strategy', or 'what should we build next'.
job-search-strategist
proyecto26
Comprehensive job search strategy skill for analyzing job postings, discovering non-obvious insights, conducting conversational skills-matching interviews, identifying skill development needs, and creating creative, personalized application strategies. This skill should be used when users want help with job applications, career transitions, analyzing job opportunities, or developing targeted job search approaches that help them stand out from other candidates.
challenge
alirezarezvani
/em -challenge — Pre-Mortem Plan Analysis