From specialist-agent
Transforms product ideas, feature requests, or stakeholder requirements into structured PRDs with user stories, acceptance criteria, and GitHub issues.
npx claudepluginhub herbertjulio/specialist-agent --plugin specialist-agentThis skill is limited to using the following tools:
Transform product ideas into structured, implementable PRDs with user stories, acceptance criteria, and issue decomposition - bridging the gap between stakeholder intent and developer action.
Analyzes PRD into atomic features with Gherkin acceptance criteria, performs product/architecture/QA analysis, generates dependency graphs, MVP features, and project plans from specs.
Generates structured Product Requirements Documents (PRDs) by gathering project context from files and commits, asking 3-5 clarifying questions with lettered options, and producing sections like user stories, functional requirements, non-goals, and success metrics.
Drafts lightweight PRDs via guided conversation for feature ideas, requirements brainstorming, sprint planning, user stories, and acceptance criteria expansion.
Share bugs, ideas, or general feedback.
Transform product ideas into structured, implementable PRDs with user stories, acceptance criteria, and issue decomposition - bridging the gap between stakeholder intent and developer action.
Target: $ARGUMENTS
@product or @analyst needs a structured output format/plan for features that need formal requirements/debug)/plan directly)/brainstorm first)# Find related modules, components, services
grep -rl "$KEYWORD" src/ --include="*.ts" --include="*.tsx" --include="*.vue" --include="*.svelte" 2>/dev/null | head -20
Output:
## 1. Problem & Scope
**Problem:** [Clear problem statement with evidence]
**Users:** [Primary: ..., Secondary: ...]
**Success Criteria:**
- [ ] [Measurable outcome 1]
- [ ] [Measurable outcome 2]
**In Scope:** [what's included]
**Out of Scope:** [what's explicitly excluded]
**Existing Code:** [related modules found in codebase]
BLOCKED until problem statement is clear and measurable.
For each story:
### US-[N]: [Story Title]
**As a** [persona],
**I want** [action],
**So that** [benefit].
**Priority:** Must Have | Should Have | Could Have | Won't Have
**Acceptance Criteria:**
```gherkin
GIVEN [precondition]
WHEN [action]
THEN [expected result]
GIVEN [precondition]
WHEN [error condition]
THEN [error handling]
**BLOCKED** until at least 3 user stories with Gherkin criteria exist.
### Step 3: Requirements Matrix
1. **Functional requirements** - What the system must do
2. **Non-functional requirements** - Performance, security, accessibility, i18n
3. **Technical constraints** - Stack, infrastructure, API compatibility
4. **Dependencies** - External services, other teams, data sources
**Output:**
```markdown
## 3. Requirements Matrix
### Functional
| ID | Requirement | Priority | Story |
|----|------------|----------|-------|
| FR-1 | [requirement] | Must | US-1 |
### Non-Functional
| ID | Requirement | Target | Measurement |
|----|------------|--------|-------------|
| NFR-1 | Response time | < 200ms p95 | Load test |
| NFR-2 | Accessibility | WCAG AA | Axe audit |
### Constraints
- [Technical constraint 1]
- [Infrastructure constraint]
### Dependencies
- [External service/team]
# Identify existing patterns, services, utilities
find src/ -type f -name "*.ts" -o -name "*.tsx" | head -50
# Check for existing API routes
find src/ -path "*/api/*" -name "*.ts" 2>/dev/null | head -20
# Check for existing types/interfaces
grep -rn "interface\|type " src/types/ 2>/dev/null | head -20
Output:
## 4. Technical Feasibility
**Reusable:** [existing modules/patterns to leverage]
**New infrastructure:** [tables, APIs, services needed]
**Integration points:** [existing code that needs changes]
**Risks:** [breaking changes, migrations, data concerns]
Output:
## 5. Issue Breakdown
| # | Issue Title | Size | Depends On | Agent |
|---|------------|------|------------|-------|
| 1 | Create [model/schema] | S | - | @data |
| 2 | Implement [API endpoint] | M | #1 | @api |
| 3 | Build [UI component] | M | #2 | @builder |
| 4 | Add [tests] | M | #3 | @tester |
| 5 | Add [observability] | S | #2 | @builder |
**Critical Path:** #1 → #2 → #3 → #4
**Parallelizable:** #5 can run alongside #3-#4
docs/PRD-[feature-name].mdIf the user requests it, create issues:
# Create issues from the breakdown
gh issue create --title "[Issue Title]" --body "[Description with acceptance criteria]" --label "feature,[size]"
Before claiming the PRD is complete:
docs/PRD-[name].md| Excuse | Reality |
|---|---|
| "Requirements are in my head" | Unwritten requirements become misunderstood requirements. Write them down. Memory is not documentation. |
| "We can figure out scope during development" | Scope creep costs 3-10x more than upfront definition. Define it now. |
| "User stories are too formal" | Stories are negotiable contracts, not bureaucracy. They prevent the rework that comes from verbal specs. |
| "The PRD will be outdated immediately" | A living document beats no document. Update as you learn. Outdated > nonexistent. |
| "Just tell the developer what to build" | Developers need acceptance criteria, not verbal instructions that get lost between Slack messages. |
| "NFRs are obvious, we don't need to write them" | "Fast" means 50ms to one person and 2s to another. Write the number. |
| "We'll add acceptance criteria later" | Criteria written after implementation are just documentation, not specifications. Write them first. |
──── /prd ────
Feature: $ARGUMENTS
Problem: [1-line problem statement]
Users: [primary persona]
Stories: [N] (Must: X, Should: Y, Could: Z)
Requirements:
Functional: N
Non-Functional: N
Constraints: N
Issues: N (S: X, M: Y, L: Z)
Critical Path: [issue chain]
PRD saved: docs/PRD-[name].md
Issues created: [N] (if requested)
──── Ready for /plan ────