This skill should be used when the user asks to "analyze my product", "research competitors", "find feature gaps", "create feature request", "prioritize backlog", "generate PRD", "plan roadmap", "what should we build next", "competitive analysis", "gap analysis", "sync issues", or mentions product management workflows. Provides AI-native PM capabilities for startups with signal-based feature tracking, the WINNING prioritization filter, and GitHub Issues integration with deduplication.
/plugin marketplace add ooiyeefei/ccc/plugin install product-management@cccThis skill inherits all available tools. When active, it can use any tool Claude has access to.
examples/competitor-profile.mdexamples/gap-analysis.mdreferences/data-structure.mdreferences/github-labels.mdreferences/issue-template.mdreferences/winning-filter.mdAI-native product management for startups. Transform Claude into an expert PM that processes signals, not just feature lists.
WINNING = Pain × Timing × Execution Capability
Filter aggressively from 50 gaps to 3-5 high-conviction priorities. Expert PMs track signals with confidence scores, timestamps, and velocity.
| Command | Purpose |
|---|---|
/pm:analyze | Scan codebase + interview for product inventory |
/pm:landscape | Research competitor landscape |
/pm:gaps | Run gap analysis with WINNING filter |
/pm:file | Batch create GitHub Issues for approved gaps |
/pm:prd | Generate PRD and create GitHub Issue |
/pm:sync | Sync local cache with GitHub Issues |
This plugin provides specialized agents for autonomous tasks:
| Agent | Triggers On | Purpose |
|---|---|---|
research-agent | "research [competitor]", "scout [name]" | Deep autonomous web research |
gap-analyst | "find gaps", "what should we build" | Systematic gap identification with scoring |
prd-generator | "create PRD for [feature]" | Generate PRD + create GitHub Issue |
All data stored in .pm/ folder at project root:
.pm/
├── config.md # Positioning, scoring weights
├── product/ # Product inventory, architecture
├── competitors/ # Competitor profiles
├── gaps/ # Gap analyses with scores
├── requests/ # Synced GitHub Issues (for dedup)
├── prds/ # Generated PRDs
└── cache/last-updated.json # Staleness tracking
See references/data-structure.md for complete file templates.
Hybrid scoring approach - Claude suggests researchable criteria, user scores domain-specific:
| Criterion | Scorer | Source |
|---|---|---|
| Pain Intensity (1-10) | Claude | Review sentiment, support data |
| Market Timing (1-10) | Claude | Search trends, competitor velocity |
| Execution Capability (1-10) | User | Architecture fit, team skills |
| Strategic Fit (1-10) | User | Positioning alignment |
| Revenue Potential (1-10) | User | Conversion/retention impact |
| Competitive Moat (1-10) | User | Defensibility once built |
Total: X/60 → Recommendation:
See references/winning-filter.md for detailed scoring criteria.
Prevent duplicate feature requests by syncing with GitHub Issues:
.pm/cache/last-updated.json for staleness/pm:sync/pm:sync Processpm:* labels via gh issue list --json.pm/requests/[issue-number].md for each issuelast-updated.json timestamp.pm/requests/| Gap | WINNING | Status | Match |
|-----|---------|--------|-------|
| OAuth support | 47/60 | EXISTING | #42 (95%) |
| Dark mode | 38/60 | NEW | - |
/pm:analyze).pm/product//pm:landscape, /pm:scout [name]).pm/competitors//pm:gaps).pm/gaps/[date]-analysis.md/pm:review, /pm:file)/pm:review - Walk through gaps, decide FILE/WAIT/SKIP/pm:file - Create GitHub Issues for approved gaps (skips duplicates)pm:feature-request, winning:*, priority:*/pm:prd [feature]).pm/prds/[slug].md/pm:backlog, /pm:roadmap)pm: labelspm:feature-request pm:gap-identified pm:competitor-intel
priority:now priority:next priority:later
winning:high (40+) winning:medium (25-39) winning:low (<25)
gh) installed and authenticatedgh auth status to verifySee references/github-labels.md for label definitions.
See references/issue-template.md for issue format.
This plugin handles WHAT to build and WHY (product discovery). For HOW to build it, use spec-kit:
PM Plugin → GitHub Issue → spec-kit
/pm:file Creates issue /speckit.specify
/pm:prd Creates issue /speckit.plan → /speckit.implement
The GitHub Issue IS the handoff—no separate command needed.
PM data ages. Handle proactively:
/pm:sync on session start⚠️ Competitor data is 45 days old. Run `/pm:landscape` to refresh.
references/winning-filter.md - Detailed WINNING scoring criteriareferences/github-labels.md - Label definitions and colorsreferences/issue-template.md - GitHub Issue templatereferences/data-structure.md - Complete .pm/ folder structureexamples/gap-analysis.md - Sample gap analysis outputexamples/competitor-profile.md - Sample competitor profile