/prd-v03-moat-definition
Assess competitor defensibility and define our own moat strategy during PRD v0.3 Commercial Model. Triggers on requests to analyze competitor moats, define our defensibility, assess switching costs, identify vulnerabilities, find wedge opportunities, or when user asks "what's
$ npx -y skills add mattgierhart/PRD-driven-context-engineering --skill prd-v03-moat-definition --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/prd-v03-moat-definition
Context preview
The summary Claude sees to decide when to auto-load this skill.
Assess competitor defensibility and define our own moat strategy during PRD v0.3 Commercial Model. Triggers on requests to analyze competitor moats, define our defensibility, assess switching costs, identify vulnerabilities, find wedge opportunities, or when user asks "what's
SKILL.md
prd-v03-moat-definition.SKILL.mdname: prd-v03-moat-definition
description: Assess competitor defensibility and define our own moat strategy during PRD v0.3 Commercial Model. Triggers on requests to analyze competitor moats, define our defensibility, assess switching costs, identify vulnerabilities, find wedge opportunities, or when user asks "what's our moat?", "how defensible are they?", "where can we compete?", "switching costs?", "defensibility", "who to target". Consumes Competitive Landscape (v0.2) CFD- entries. Outputs CFD- entries for competitor moats and BR- entries for targeting rules and our defensibility strategy.
context: fork
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- WebSearch
- WebFetch
Moat Definition
Position in HORIZON workflow: v0.2 Competitive Landscape → **v0.3 Moat Definition** → v0.3 Pricing Model Selection
Consumes
This skill requires prior work from v0.2:
- **Landscape map artifact** (from Competitive Landscape Mapping) — Current behavior documentation, feature matrix, competitor analysis
- **CFD-\* entries** (competitive intelligence, from Competitive Landscape Mapping) — Documented competitors with pricing, features, user feedback
- **BR-\* product type entry** (from Product Type Classification) — Classification constrains which competitors are relevant to analyze
This skill assumes v0.2 analysis is complete with documented competitors.
Produces
This skill creates/updates:
- **CFD-\* entries** (competitor moat analysis) — Assessment of each competitor's defensibility by moat type
- **BR-\* entries** (targeting rules) — Constraints derived from moat analysis, defining where to compete vs. avoid
- **Moat strength inventory artifact** — Summary of competitor moats with vulnerability signals
All CFD moat analysis entries should include:
- `confidence: 2-3/5` (based on public evidence + user interviews about switching friction)
- Evidence source (pricing pages, reviews, customer interviews)
- Forward target: "Would move to 4/5 if we interview 5+ current/former customers about switching costs"
Example moat analysis entry:
CFD-055: Competitor Moat Analysis — Notion
Competitor: Notion
Primary Moat Type: Switching Costs (data lock-in)
Moat Strength Tier: Strong
Confidence: 3/5 (source: public-research + 2-user-interviews)
Date: 2026-02-01
Switching Cost Quantification:
- Financial: Multi-year contract, no early termination ($0 direct cost)
- Time/Effort: 20+ hours migration, team retraining
- Data Migration: Proprietary database format (complex export)
- Workflow Retraining: Unique templates, team habits
- Integration Rework: Deep Slack/GitHub dependencies
Total Switching Cost: $3K in labor + 20 hours = Material friction
Moat Verdict: Strong — switching costs >$3K + meaningful time investment
Vulnerability Signal: SMB segment with small teams; they use <20% of feature set (opportunity for simpler tool)
Targeting Decision: Avoid direct competition. Wedge in SMB with simplified, cheaper offering.
Evidence:
- CFD-042 (landscape): Reviews show enterprise love; SMB complaints focus on cost + complexity
- CFD-015 (value hypothesis): SMB would save $12,500/year with simpler tool
Next Target: "Would move to 4/5 if we interview 5+ SMB teams about exact switching cost dollars"
Moat Type Taxonomy
Every moat falls into one of six types. Identify primary + secondary moats per competitor:
| Moat Type | Definition | Strong When | Weak When | |-----------|------------|-------------|-----------| | **Switching Costs** | Friction to leave (data, workflow, contracts) | Multi-year data, deep integrations | Easy export, monthly contracts | | **Network Effects** | Value increases with users | Two-sided marketplace, content platform | Single-player tool, linear value | | **Data/IP** | Proprietary data or algorithms | Unique training data, patents | Commodity ML, public datasets | | **Brand/Trust** | Recognition, credibility | Regulated industry, high-risk decisions | Low-stakes, undifferentiated | | **Scale/Cost** | Volume economics | Infrastructure-heavy, marginal cost near zero | Labor-intensive, linear cost | | **Regulatory** | Compliance barriers | Certifications required, government contracts | No compliance requirements |
**For micro-SaaS**: Switching costs and brand/trust matter most. Network effects and scale rarely apply.
Moat Strength Tiers
Rate each competitor's defensibility:
| Tier | Criteria | Evidence Signals | Targeting Implication | |------|----------|------------------|----------------------| | **Impenetrable** | Multi-layered moat, 10+ years data lock-in | "Would take years to switch" | Avoid direct competition | | **Strong** | Significant switching friction, 1-2 year contracts | High NPS + low churn despite complaints | Target underserved segments only | | **Moderate** | Some friction, workarounds exist | Churn 5-10%, export options | Wedge opportunity exists | | **Weak** | Easy to replace, commodity offering | Monthly plans, high churn, price shopping | Direct competition viable | | **Eroding** | Former strength declining | New alternatives gaining share | Aggressive targeting |
**Gate rule**: Don't compete where incumbent has Impenetrable or Strong moat unless targeting segment they explicitly ignore.
Switching Cost Inventory
Quantify ALL switching costs — the sum determines moat strength:
| Cost Type | High Impact | Low Impact | How to Assess | |-----------|-------------|------------|---------------| | **Financial** | >6mo contract, early termination fees | Monthly billing, no penalty | Check pricing page terms | | **Time/Effort** | 40+ hr migration, retraining | <4 hr setup, familiar UX | Trial the competitor | | **Data Migration** | Proprietary format, no export | Standard export (CSV, API) | Test export function | | **Workflow Retraining** | Unique methodology, team habits | Standard patterns | Read onboarding docs | | **Integration Rework** | Deep API dependencies | Standalone tool | Map their
Read more
name: prd-v03-moat-definition description: Assess competitor defensibility and define our own moat strategy during PRD v0.3 Commercial Model. Triggers on requests to analyze competitor moats, define our defensibility, assess switching costs, identify vulnerabilities, find wedge opportunities, or when user asks "what's our moat?", "how defensible are they?", "where can we compete?", "switching costs?", "defensibility", "who to target". Consumes Competitive Landscape (v0.2) CFD- entries. Outputs CFD- entries for competitor moats and BR- entries for targeting rules and our defensibility strategy. context: fork allowed-tools: - Read - Write - Edit - Glob - Grep - WebSearch - WebFetch
Moat Definition
Position in HORIZON workflow: v0.2 Competitive Landscape → **v0.3 Moat Definition** → v0.3 Pricing Model Selection
Consumes
This skill requires prior work from v0.2:
- **Landscape map artifact** (from Competitive Landscape Mapping) — Current behavior documentation, feature matrix, competitor analysis
- **CFD-\* entries** (competitive intelligence, from Competitive Landscape Mapping) — Documented competitors with pricing, features, user feedback
- **BR-\* product type entry** (from Product Type Classification) — Classification constrains which competitors are relevant to analyze
This skill assumes v0.2 analysis is complete with documented competitors.
Produces
This skill creates/updates:
- **CFD-\* entries** (competitor moat analysis) — Assessment of each competitor's defensibility by moat type
- **BR-\* entries** (targeting rules) — Constraints derived from moat analysis, defining where to compete vs. avoid
- **Moat strength inventory artifact** — Summary of competitor moats with vulnerability signals
All CFD moat analysis entries should include:
- `confidence: 2-3/5` (based on public evidence + user interviews about switching friction)
- Evidence source (pricing pages, reviews, customer interviews)
- Forward target: "Would move to 4/5 if we interview 5+ current/former customers about switching costs"
Example moat analysis entry:
CFD-055: Competitor Moat Analysis — Notion Competitor: Notion Primary Moat Type: Switching Costs (data lock-in) Moat Strength Tier: Strong Confidence: 3/5 (source: public-research + 2-user-interviews) Date: 2026-02-01 Switching Cost Quantification: - Financial: Multi-year contract, no early termination ($0 direct cost) - Time/Effort: 20+ hours migration, team retraining - Data Migration: Proprietary database format (complex export) - Workflow Retraining: Unique templates, team habits - Integration Rework: Deep Slack/GitHub dependencies Total Switching Cost: $3K in labor + 20 hours = Material friction Moat Verdict: Strong — switching costs >$3K + meaningful time investment Vulnerability Signal: SMB segment with small teams; they use <20% of feature set (opportunity for simpler tool) Targeting Decision: Avoid direct competition. Wedge in SMB with simplified, cheaper offering. Evidence: - CFD-042 (landscape): Reviews show enterprise love; SMB complaints focus on cost + complexity - CFD-015 (value hypothesis): SMB would save $12,500/year with simpler tool Next Target: "Would move to 4/5 if we interview 5+ SMB teams about exact switching cost dollars"
Moat Type Taxonomy
Every moat falls into one of six types. Identify primary + secondary moats per competitor:
| Moat Type | Definition | Strong When | Weak When | |-----------|------------|-------------|-----------| | **Switching Costs** | Friction to leave (data, workflow, contracts) | Multi-year data, deep integrations | Easy export, monthly contracts | | **Network Effects** | Value increases with users | Two-sided marketplace, content platform | Single-player tool, linear value | | **Data/IP** | Proprietary data or algorithms | Unique training data, patents | Commodity ML, public datasets | | **Brand/Trust** | Recognition, credibility | Regulated industry, high-risk decisions | Low-stakes, undifferentiated | | **Scale/Cost** | Volume economics | Infrastructure-heavy, marginal cost near zero | Labor-intensive, linear cost | | **Regulatory** | Compliance barriers | Certifications required, government contracts | No compliance requirements |
**For micro-SaaS**: Switching costs and brand/trust matter most. Network effects and scale rarely apply.
Moat Strength Tiers
Rate each competitor's defensibility:
| Tier | Criteria | Evidence Signals | Targeting Implication | |------|----------|------------------|----------------------| | **Impenetrable** | Multi-layered moat, 10+ years data lock-in | "Would take years to switch" | Avoid direct competition | | **Strong** | Significant switching friction, 1-2 year contracts | High NPS + low churn despite complaints | Target underserved segments only | | **Moderate** | Some friction, workarounds exist | Churn 5-10%, export options | Wedge opportunity exists | | **Weak** | Easy to replace, commodity offering | Monthly plans, high churn, price shopping | Direct competition viable | | **Eroding** | Former strength declining | New alternatives gaining share | Aggressive targeting |
**Gate rule**: Don't compete where incumbent has Impenetrable or Strong moat unless targeting segment they explicitly ignore.
Switching Cost Inventory
Quantify ALL switching costs — the sum determines moat strength:
| Cost Type | High Impact | Low Impact | How to Assess | |-----------|-------------|------------|---------------| | **Financial** | >6mo contract, early termination fees | Monthly billing, no penalty | Check pricing page terms | | **Time/Effort** | 40+ hr migration, retraining | <4 hr setup, familiar UX | Trial the competitor | | **Data Migration** | Proprietary format, no export | Standard export (CSV, API) | Test export function | | **Workflow Retraining** | Unique methodology, team habits | Standard patterns | Read onboarding docs | | **Integration Rework** | Deep API dependencies | Standalone tool | Map their
PRD-driven Context Engineering: A systematic approach to building AI-powered products using progressive documentation and context-aware development workflows
Repo: mattgierhart/PRD-driven-context-engineering
Other skills on prd-driven-context-engineering.
- /SKILL_TEMPLATE
[1-2 sentence description of what this skill does]. Triggers on [specific phrases/contexts that should activate this skill]. Outputs [what the skill produces].
Open skill - /ghm-gate-check
Validates gate criteria before PRD lifecycle advancement by delegating to the readiness scoring pipeline (scripts/readiness.py). Returns a graduated PASS / WARN / BLOCK verdict with top blockers and their causal chain. Triggers before advancing from v0.X to v0.Y or explicit
Open skill - /ghm-harvest
Extracts durable insights from temp/ files to SoT during EPIC Phase E. Triggers at EPIC completion or explicit `/ghm-harvest` invocation. Outputs new SoT entries and archive manifest.
Open skill - /ghm-id-register
Validates and registers new SoT IDs with cross-reference integrity. Triggers when creating BR-XXX, UJ-XXX, API-XXX, or CFD-XXX entries. Outputs formatted SoT entry with validated cross-references.
Open skill - /ghm-self-install
Install the PRD-Driven Context Engineering methodology into a fresh OR existing repository — the subscription-native alternative to forking the whole repo. Runs an interactive wizard that seeds the framework (.claude/ hooks, skills, agents, rules, scripts) without clobbering
Open skill - /ghm-sot-builder
Creates new Source of Truth (SoT) files when existing templates don't fit your needs. Triggers on requests to create a new SoT file, add a new artifact type, or when user says "I need to track [X] but there's no SoT for it", "create SoT", "new source of truth". Outputs a
Open skill

