Cross-competitor market analysis. Combines competitive positioning map, JTBD gap analysis, whitespace/value curve, differentiation opportunities, and strategic implications into a single actionable document.
From cinpx claudepluginhub alextacho/productos --plugin competitive-intelligenceOrchestrates plugin quality evaluation: runs static analysis CLI, dispatches LLM judge subagent, computes weighted composite scores/badges (Platinum/Gold/Silver/Bronze), and actionable recommendations on weaknesses.
LLM judge that evaluates plugin skills on triggering accuracy, orchestration fitness, output quality, and scope calibration using anchored rubrics. Restricted to read-only file tools.
Accessibility expert for WCAG compliance, ARIA roles, screen reader optimization, keyboard navigation, color contrast, and inclusive design. Delegate for a11y audits, remediation, building accessible components, and inclusive UX.
Read all competitor profiles and produce a single strategic synthesis document. The goal is not to describe the market — it's to produce a clear-eyed read of where we stand, where the gaps are, and what moves are worth considering.
Work through four lenses in sequence: where everyone is positioned, what customers need that isn't being served, where the market over- and under-invests, and what that means for us. Each lens informs the next.
This is Stage 2 synthesis — it runs once across all profiles. It does not fetch any data and does not write to individual competitor profiles.
| Input | Type | Required | Notes |
|---|---|---|---|
all_profiles | markdown string[] | yes | Full content of all profiles in {workspace_root}/profiles/ |
our_product_context | string | yes | Content of {workspace_root}/{product_name}.md |
previous_synthesis | markdown string | no | Most recent {workspace_root}/syntheses/market-*.md — used to surface what changed |
run_date | string (YYYY-MM-DD) | yes | Used in output filename |
Minimum viable input: 2 competitor profiles with a populated ## Analysis — SWOT section (or equivalent analyzer output). With fewer than 3 profiles, prepend output with: "Analysis directional only — fewer than 3 competitor profiles available."
If our_product_context is empty: note that positioning-relative assessments (threat level, differentiation opportunities calibrated to us) are not possible, and produce the market analysis without them.
The file contains both product context (What We're Building, Who It's For, Differentiators, What We're Not) and positioning (Core Message). Read all sections — no separate positioning input.
Read all profiles. For each competitor extract:
leader / challenger / niche (infer from profile signals — size, brand recognition, review volume, notable customers)Produce a summary table:
| Competitor | Segment | Positioning | Stage | Data |
|------------|---------|-------------|-------|------|
Note any profiles missing ## Analysis — SWOT (or any active analyzer section) — flag reduced confidence for those competitors but include them. Also read ## Current State and ## Direction from each profile as grounding context.
Choose two axes that reveal the most meaningful differentiation in this competitive set. Good axes separate competitors clearly — avoid axes where everyone clusters in the same quadrant.
Axis selection criteria:
Place all competitors and us (if our_product_context is provided) on the map. Describe it in text since we can't render a visual:
[Axis 1 label] (low → high)
[Axis 2 label] (low → high)
| Competitor | Axis 1 | Axis 2 | Notes |
|------------|--------|--------|-------|
Then state:
Look across all profiles for jobs that customers have but competitors aren't solving well. Sources to draw from:
## Analysis — SWOT weakness bullets## Product Direction)Structure findings as:
| Job to be done | Who has this job | Coverage | Evidence |
|----------------|-----------------|----------|----------|
Coverage ratings:
well-served — multiple competitors address this wellpartially-served — addressed but with notable friction or gapsunderserved — mentioned by competitors but not genuinely solvedunserved — no competitor is competing hereJobs are customer outcomes, not product features. "Needs better roadmap views" is a feature request. "Needs to defend prioritization decisions to engineering without a 30-minute meeting" is a job.
Aim for 4–8 jobs. Only include jobs with evidence from the profiles — don't speculate.
Identify where the market converges (everyone competes, limited differentiation) and where it under-invests (low competition, potential opportunity).
Step 4a — Identify competitive factors
Extract 6–10 dimensions along which competitors are actually competing. Derive from profiles — don't use a generic list. Examples: onboarding speed, integration breadth, enterprise security, AI features, pricing model, mobile support, community/ecosystem.
Omit factors where all competitors are essentially identical — those aren't useful.
Step 4b — Score each competitor
Rate each competitor on each factor: high / medium / low based on evidence from profiles. Add us if our_product_context allows.
| Factor | [Comp A] | [Comp B] | [Comp C] | Us |
|--------|----------|----------|----------|----|
Step 4c — Read the pattern
high — crowded, hard to differentiate herelow or medium — potential blue ocean, but only if customers actually want thisFor under-invested factors, check the JTBD analysis: is there a job that maps to this factor? If yes, the gap is real. If not, it may just be a factor nobody values.
Synthesize Steps 3 and 4 into 3–5 specific opportunities. Each must be grounded in evidence — not generic strategic advice.
For each opportunity:
**[Opportunity name]**
- Unmet need / job: [what customers want that isn't being delivered]
- Who has this need: [specific segment or buyer type]
- Why the gap exists: [structural reason — not just "they haven't tried"]
- What we'd need: [what our product would need to claim this space]
- Evidence: [which profiles and which sections support this]
If our product already occupies an opportunity, note it — don't list it as a gap.
Prioritize opportunities where:
underserved or unserved (from Step 3)Produce three short, pointed lists. These should be specific enough to act on — not generic strategic advice.
Reinforce — where we have an advantage or are in uncontested space; double down Address — where a competitor's strength or move creates real risk; can't ignore Exploit — specific gaps or moments to move on now, before competitors close them
Each item: one sentence. No more than 3 per category. Fewer is better if the evidence doesn't support more.
Only include this section if previous_synthesis is provided.
Surface what shifted meaningfully since the last synthesis:
Keep this section brief — 3–6 bullet points. It feeds the brief's "what changed" section.
Write to {workspace_root}/syntheses/market-[run_date].md:
# Market Analysis — [run_date]
_[N] competitors analyzed. Data confidence: [high | medium | low] — [brief note]._
---
## Competitive Set
[Summary table from Step 1]
---
## Positioning Map
**Axes:** [Axis 1] × [Axis 2]
[Table from Step 2]
**Where the market clusters:** [statement]
**Unoccupied space:** [statement]
**Where we sit:** [statement, or omit if no product context]
---
## Jobs-to-be-Done Gaps
[Table from Step 3]
---
## Whitespace
[Factor scoring table from Step 4b]
**Red ocean (crowded):** [factors]
**Under-invested:** [factors — with note on whether customer demand exists]
---
## Differentiation Opportunities
[3–5 opportunities from Step 5, each in the structured format]
---
## Strategic Implications
**Reinforce**
- [item]
**Address**
- [item]
**Exploit**
- [item]
---
## What Changed Since Last Run
[Only if previous_synthesis provided. Omit section entirely on first run.]
- [bullet]
our_product_context is empty: omit "Where we sit", calibrate differentiation opportunities generically, note the limitation at the top.