plugins/pm/skills/competitor-analysis/SKILL.md
Deep competitive analysis + ongoing monitoring. Checks user research for competitor mentions, sales notes, existing analysis. Integrates with retention-analysis and user-research-synthesis.
npx skillsauth add coalesce-labs/catalyst competitor-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Two modes: Deep Analysis (comprehensive one-time research) + Ongoing Monitoring (weekly/monthly tracking)
Example: "Analyze Competitor X -- we're losing enterprise deals to them"
Output: thoughts/shared/pm/analyses/competitor-analysis-[name]-[date].md
Time: Deep Analysis: 2-4 hours | Monitoring: 30 min/month
Automatic Context Checks: When this skill is invoked, immediately check:
| Source | Files/Folders | Search Terms | What to Extract |
| ----------------- | ---------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------- |
| User Research | thoughts/shared/pm/*.md | competitor name, "switched to", "chose", "vs [competitor]", "competitor" | Customer quotes, pain points, feature comparisons |
| Existing Analysis | thoughts/shared/pm/analyses/competitive-*.md | competitor name | Past findings, dates, trends, avoid duplication |
| Meeting Notes | thoughts/shared/product/meeting-notes/*.md | competitor name, "lost deal", "churn", sales, CS | Sales losses, CS feedback, win/loss patterns |
| PRDs | thoughts/shared/pm/prds/*.md | competitor name, "competitive", "positioning" | Feature decisions, positioning rationale |
| Strategy | thoughts/shared/pm/frameworks/*.md | competitor name, "positioning", "differentiation" | Strategic context, counter-positioning |
| Metrics | thoughts/shared/pm/metrics/*.md | "churn", "retention", competitor name | Churn to competitors, competitive benchmarks |
Context Priority:
Cross-Skill Links:
retention-analysisuser-research-synthesiswrite-prod-strategyBefore diving into research, let me check what competitive intelligence already exists in your workspace...
Checking:
thoughts/shared/pm/ for user interviews mentioning competitorsthoughts/shared/pm/analyses/competitive-*.md for past competitive analysisthoughts/shared/product/meeting-notes/ for sales/CS notes with competitive intelthoughts/shared/pm/prds/ for competitive positioning decisionsthoughts/shared/pm/frameworks/ for strategic contextthoughts/shared/pm/metrics/ for churn data[If analytics MCP connected]: "Let me also query [PostHog/PostHog] for churn patterns and competitor-related data."
Based on what I find, I'll show you:
From User Research:
From Sales/CS Meetings:
From Existing Analysis:
From PRDs:
From Strategy Docs:
From Metrics/Analytics:
Based on internal context, we don't yet know:
Should I fill these gaps with web research, or do you want to provide additional context first?
Based on your objective and existing context:
Use when:
What I'll do:
Time: 2-4 hours (depending on number of competitors)
Output: Comprehensive report saved to thoughts/shared/pm/analyses/competitor-analysis-[date].md
Use when:
What I'll do:
Time: 30 minutes/month
Output: Updates saved to thoughts/shared/pm/analyses/competitive-intel-[month].md
Instead of generic "Who are your competitors?", I'll ask:
"Which competitors appear most frequently in your user research or churn interviews?"
This tells me who actually threatens your business (not just who you think competes with you).
"Where do competitors win with your target customer segment?"
Focus on specific segments, not broad "they have more features."
Examples:
"What do churned customers say about why they picked competitors?"
Pull from actual customer interviews, not assumptions.
"Where does Competitor X have stronger distribution/presence?"
Examples:
"What customer segments are you losing to specific competitors?"
Be specific: "Enterprise healthcare" not "big companies"
Once I understand the competitive landscape from internal intel + your answers:
I'll create a report showing:
What We Already Know:
What We Don't Know:
For each gap, I'll guide you through:
## Competitor: [Name]
### Strengths
- [What they do exceptionally well]
- [Their sustainable advantages]
- **Example from your data:** "User Interview 2024-08-15: 'Their onboarding is 10x faster'"
### Weaknesses
- [Where they consistently fall short]
- [Common customer complaints]
- **Example from your data:** "G2 reviews: 70% mention poor customer support"
### Opportunities (for us)
- [Gaps we can exploit]
- **Example:** "30% of their users want Feature X but they don't offer it"
### Threats (from them)
- [What they could do to hurt us]
- **Example:** "Partnership with Salesforce could lock us out of enterprise"
I'll create a 2x2 visualization:
Complexity (Simple → Enterprise)
│
You │ Competitor A
│
────────┼──────────── Price (Low → High)
│
Comp B│ Competitor C
│
Your opportunity: [Identify white space]
| Feature | Your Product | Comp A | Comp B | Analysis |
| ---------------- | ------------ | ---------- | ------ | ----------------- |
| [Core Feature 1] | ✅ | ✅ | ✅ | Table stakes |
| [Your Advantage] | ✅ | ⚠️ Limited | ❌ | Differentiator |
| [Gap] | ❌ | ✅ | ✅ | Consider building |
**Legend:**
- ✅ Full support
- ⚠️ Limited/beta
- ❌ Not available
I'll categorize insights into 3 buckets:
**Feature:** [What to build]
**Why:** Competitor has it, customers expect it, blocking deals
**User Story:** "As a [user], I want [feature] so that [outcome]"
**Priority:** High
**Effort:** [Estimate]
**Link to PRD:** [If exists]
**Opportunity:** [Competitor weakness from customer complaints]
**Our Advantage:** [How we can do it better]
**Impact:** [Market share we can capture]
**Evidence:** [Quote from user research or reviews]
**Gap:** [What no competitor is doing]
**Hypothesis:** [Why customers would care]
**Risk:** [Why no one else has done this]
**Validation Plan:** [How to test before building]
**For:** [Target customer]
**Who:** [Their pain or need]
**Our product is a:** [Category]
**That:** [Key benefit]
**Unlike:** [Main competitor]
**We:** [Key differentiator]
Based on competitive benchmarks:
Instead of complex Make.com automation, I'll help you set up:
Week 1 of Month:
Search User Feedback
Sales Team Intel
Web Monitoring
Update Tracking
Output Format:
# Competitive Intel: [Month YYYY]
## Summary
- [1-2 sentence summary of significant changes]
## Competitor Updates
### Competitor A
- **Product:** [New features or changes]
- **Pricing:** [Any changes]
- **Strategic Moves:** [Partnerships, funding, hires]
- **Customer Mentions:** [Quotes from your research]
### Competitor B
[Same structure]
## Implications for Our Roadmap
- **Defensive:** [Gaps we need to close]
- **Offensive:** [Weaknesses we can exploit]
- **Monitoring:** [Things to watch]
## Action Items
- [ ] [Action 1 with owner]
- [ ] [Action 2 with owner]
Save to: thoughts/shared/pm/analyses/competitive-intel-[month].md
I can help you set up:
Deep Analysis:
thoughts/shared/pm/analyses/competitor-analysis-[name]-[date].mdOngoing Monitoring:
thoughts/shared/pm/analyses/competitive-intel-[month].mdAfter completing analysis:
/slack-message)Feeds into:
/prd-draft - Auto-populate "Market Context" and "Alternatives Considered"/write-prod-strategy - Inform competitive positioning and differentiation/retention-analysis - Understand churn to competitors/user-research-synthesis - Reference competitive mentions in interviewsPulls from:
/user-research-synthesis - Uses existing research themes/retention-analysis - Churn patterns and reasons/feature-results - Which features helped us competeWhen performing competitive research to fill gaps not covered by internal intel, follow this systematic approach:
Check company website for recent announcements, pricing changes, and feature updates. Look at their homepage messaging, pricing page, changelog/release notes, and blog.
Search for recent product updates. Query: "[competitor] product updates [current quarter]" and "[competitor] new features [current year]". Focus on the last 90 days for freshness.
Check G2/Capterra for recent reviews mentioning new features. Sort by "most recent" and look for patterns in what users praise or complain about. Extract specific quotes.
Search LinkedIn for competitor PM/engineering job postings. Job postings reveal strategic direction -- if they are hiring ML engineers, they are building AI features. If they are hiring enterprise sales reps, they are moving upmarket. Query: "[competitor] site:linkedin.com/jobs"
Check their changelog/blog for release notes. Most SaaS companies publish release notes. This gives you a timeline of what they shipped and how fast they are moving.
Search for funding, partnerships, and acquisitions. Query: "[competitor] funding [current year]" or "[competitor] partnership". These signals indicate where they are investing.
For every competitive claim, document the source with a date:
**Claim:** Competitor X launched AI-powered search in Q4 2025
**Source:** Competitor X blog post (https://example.com/blog/ai-search)
**Date verified:** 2026-02-05
**Confidence:** High (primary source)
Confidence levels:
Always prefer high-confidence sources. Flag low-confidence claims explicitly so the PM can decide how much weight to give them.
Bad: Immediately Googling competitors without checking internal intel Good: Starting with "What do our churned customers say?" from actual interviews
Bad: "Competitor A has 47 features, we have 35" Good: "Competitor A's complexity is their weakness—30% of reviews complain about onboarding. Our opportunity is simplicity."
Bad: Only tracking direct competitors Good: Watching for adjacent players who could pivot (like design tool launching FigJam to compete with Miro)
Bad: Beautiful analysis that lives in a deck, never updated Good: Living document feeding into monthly roadmap discussions
Bad: Only using public data Good: Creating feedback loops with sales/CS teams who hear competitor intel daily
Don't just list features. Understand:
Facts: "Competitor raised $50M Series C" Signals: "With $50M, they'll likely expand to enterprise (based on hiring pattern) and build mobile app (top feature request in their reviews)"
Bad: "We need video calling because Competitor has it" Good: "Users hire products to collaborate async across timezones. Video calling is one solution, but async video or threaded conversations might be better for our segment."
Create positioning maps, feature matrices, and timelines. Visuals make patterns obvious and are easier to share with stakeholders.
Don't spend all your time playing catch-up.
Remember: The best competitive analysis isn't the most comprehensive—it's the one that shows what you already know internally, identifies the real gaps, and drives clear decisions about what to build next.
Before delivering a competitive analysis, verify:
If any check fails, fix it before delivering. The best competitive analysis drives clear decisions, not just awareness.
This skill automatically checks your workspace first, references related skills, and only suggests web research for actual gaps. It works like a real PM connecting dots across research, meetings, and metrics.
testing
Phase-agent that fixes a failing verify verdict so the pipeline self-heals instead of stalling to needs-human (CTL-653). Reads `${ORCH_DIR}/workers/<ticket>/verify.json`, fixes the `findings[]` (every severity:"high" plus the regression_risk drivers) directly via Edit/Write, commits the remediation, and emits `phase.remediate.complete.<ticket>`. The scheduler's router then re-dispatches `verify` to re-check (the verify⇄remediate cycle, cap 3). Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.
development
Phase agent for the verify step of the 9-phase orchestrator pipeline (CTL-450). NEW skill — has no canonical wrapper. Runs read-only adversarial verification against the implement-phase diff: tsc, tests, lint, security scan, reward-hacking scan, code review, test coverage, silent-failure hunt. Writes ${ORCH_DIR}/workers/<TICKET>/verify.json then emits phase.verify.complete.<ticket>. Reads phase-implement.json as its prior-phase artifact. NEVER writes application code — only test files allowed. Spawned via phase-agent-dispatch via slash command — hence `user-invocable: true`.
tools
--- name: phase-triage description: Phase agent that triages a Linear ticket — expands acronyms, classifies (feature/bug/docs/refactor/chore), identifies dependencies, estimates scope, writes triage.json, and posts a triage analysis comment to Linear. Triage completion is signaled by that comment plus the local triage.json — there is no `triaged` label. Emits phase.triage.complete.<TICKET> on success and phase.triage.failed.<TICKET> on error. Dispatched by the phase-agent orchestrator (CTL-452)
testing
Phase agent for the review step of the 9-phase orchestrator pipeline (CTL-450). Wraps the /review skill (gstack) — explicitly skips /ultrareview per user decision. Reads verify.json from the prior phase, runs /review against the diff, writes ${ORCH_DIR}/workers/<TICKET>/review.json, and creates a remediation commit for any HIGH-severity finding that has a deterministic fix. Emits phase.review.complete.<ticket>. Spawned via phase-agent-dispatch via slash command — hence `user-invocable: true`.