pm
SKILL.md
Product Manager Skill
Purpose
Orchestrate product discovery by dispatching the product-manager subagent to conduct interviews, gather requirements, and produce structured outputs.
Key Output: Creates a spec group with requirements.md that feeds into /spec.
Usage
/pm # Start new discovery interview, create spec group
/pm <spec-group-id> # Add requirements to existing spec group
/pm feedback <spec-group-id> # Gather feedback on implementation
/pm refine <spec-group-id> # Refine existing requirements based on new info
When to Use This Skill
- Initial discovery: Starting a new task that needs a spec (creates spec group)
- Clarification: User request is vague or has multiple interpretations
- Refinement: Spec group exists but has open questions or ambiguities
- Feedback collection: Implementation complete, gathering user reactions
- Iteration planning: Deciding what to build next or how to improve existing features
Process
1. Parse Invocation
Determine the mode from the command:
| Command | Mode | Context |
|---|---|---|
/pm |
discovery |
New spec group will be created |
/pm sg-logout |
discovery |
Add to existing spec group |
/pm feedback sg-logout |
feedback |
Gather feedback on implementation |
/pm refine sg-logout |
refine |
Refine existing requirements |
2. Load Context (if spec group exists)
For modes that reference an existing spec group:
Read: .claude/specs/groups/<spec-group-id>/manifest.json
Read: .claude/specs/groups/<spec-group-id>/requirements.md (if exists)
3. Dispatch Product Manager Subagent
Dispatch the product-manager subagent with appropriate context:
Discovery Mode (new)
Task: product-manager
Prompt: |
<context>
Mode: discovery
User request: <original user request>
</context>
Conduct a discovery interview to gather requirements for a new feature.
Interview the user to understand:
- Problem being solved
- Goals and success criteria
- Constraints and boundaries
- Edge cases and failure modes
- Priorities (must-have vs nice-to-have)
After interviewing, create a spec group directory and requirements.md:
- Directory: .claude/specs/groups/sg-<feature-slug>/
- Create manifest.json with review_state: DRAFT
- Create requirements.md with all gathered requirements in EARS format
Confirm understanding with user before finalizing.
Discovery Mode (existing spec group)
Task: product-manager
Prompt: |
<context>
Mode: discovery
Spec group: <spec-group-id>
Existing manifest: <manifest contents>
Existing requirements: <requirements.md contents if exists>
User request: <original user request>
</context>
Add requirements to existing spec group.
Interview the user to understand additional requirements.
Update requirements.md with new requirements.
Maintain existing requirements unless explicitly superseded.
Confirm understanding with user before finalizing.
Feedback Mode
Task: product-manager
Prompt: |
<context>
Mode: feedback
Spec group: <spec-group-id>
Existing requirements: <requirements.md contents>
Implementation status: <from manifest>
</context>
Gather feedback on the implementation.
Interview the user to understand:
- What's working well
- What needs improvement
- What's missing
- What should be built next
Produce an iteration plan documenting:
- Feedback summary
- Proposed changes
- Next steps
Update requirements.md with feedback notes.
Refine Mode
Task: product-manager
Prompt: |
<context>
Mode: refine
Spec group: <spec-group-id>
Existing requirements: <requirements.md contents>
Open questions: <extracted from requirements.md>
</context>
Refine existing requirements based on new information.
Interview the user to:
- Resolve open questions
- Clarify ambiguities
- Update priorities if needed
Update requirements.md with refined requirements.
Mark resolved questions as resolved with answers.
4. Synthesize Results
After subagent completes, report the outcome:
Discovery Complete
## Requirements Gathered ✅
Spec group created: `sg-<feature-slug>`
Location: `.claude/specs/groups/sg-<feature-slug>/`
Files created:
- `manifest.json` — Spec group metadata (review_state: DRAFT)
- `requirements.md` — <N> requirements in EARS format
**Next Steps**:
1. Review requirements: `cat .claude/specs/groups/sg-<feature-slug>/requirements.md`
2. (Optional) Run `/prd draft sg-<feature-slug>` to write PRD to git repository
3. Run `/spec sg-<feature-slug>` to create spec.md
4. User approves → implementation begins
> **Note**: For orchestrator workflows with multiple workstreams, also run `/atomize` and `/enforce` after `/spec` to decompose into atomic specs.
Feedback Complete
## Feedback Gathered ✅
Spec group: `<spec-group-id>`
**Feedback Summary**:
- Working well: <count> items
- Needs improvement: <count> items
- Missing: <count> items
Iteration plan added to requirements.md
**Next Steps**:
1. Review iteration plan
2. Run `/spec <spec-group-id>` to update spec with changes
3. Re-implement changed requirements
Refine Complete
## Requirements Refined ✅
Spec group: `<spec-group-id>`
**Resolved**:
- <count> open questions resolved
- <count> requirements clarified
**Next Steps**:
1. Review updated requirements.md
2. Continue with `/spec`
State Transitions
After /pm completes:
| Mode | review_state | work_state | updated_by |
|---|---|---|---|
| discovery (new) | DRAFT | PLAN_READY | agent |
| discovery (existing) | DRAFT | PLAN_READY | agent |
| feedback | DRAFT | PLAN_READY | agent |
| refine | DRAFT | PLAN_READY | agent |
Integration with Workflow
In oneoff-spec Workflow
/route → /pm → requirements.md
↓
/spec → spec.md
↓
User approves
↓
/implement + /test
In orchestrator Workflow
/route → /pm → requirements.md
↓
/spec → spec.md
↓
/atomize → atomic/*.md
↓
/enforce → validation
↓
User approves
↓
/implement + /test
Linking to External PRD
After /pm, if requirements should link to a PRD in the git repository:
/prd link sg-<feature-slug> <prd-path>
Error Handling
Spec Group Not Found
Error: Spec group 'sg-unknown' not found
Available spec groups:
- sg-logout-button
- sg-auth-system
To create a new spec group, run:
/pm
Invalid Mode
Error: Invalid mode 'invalid'
Valid modes:
- /pm (new discovery)
- /pm <spec-group-id> (add to existing)
- /pm feedback <sg-id> (gather feedback)
- /pm refine <sg-id> (refine requirements)
Examples
Example 1: New Discovery
User: /pm
→ Dispatch product-manager (discovery mode)
→ Subagent interviews user about the problem
→ Subagent creates sg-logout-button/ with manifest.json and requirements.md
→ Report: Requirements Gathered ✅
Example 2: Add to Existing
User: /pm sg-auth-system
→ Load existing manifest and requirements
→ Dispatch product-manager (discovery mode with context)
→ Subagent interviews for additional requirements
→ Subagent updates requirements.md
→ Report: Requirements Updated ✅
Example 3: Feedback Collection
User: /pm feedback sg-logout-button
→ Load existing manifest and requirements
→ Dispatch product-manager (feedback mode)
→ Subagent interviews about implementation
→ Subagent produces iteration plan
→ Report: Feedback Gathered ✅
Example 4: Refine Requirements
User: /pm refine sg-auth-system
→ Load existing requirements and open questions
→ Dispatch product-manager (refine mode)
→ Subagent interviews to resolve questions
→ Subagent updates requirements.md
→ Report: Requirements Refined ✅
Weekly Installs
6
Repository
matthew-pluspro…monorepoFirst Seen
Jan 20, 2026
Security Audits
Installed on
opencode6
gemini-cli6
claude-code6
codex6
antigravity5
qwen-code5