# Sales Competitive

> 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.

- Skill: `djb258/sales-competitive` (Agent Skill)
- Install (CLI): `npx skillmds@latest add djb258/sales-competitive`
- Raw SKILL.md: https://api.skillmd.com/api/skills/djb258/sales-competitive/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: djb258 (https://skillmd.com/u/djb258)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/djb258/sales-competitive

---


# 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

1. **Never list a tool without evidence.** Assign Low confidence if inferred. High confidence requires job posts, integrations page, or direct confirmation.
2. **Never bias the competitive analysis.** If the incumbent is genuinely strong in an area, report it. A biased analysis fails on first prospect contact.
3. **Never minimize switching costs to inflate scores.** Five years of deep integration is a high switching cost regardless of product superiority.
4. **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."
5. **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.
6. **Never ignore the "do nothing" competitor.** Inertia is often the strongest incumbent. Account for the prospect choosing to stay with their current process.
7. **Never ignore contract timing.** A recent renewal drops switching feasibility regardless of product fit. Flag contract timing when detectable.
8. **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 |

