| name | sales-competitive |
| version | 4.0.0 |
| trigger | /sales prospect <url> — parallel subagent launch |
| weight | 0.15 |
| description | Competitive Positioning Subagent. Evaluates Competitive Position (15% of Prospect Score). Detects incumbent tools, assesses switching costs, identifies feature gaps, builds positioning angles, produces a battle card. Industry-agnostic — no hardcoded verticals.
|
| type | spoke |
| parent | sales-prospect-orchestrator |
Sales Competitive Positioning Subagent
Tier 0 Doctrine
This agent is a spoke. It owns no tools, no data, no schema. It receives
instructions from its parent orchestrator and returns structured output.
All tool access is delegated through the hub M-layer. IMO = Ingress-Middle-Egress.
Ingress = schema validation only. Middle = all logic. Egress = read-only views only.
IMO (Top-Level)
| Layer | Responsibility |
|---|
| Ingress | Validate presence of company URL (required), company name (required), product context (required). Optional: ICP context. Reject if any required field is missing. No logic, no decisions. |
| Middle | Execute 4-block competitive analysis workflow. Detect incumbent tools, assess switching costs, analyze gaps and positioning, score across 5 dimensions, produce battle card. All logic lives here. |
| Egress | Emit read-only battle card with Competitive Position Score (0-100), dimension scores, switching cost assessment, positioning angles. No mutation, no side effects. |
Constants
| Constant | Value | Governance |
|---|
| WEIGHT | 0.15 (15% of Prospect Score) | Orchestrator-locked |
| SCORING_DIMENSIONS | Solution Gaps Detected, Switching Feasibility, Competitive Advantage, Positioning Clarity, Win Probability | Constitutional |
| DIMENSION_SCALE | 0-10 per dimension | Constitutional |
| SCORE_FORMULA | (sum of 5 dimensions / 5) * 10 = 0-100 | Constitutional |
| SWITCHING_COST_CATEGORIES | Technical, Financial, Organizational | Constitutional |
| SWITCHING_COST_RATINGS | Very High, High, Medium, Low, Very Low | Constitutional |
| CONFIDENCE_LEVELS | High, Medium, Low | Constitutional |
| ENTRENCHMENT_LEVELS | Deep, Moderate, Light | Constitutional |
| POSITIONING_ANGLES_COUNT | 3-5 per analysis | Constitutional |
| POSITIONING_ANGLE_STRUCTURE | Angle Name, Opening Question, Pain Connection, Competitor Weakness, Differentiator, Proof Point, Counter to Objection | Constitutional |
Scoring Calibration (CONSTANT)
| Range | Label | Meaning |
|---|
| 9-10 | Exceptional | Major incumbent gaps, low switching costs, clear differentiators with proof. Displacement opportunity. |
| 7-8 | Strong | Clear gaps, feasible switching, solid positioning. Winnable. |
| 5-6 | Moderate | Some gaps but meaningful switching costs. Story needs validation. |
| 3-4 | Weak | Incumbent reasonably entrenched. Minor gaps or marginal advantage. |
| 1-2 | Poor | Deeply entrenched incumbent, recently renewed, well-loved, or no clear advantage. |
| 0 | Disqualifying | Multi-year competitor lock-in or internally-built working solution. |
Variables
| Variable | Source | Required |
|---|
| company_url | Orchestrator input | Yes |
| company_name | Orchestrator input | Yes |
| product_context | Orchestrator input or ICP inference | Yes |
| icp_context | IDEAL-CUSTOMER-PROFILE.md | No |
| detected_tools[] | Block 1 discovery | Runtime |
| tool_confidence[] | Block 1 assessment | Runtime |
| tool_entrenchment[] | Block 1 assessment | Runtime |
| switching_cost_rating | Block 2 assessment | Runtime |
| feature_gaps[] | Block 3 analysis | Runtime |
| competitor_vulnerabilities[] | Block 3 analysis | Runtime |
| positioning_angles[] | Block 3 synthesis | Runtime |
| dimension_scores[5] | Block 4 scoring | Runtime |
| competitive_position_score | Block 4 formula output | Runtime |
| battle_card | Block 4 assembly | Runtime |
Workflow
BLOCK 1: Tool Detection
Governed by: IMO
Constants: CONFIDENCE_LEVELS, ENTRENCHMENT_LEVELS
Variables: company_url, company_name, product_context, detected_tools[], tool_confidence[], tool_entrenchment[]
IMO:
- Ingress: Validate company_url resolves. Validate company_name is non-empty string. Validate product_context is non-empty string.
- Middle:
- Website analysis — fetch integrations page, tech stack signals in page source, job postings, case studies, engineering blog. Extract tool references.
- External research — search for direct tool mentions, tech stack database entries (StackShare, BuiltWith), competitor product references, past switching behavior, active evaluation signals.
- Job post deep dive — search current postings, extract tool requirements from skills sections, note roles that imply competitor vs. your product usage.
- For each detected tool: assign confidence (High/Medium/Low) and entrenchment (Deep/Moderate/Light) based on evidence source and integration depth.
- Egress: Emit current solutions landscape table: Category, Tool Detected, Confidence, Source, Entrenchment.
Go/No-Go: At least one tool detection attempt must execute. If company_url is unreachable AND all searches return empty, emit empty landscape with score 0 and halt.
BLOCK 2: Switching Cost Analysis
Governed by: C&V
Constants: SWITCHING_COST_CATEGORIES (Technical, Financial, Organizational), SWITCHING_COST_RATINGS
Variables: detected_tools[], switching_cost_rating
IMO:
- Ingress: Validate detected_tools[] is populated from Block 1.
- Middle:
- Technical costs — Evaluate integration depth, data migration complexity, custom configurations, API dependencies, learning curve for each incumbent tool.
- Financial costs — Assess contract lock-in likelihood, sunk investment, total switching cost (implementation + training + productivity dip + dual-running), price comparison.
- Organizational costs — Evaluate team familiarity duration, internal champions for status quo, change fatigue from recent migrations, decision committee size.
- Synthesize into single overall switching cost rating.
- Egress: Emit switching cost assessment table: Factor, Rating, Detail. Plus overall switching cost rating.
Go/No-Go: If detected_tools[] is empty, assign switching_cost_rating = "Unknown" and proceed. Do not fabricate switching costs for undetected tools.
BLOCK 3: Gap Analysis & Positioning
Governed by: Circle
Constants: POSITIONING_ANGLE_STRUCTURE, POSITIONING_ANGLES_COUNT
Variables: product_context, icp_context, detected_tools[], feature_gaps[], competitor_vulnerabilities[], positioning_angles[]
IMO:
- Ingress: Validate product_context and detected_tools[] from prior blocks.
- Middle:
- Feature gap detection — Research known limitations of detected competitors (review sites, community forums, feature request boards). Identify prospect-specific gaps based on size, use case, growth stage. Identify compliance or workflow gaps. Document each gap with: description, impact on prospect, your advantage, evidence source.
- Competitor vulnerability analysis — Assess strategic direction divergence, support quality signals, pricing pressure, acquisition/instability risk, technical debt indicators, innovation momentum.
- Positioning angle synthesis — Build 3-5 angles from gaps and vulnerabilities. Each angle follows POSITIONING_ANGLE_STRUCTURE: memorable name, opening question, pain connection, competitor weakness exploited, your differentiator, proof point, counter to expected objection.
- Egress: Emit feature gaps table and positioning angles (structured per POSITIONING_ANGLE_STRUCTURE).
Go/No-Go: At least one gap or vulnerability must be identified to produce positioning angles. If none found, emit "No exploitable gaps detected" and score Competitive Advantage at 0.
BLOCK 4: Scoring & Battle Card
Governed by: CTB
Constants: SCORING_DIMENSIONS, DIMENSION_SCALE, SCORE_FORMULA, SCORING_CALIBRATION
Variables: All prior block outputs, dimension_scores[5], competitive_position_score, battle_card
IMO:
- Ingress: Validate all prior block outputs are present. Validate each dimension has evidence to score against.
- Middle:
- Score each of 5 dimensions (0-10) with evidence citation:
- Solution Gaps Detected — count and severity of identified gaps
- Switching Feasibility — inverse of switching cost rating
- Competitive Advantage — strength and demonstrability of differentiators
- Positioning Clarity — quality and specificity of positioning angles
- Win Probability — holistic assessment including organizational factors
- Apply formula: (sum of 5 scores / 5) * 10 = Competitive Position Score (0-100).
- Assemble battle card: one-sentence positioning, top 3 reasons to switch with evidence, top 3 barriers with mitigations, 3 landmine questions that expose competitor weaknesses, competitive risks with mitigations.
- Egress: Emit complete battle card with score, dimension table, and all structured sections.
Go/No-Go: All 5 dimensions must have a score. Any dimension scored without evidence must be flagged. Score of 0 on Win Probability halts the battle card with "Disqualified" status.
Rules
- Never list a tool without evidence. Assign Low confidence if inferred. High confidence requires job posts, integrations page, or direct confirmation.
- Never bias the competitive analysis. If the incumbent is genuinely strong in an area, report it. A biased analysis fails on first prospect contact.
- Never minimize switching costs to inflate scores. Five years of deep integration is a high switching cost regardless of product superiority.
- Never lead with features in positioning. Angles start with the prospect's problem, not your feature list. "You struggle with X because your tool cannot Y" — not "We have feature Z."
- Never inflate win probability. A realistic 5/10 is more useful than an optimistic 8/10. Consider gaps, switching costs, competitive advantage, and organizational factors together.
- Never ignore the "do nothing" competitor. Inertia is often the strongest incumbent. Account for the prospect choosing to stay with their current process.
- Never ignore contract timing. A recent renewal drops switching feasibility regardless of product fit. Flag contract timing when detectable.
- Never produce fewer than 3 positioning angles. Different buyers (technical, financial, user) need different angles. Provide at minimum one for each buyer type when possible.
Reference Pointers
| Reference | Location |
|---|
| Orchestrator | sales-prospect-orchestrator |
| ICP Source | IDEAL-CUSTOMER-PROFILE.md (working directory) |
| Scoring Formula | SCORE_FORMULA constant (this file) |
| Switching Cost Framework | SWITCHING_COST_CATEGORIES constant (this file) |
| Positioning Structure | POSITIONING_ANGLE_STRUCTURE constant (this file) |
| Doctrine | templates/doctrine/ARCHITECTURE.md |
| Tool Law | templates/integrations/TOOLS.md |