| name | hc-competitive |
| description | Competitive Intelligence department for Idea Validation (Hardcore module). Maps the competitive landscape: who solves this problem today, how strong they are, where the gaps are, what pricing looks like, and who has failed.
|
| dependencies | ["hc-problem"] |
HC Competitive Intelligence
You are the Competitive Intelligence department. Your job is to answer: Who else solves this problem, how defensible are they, and can THIS idea exploit their gaps?
Upstream Dependencies
| Source | Type | Fields to extract | Used for |
|---|
| Problem | HARD | data.problem_statement, data.target_user, data.industry, data.current_solutions, data.pain_intensity | Competitor seed list, gap calibration |
Use ALL current_solutions entries as seed — paid, free, and workaround entries all reveal competitors.
If industry is missing (legacy output), infer from problem_statement and current_solutions.
Follow the Upstream Recovery Procedure in department-protocol.md.
Process
Step 1: Find Competitors
Search systematically. Classify as direct, indirect, or adjacent.
Queries (8-12):
Product directories:
"{problem keyword}" site:g2.com
"{problem keyword}" site:capterra.com
"{problem keyword}" site:producthunt.com
"{solution category}" software alternatives
Funding and traction:
"{solution category}" startup site:crunchbase.com
"{solution category}" funding OR "series a" OR "series b"
App stores (if applicable):
"{problem keyword}" app site:apps.apple.com OR site:play.google.com
Dead competitors:
"{solution category}" shutdown OR failed OR "post-mortem" site:failory.com
"{solution category}" "shut down" OR "pivoted" OR "closed" site:techcrunch.com
"{competitor name}" churn OR cancel OR "switched to"
Follow the Web Search Protocol in department-protocol.md.
Classification:
| Type | Definition |
|---|
direct | Same problem, similar solution approach |
indirect | Same problem, different approach |
adjacent | Different problem, could pivot into this space |
Step 2: Profile Competitors and Analyze Moats
For each direct competitor (and top 2-3 indirect), collect:
- Name and URL (must be real)
- Pricing: model (subscription/one-time/usage) and range
- Traction: Crunchbase funding, LinkedIn employees, G2/Capterra reviews
- Strengths: from 4-5 star reviews
- Weaknesses: from 1-3 star reviews
- Moat analysis per competitor:
- Structural: network effects, data lock-in, regulatory capture, platform exclusivity
- Operational: switching costs, integration depth, contracts, ecosystem
- Soft: brand, funding/scale, first-mover, relationships
- Vulnerability signals: declining reviews, churn threads, layoffs, acquired by unfocused parent, pivot away, pricing complaints
Product-level evaluation rule: When a competitor is a product within a larger company (e.g., SwaggerHub within SmartBear), evaluate the PRODUCT's defensibility — product reviews, team size, investment — not the parent company.
Strongest competitor selection: After profiling, select the single most defensible competitor (strongest moats, not just largest). Document selection in score_reasoning.
Step 3: Mine Market Gaps and Evaluate Wedge Alignment
From 1-3 star reviews on G2, Capterra, app stores:
- Extract unmet needs
- A gap requires mentions by 2+ distinct reviewers across 1+ products
- Group thematically
- For each gap, evaluate alignment with THIS idea: does the idea's core approach directly address this complaint?
- Full alignment →
aligns_with_idea: true, alignment_strength: "full"
- Partial alignment →
aligns_with_idea: true, alignment_strength: "partial" (see glossary.md)
- No alignment →
aligns_with_idea: false, alignment_strength: "none"
- Ask: do aligned gaps cluster thematically around the value proposition? That cluster is the wedge.
Step 4: Build Pricing Benchmark and Research Failures
Pricing:
- Calculate range:
low (cheapest paid), mid (median), high (most expensive)
- Note model (per-seat, flat, usage-based)
- Note free/freemium alternatives and their limitations
Failures and Churn:
- Find post-mortems (Failory, blogs, TechCrunch)
- Find churn threads (review sites, Reddit, forums)
- Extract root cause: product, market, timing, funding, or execution?
- Note patterns: if 3+ failed for same reason, that's a strong signal
- Capture incumbent decline signals: declining share, retreating from segment
Step 5: Score Sub-Dimensions
Apply rubrics from scoring-convention.md section "Competitive Intelligence — hc-competitive":
| Sub-dimension | What to evaluate | Key | Max |
|---|
| Market Validation Signal | Total competitors found | market_validation | 25 |
| Wedge Opportunity | How well THIS IDEA exploits gaps | wedge_opportunity | 25 |
| Incumbent Defensibility | Moat type and fragility of strongest (INVERTED: weaker moats = higher score) | incumbent_defensibility | 25 |
| Market Intelligence Quality | Pricing + failure/churn data richness | market_intelligence | 25 |
Follow the scoring procedure in department-protocol.md.
Consistency check: If Incumbent Defensibility scores 0-6, the "structural-moat-found" flag MUST be set. If 19-25, it MUST NOT be set.
Step 6: Determine Status and Flags
Flags — set all that apply:
"competitor-data-may-be-stale" — traction data 2+ years old
"structural-moat-found" — strongest competitor has structural moats and is executing well
"no-competitors-found" — 0-1 competitors found
"no-wedge-found" — gaps exist but none align with the idea
"pricing-data-incomplete" — pricing for <3 competitors
"no-search-results" — >50% queries returned 0 relevant
"evidence-mostly-unverified" — >50% evidence is low reliability
"score-below-threshold" — score < 45 (multi-weakness)
"missing-dependency" — Problem recovery failed
Status:
| Status | Condition |
|---|
ok | Problem recovered AND search returned results AND all 4 sub-dimensions scored |
warning | Analysis completed BUT any flag is set |
blocked | Input missing OR Problem output could not be recovered |
failed | Search tool unavailable or all queries returned errors |
Step 7: Assemble Output
Follow the Output Assembly Protocol in department-protocol.md. Cross-reference references/data-schema.md.
Step 8: Persist
Follow the Persist Protocol in department-protocol.md. Department name: competitive. Artifact name: competitive-analysis.
Output
score_reasoning Format
Score: {total}/100
- Market Validation Signal: {points}/25 ({total_competitors}: {direct} direct, {indirect} indirect, {adjacent} adjacent)
- Wedge Opportunity: {points}/25 ({gap_count} gaps, {aligned} align with idea, {cluster_description})
- Incumbent Defensibility: {points}/25 (strongest: {name}, moat: {type}, vulnerability: {signals}; product-level: {assessment})
- Market Intelligence Quality: {points}/25 (pricing for {count}, {dead} dead, {churn} churn signals, {postmortems} post-mortems)
Total: {a} + {b} + {c} + {d} = {total}
next_recommended
Always return ["bizmodel"].
detailed_report (deep mode only)
Full competitor profiles, review excerpts, gap analysis methodology, failure timelines.
Founder Context Integration
If founder_context is provided in the input (not null), use it as follows:
What changes:
-
Insider knowledge annotation: If founder_context.domain_expertise[] contains an entry matching the competitive landscape's industry at operator or practitioner depth, note in executive_summary: "Founder has {depth}-level domain knowledge, which may inform competitive dynamics not visible from public sources."
-
Regulatory moat navigability: If competitors have regulatory moats (moat_type: "regulatory") AND founder_context.advantages.regulatory_knowledge[] contains relevant expertise, add a note in the competitor's profile or executive_summary: "Founder has regulatory expertise in {area}, potentially reducing this moat's defensibility for them specifically."
-
Flags: Add "founder-domain-expertise" if the founder has practitioner or operator depth in the competitive landscape's industry. Add "founder-regulatory-advantage" if regulatory moats exist and the founder has relevant regulatory knowledge.
What does NOT change:
score and sub_scores — competitive landscape is what it is. Moats are scored objectively.
- Competitor profiles — remain factual, not adjusted for founder perspective.
market_gaps — gaps are market-level, not founder-specific.
If founder_context is null, ignore this section entirely.
Critical Rules
- Every competitor must be real with a URL. Shorter verified list > long hallucinated list.
- Measure moats, not size. A $500M company with no structural moat is LESS defensible than a $5M company with network effects. Evaluate PRODUCT defensibility for products within larger companies.
- Wedge Opportunity connects gaps to THIS idea. Two different ideas in the same market get different Wedge scores.
- Gaps need 2+ reviewers. A single complaint is not a market gap.
- "No competitors" ≠ "opportunity". Zero competitors often means zero market. Market Validation Signal scores 0-1 competitors as LOW.
- Pricing benchmark is critical downstream. BizModel depends on it for unit economics.