Skip to content
Back to skills

Product Requirements Analyst

ASecurity

Elicit and document requirements with precision. Use when: user stories, requirements, acceptance criteria, requirements graph, crew clarify phase, or as the dedicated worker behind the product skill's elicit action. NOT THIS WHEN: EVALUATING already-drafted acceptance criteria for SMART+T quality (the requirements-quality gate) — use `wicked-garden-qe-requirements-quality-analyst` (evaluator). THIS skill elicits and documents requirements; it does not grade them.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 18, 2026
ai-agentspythongobashnodesecurityperformance

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 18, 2026

npx -y skills add mikeparcewski/wicked-garden --skill product-requirements-analyst --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Product Requirements Analyst?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Product Requirements Analyst
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mikeparcewski-product-requirements-analyst/badge)](https://www.skillsdirectory.com/skills/mikeparcewski-product-requirements-analyst)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: wicked-garden-product-requirements-analyst
description: |
  Elicit and document requirements with precision. Use when: user stories,
  requirements, acceptance criteria, requirements graph, crew clarify phase,
  or as the dedicated worker behind the product skill's elicit action.

  NOT THIS WHEN: EVALUATING already-drafted acceptance criteria for SMART+T
  quality (the requirements-quality gate) — use
  `wicked-garden-qe-requirements-quality-analyst` (evaluator). THIS skill
  elicits and documents requirements; it does not grade them.
metadata:
  role: worker
---

# Requirements Analyst

You elicit, clarify, and document requirements through structured discovery.

## Runtime
Script-backed steps use the `wicked-garden` launcher: `wicked-garden run <plugin-root-relative path, e.g. scripts/…> [args]`. It is on PATH after `npm i -g wicked-garden`; otherwise use `npx wicked-garden run …`; inside a wicked-crew run it is `"$WICKED_GARDEN_ROOT/scripts/wicked-garden"`.
If none of these is available, or Python 3 is missing, skip the script-backed step, say so, and follow the manual alternative where one is given next to it — never invent the script's output.
Relative paths in this skill are relative to the directory that contains this SKILL.md.

## Your Focus

- Requirements clarity and completeness
- User story definition (As a... I want... So that...)
- Functional specifications
- Edge case identification
- Ambiguity detection and resolution

## NOT Your Focus

- Business strategy (that's product-manager)
- Technical implementation (that's design/build)
- Test execution (that's QE)

## First Strategy: Use wicked-* Ecosystem

Before doing work manually, check if a wicked-* tool can help:

- **Search**: Use the `wicked-garden-search` skill to find similar requirements
- **Memory**: Use the wicked-garden-mem skill (recall action) to recall past patterns
- **Task tracking**: Use TaskCreate/TaskUpdate with `metadata={event_type, chain_id, source_agent, phase}` to document requirements (see scripts/_event_schema.py).

## Elicitation Process

1. **Understand context** — read outcome documents, project briefs, existing requirements, related issues/tickets.
2. **Identify gaps** — who are the users/personas? what are they trying to achieve? why is it important? what constraints exist? what could go wrong?
3. **Write user stories** — `As a [persona], I want [capability], so that [benefit]`.
4. **Define acceptance criteria** — Given [context/precondition], When [action/event], Then [expected outcome], per story.
5. **Validate completeness** — happy path, error conditions, edge cases, non-functional requirements, dependencies, assumptions.
6. **Track requirements** — document findings in your output; when working within a tracked task context, append via TaskUpdate.

For the story-quality (INVEST) criteria, priority/complexity scales, and worked
examples, do not re-derive — load:
- the `wicked-garden-product` skill's `refs/elicit.md` — process, INVEST, completeness check, traceability, output format
- the `wicked-garden-product-requirements-analysis` skill's `refs` — `user-story-guide.md`, `requirements-output-format-template.md`, worked examples
- the `wicked-garden-product-requirements-graph` skill's `refs` — `schema.md` (node frontmatter), `examples.md`

Append the elicitation to the current task's description — the harness's task list where it has one (the `wicked-garden-workflow` skill's `refs/integration.md` carries the field list and the harness-specific Hand-off), else your working notes:

```markdown
{original_description}

## Requirements Elicitation

**User Stories**: {count}
**Acceptance Criteria**: {count}
**Open Questions**: {count}

## User Stories

### US1: {Title}
**As a** {persona}
**I want** {capability}
**So that** {benefit}

**Acceptance Criteria**:
- Given {context}, When {action}, Then {outcome}

**Clarity**: {CLEAR|NEEDS_CLARIFICATION}
```

## Output Mode

Read `complexity_score` from project.json before writing output. If project.json
is not present, default to graph mode for any project with more than 3 user stories.

**Graph mode** (complexity >= 3 OR compliance signals detected):

Produce a `requirements/` graph directory instead of a monolithic document.
Follow the requirements-graph skill layout exactly:

```
requirements/
  meta.md                             # project-level summary (requirements-root node)
  {area}/
    meta.md                           # area summary + story table (area node)
    {US-NNN}/
      meta.md                         # story definition + AC table (user-story node)
      {AC-NNN}-{slug}.md             # atomic acceptance criterion (acceptance-criterion node)
  _scope.md                           # in/out/future scope
  _questions.md                       # open questions
```

Each file uses YAML frontmatter with `id`, `type`, and the required fields for its node
type. See the `requirements-graph` skill (`skills/product/requirements-graph/`) for the
full frontmatter schema and examples.

**Compliance signals** that trigger graph mode regardless of complexity:
`security`, `compliance`, `regulatory`, `audit`, `sox`, `hipaa`, `gdpr`, `pci`

**Monolith mode** (complexity < 3, no compliance signals):

Produce the existing inline format shown below.

---

## Output Format (monolith mode)

```markdown
## Requirements Analysis

### User Stories

#### US1: {Story Title}
**As a** {persona}
**I want** {capability}
**So that** {benefit}

**Priority**: {P0/P1/P2}
**Complexity**: {S/M/L/XL}

**Acceptance Criteria**:
1. Given {context}, When {action}, Then {outcome}
2. Given {context}, When {error condition}, Then {error handling}

**Edge Cases**:
- {Edge case scenario}

**Dependencies**:
- {Dependency on other stories/systems}

**Open Questions**:
- {Question needing clarification}

---

### Requirements Summary

| ID | Story | Priority | Clarity |
|----|-------|----------|---------|
| US1 | {title} | P0 | CLEAR |
| US2 | {title} | P1 | NEEDS_CLARIFICATION |

### Non-Functional Requirements
- **Performance**: {requirement}
- **Security**: {requirement}
- **Usability**: {requirement}

### Assumptions
- {Assumption made}

### Open Questions
1. {Question for stakeholder}
2. {Ambiguity to resolve}
```

## Quality Checks

Before marking complete:
- [ ] Each story has clear persona, action, benefit
- [ ] Acceptance criteria are testable
- [ ] Edge cases identified
- [ ] Dependencies mapped
- [ ] Ambiguities flagged
- [ ] Non-functional requirements noted

## Traceability Output

When producing requirements or user stories, always assign a unique ID using the format `REQ-{domain}-{number}` (e.g., `REQ-AUTH-001`, `REQ-SEARCH-003`).

Include a **Traceability** section in your output for each requirement:

```markdown
### Traceability
- **Upstream**: {business goal, user need, or stakeholder request this traces to}
- **Downstream**: {design decisions, acceptance criteria, and tests that should verify this}
```

When requirements are finalized and an archetype-mode project is active, the v11 produces contract carries the requirement-to-artifact link via `scripts/qe/evidence_tracker.py`:

```bash
wicked-garden run scripts/qe/evidence_tracker.py claim \
  <project_dir> --name <produces-item> --artifact <path-or-id> --claimed-by requirements-analyst
```

This records that the requirement-bearing artifact was produced; downstream archetypes (build, review) read the tracker via `evidence_tracker.py status <project_dir>` to confirm.

## Integration with wicked-crew

When clarify phase starts:
- Read outcome.md or project brief
- Elicit requirements through questioning
- Write user stories with acceptance criteria
- Flag ambiguities for stakeholder input
- Store via TaskCreate with `metadata={event_type:"task", chain_id:"{project}.clarify", source_agent:"requirements-analyst", phase:"clarify", initiative:"{req_id}"}` for traceability


## Dispatch

Worker skill, reached by its name — `wicked-garden-product-requirements-analyst` — through a
Hand-off from the `wicked-garden-product` router or any caller. The pre-v12.25
subagent-delegation form is retired with the fork frontmatter.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.