Builds a complete positioning artifact: named competitive alternative, 3-5 specific unique value attributes with proof points, and a structured positioning statement. Full chain: requires ICP card upstream; outputs to positioning-review before achieving FINAL status. Use when launching a new product or market, when messaging is not converting, or when entering a new competitive context.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Builds a complete positioning artifact: named competitive alternative, 3-5 specific unique value attributes with proof points, and a structured positioning statement. Full chain: requires ICP card upstream; outputs to positioning-review before achieving FINAL status. Use when launching a new product or market, when messaging is not converting, or when entering a new competitive context.
triggers
["/positioning","/pmm positioning (DRAFT path — PMM domain only, no reviews triggered)","user needs to position a product or feature","messaging is not resonating and root cause is unclear","competitive landscape has changed significantly"]
Role: Positioning Architect. You apply the April Dunford framework with discipline. The goal is not a tagline. It is a decision tool: who is this for, why does it beat the alternative they're already using, and what makes that claim undeniable. You never skip the competitive alternative. You never accept adjectives as value attributes.
Contract
This skill guarantees:
Competitive alternative is always named specifically — "our competitors" is never accepted
Every unique value attribute is a provable claim, not an adjective
Every attribute has at least one proof point before FINAL status is granted
Positioning statement fills all five slots (ICP, pain, category, unique value, contrast)
AI product positioning triggers additional three-trap check (see below)
Positioning is declared DRAFT until positioning-review passes; the skill does not self-approve
Before starting
Confirm (ask or infer):
Product reality — what it does today in one paragraph (not roadmap fiction).
Named competitive alternative — what buyers switch from or compare against (including spreadsheets and “do nothing”).
ICP card or equivalent — from icp-research or validated inline context (see Inputs).
Proof you can cite — logos, metrics, benchmarks, or user quotes permitted for external use; if none, keep claims modest.
Last positioning refresh — if the market moved (new competitor, model generation shift), recommend revalidation cadence (quarterly for fast categories).
Entry paths
Full chain (/positioning): All steps run. Positioning review is triggered. Output achieves FINAL status only after review passes.
DRAFT path (/pmm positioning): PMM domain only. All steps run but no reviews are triggered. Output is labeled DRAFT with pending reviews listed.
Status: DRAFT
Pending reviews: [positioning-review]
To finalize: trigger /positioning-review or run /positioning for full chain
Inputs
Required before proceeding:
An ICP card from /icp-research, OR ICP context provided directly (see validation below)
Product description (what the product does in plain terms)
Any existing messaging or positioning for reference
If ICP card is unavailable:
BLOCK. Return:
"Positioning requires an ICP card as input.
Without one, positioning produces generic copy that looks like every competitor.
The ICP card provides:
- The competitive alternative (what customers do without this product)
- The deciding language (vocabulary that converts)
- The motion fit (whether to optimize for self-serve or enterprise)
Run /icp-research first, then return here."
If ICP context is provided directly (not via /icp-research):
VALIDATE before accepting. ICP context must include ALL of the following:
[ ] At least one named trigger event:
"Customers come to us when [specific situation] happens"
[ ] At least one named competitive alternative:
"Without this product, they would [use X / do Y / not solve it]"
[ ] At least one piece of deciding language (exact customer vocabulary):
A direct quote or paraphrase from an actual customer conversation
IF any of the three are missing → WARN before proceeding:
"ICP context is incomplete. Missing: [list what's absent].
Positioning built on incomplete ICP context produces generic copy.
RECOMMENDATION: Run /icp-research to build a proper ICP card.
If you proceed anyway, output will be labeled DRAFT-UNVALIDATED."
IF all three are present → accept and proceed. Note in output:
"Positioning built on directly-provided ICP context (not /icp-research validated)."
Phase 0R — Competitive research
Entry gate
IF competitive_alternatives are not yet researched
(no named competitor data available; only an assumed or generic set):
→ BLOCK. Return:
"Positioning requires competitive research.
Complete Phase 0R before Phase 1.
Without named competitor data:
- You cannot verify whether your category framing matches how
the market already describes the space.
- Value attributes will be written in a vacuum and may duplicate
what competitors already claim.
- The contrast slot in the positioning statement will be weak or fabricated.
Run Phase 0R now: for each named alternative from the ICP card (Layer C),
collect the five dimensions below using web research."
IF alternatives are already named and each of the five dimensions below
is populated → Phase 0R is informational / optional refresh.
Proceed to Step 1.
Research dimensions (per named competitor)
For each named alternative from the ICP card (Layer C), collect the following five dimensions using agent-agnostic web research — website review, public ad copy, public review sites (G2, Capterra, Reddit, HN), and publicly available job postings. No specific scraper required.
1. Category framing
The exact words the competitor uses to name the space — not your paraphrase. Pull verbatim from their homepage, "About" page, or pricing page.
Acceptable: "distributed SQL for operational workloads" (their words)
Not acceptable: "they're a database" (your summary)
2. Tagline / above-fold headline
The literal copy from their current homepage hero. Record date accessed.
3. Primary proof points
Claims they make with supporting evidence visible on their site — named customer logos, stated metrics, or case study titles. Note the claim and the evidence type (logo, metric, named case study).
4. Pricing model
How they charge: seat-based, usage-based, flat subscription, free tier with paid tiers, enterprise-only (no public pricing). Record what is publicly visible.
5. Wedge from public complaints
What G2 reviews, Reddit threads, or HN comments reveal as their genuine weakness — specific, not assumed. Quote if available. Source-type the signal (e.g. "G2 review, [month year]").
Output artifact (produce before proceeding to Step 1)
Produce one block per named alternative:
Competitor: [name]
Category framing: [their exact words for the space]
Tagline: [exact copy from homepage hero, date accessed]
Primary proof: [claim + evidence type (logo / metric / case study title)]
Pricing model: [structure — seat / usage / flat / free-tier / enterprise-only]
Public complaint pattern: [specific weakness signal; quote if available; source type]
Produce this artifact before continuing to Step 1. Do not proceed with positioning until this block exists for each named alternative.
Category framing mismatch check
IF category framing from 2+ competitors differs significantly from the
company's current working positioning draft:
→ WARN. Return:
"Category framing mismatch detected.
The market uses [category term(s)] to describe this space.
Your current positioning draft uses [company's term].
Buyers searching in this category will not recognize your framing as
belonging to the same space. This creates an acquisition problem:
your copy won't match the language buyers use when they look.
Revisit your category definition before finalizing Phase 1."
Decision logic (April Dunford, Obviously Awesome)
Step 1 — Define the competitive alternative
From the ICP card: the alternatives customers considered (Layer C of ICP research). This is the competitive alternative.
IF icp_card.alternatives_considered = undefined or empty → BLOCK.
Return: "The competitive alternative is missing from the ICP card.
Run /icp-research and ensure Layer C (alternatives considered) is populated.
The competitive alternative is the most important input to positioning — it is
the benchmark customers use to evaluate your product's value."
The competitive alternative is named specifically:
"Nothing / doing without" ✓ when customers tolerate the cost rather than buying
At least one named competitive alternative is required. If there are multiple segments with different alternatives, write a separate positioning artifact per segment.
Step 2 — Identify unique value attributes
What does the product enable for the ICP that the competitive alternative does not?
Requirements:
- Minimum 3 attributes (fewer = weak differentiation)
- Maximum 5 attributes (more = diffuse, hard to communicate)
- Each attribute must be:
(a) Specific: a claim, not an adjective ("reduces P99 latency by 70%" vs "fast")
(b) Relevant: matters to the specific ICP's pain, not impressive-to-engineers-in-general
(c) Provable: either currently proven or with a path to proof
IF unique_value_attributes < 3 → FLAG.
Return: "Only [N] specific value attributes found. Positioning with fewer than 3
differentiating attributes produces messaging that can't sustain scrutiny.
List additional claims: what else can this product do for [ICP segment] that
[competitive alternative] cannot? Frame as provable claims, not adjectives."
Adjective test: replace the adjective with its opposite. Does the opposite apply to the competitor? If yes, the adjective is a differentiator. If no competitor would claim to be "slow" or "unreliable", neither of these is a differentiator.
Weak (adjective)
Strong (claim)
"Fast"
"Reduces time-to-query from 45 minutes to 30 seconds at 50M row scale"
"Reliable"
"99.95% uptime in last 12 months across 200+ production deployments"
"Easy to use"
"No DBA required: a single engineer can deploy and configure in one afternoon"
"Scalable"
"Handles 10× traffic growth with no schema change and no manual sharding"
"Intelligent"
"Identifies the correct index for a query pattern with no DBA input required"
Step 3 — Map proof points
For each unique value attribute, at least one proof point is required.
FOR each unique_value_attribute:
IF proof_point = undefined → FAIL.
Return: "Attribute '[attribute]' has no proof point.
Required: a customer quote, metric, benchmark result, or independent source.
A claim without evidence fails the positioning review and weakens every
downstream message built from this positioning."
Proof point types (ranked by strength):
Customer quote (specific, named if permitted — "At [Company], we saw [metric]")
Internal metric with methodology (what was tested, how, what conditions, what the baseline was)
External benchmark with source and date
Third-party audit or certification
Case study reference
Step 4 — Compose the positioning statement
Structure (April Dunford, ch.8):
For [ICP segment]
who [pain or job-to-be-done — from ICP card Layer A],
[product] is a [market category]
that [primary unique value attribute — the most compelling claim],
unlike [competitive alternative]
which [contrast — what the alternative lacks or does poorly].
All five slots must be filled.
Positioning statement is NOT tagline copy. It is the internal alignment document that copy, ads, and sales talk tracks are derived from. The positioning statement can be verbose and technical. The landing page headline is derived from it — it is not the same thing.
Example (strong):
For [ICP segment, e.g. mid-market B2B SaaS teams, 50–500 employees] who need to [specific trigger, e.g. solve X without a multi-month rewrite], [Product] is a [category] that [specific unique value, e.g. lets them accomplish Y with zero application code changes], unlike [named alternative, e.g. their existing tool + custom scripts] which [specific contrast, e.g. requires schema changes averaging 3–6 months of engineering time].
Example (weak — do not produce this):
For companies who need a better [category], [Product] is a powerful platform that revolutionizes how teams handle [problem], unlike traditional [category] which are slow and expensive.
Step 5 — AI product: three-trap check
Run this step only for AI-native or AI-powered products. Skip for non-AI products.
From pmm/DOMAIN.md, every AI product positioning must be checked for three traps:
TRAP CHECK — AI PRODUCTS
Trap 1: Demo ≠ product fallacy
Signal: cherry-picked launch videos; "powered by AI" without specifics;
vague claims ("intelligent", "smart")
Check: does the positioning reflect median performance, not peak?
IF detected → FAIL. Fix: show median performance, or explicitly show both
("right 90% of the time; here's where it still struggles")
Trap 2: Category overreach
Signal: "solves any problem", "general purpose intelligence", "universal"
Check: is the category defined specifically enough to name who benefits?
IF detected → FAIL. Fix: name the specific category and user type
Trap 3: Unsubstantiated comparison
Signal: "better than [Model A / Competitor]" without benchmark, methodology, or specific task
Check: is every comparative claim paired with a benchmark and methodology?
IF detected → FAIL. Fix: provide benchmark + task + methodology, or remove the claim
LIMITATION STATEMENT REQUIRED:
Every strong capability claim must be paired with an explicit limitation statement.
"Does not yet perform well on [specific edge case]" is not weakness — it is the
credibility anchor that makes capability claims believable. Without it, technical
buyers distrust ALL claims.
Step 6 — Derive the messaging hierarchy
From the positioning statement, derive the communication hierarchy for different channels:
Level
Content
Audience
Positioning statement
Full internal document (verbatim from Step 4)
Internal only; input to all copy
Primary message
One sentence: the most important claim for the primary buyer
Website hero, sales intro
Value attribute messages
3–5 sentences, one per attribute with its proof point
Feature pages, sales deck
Proof statement
1–2 sentences using the strongest metric or quote
CTA area, trust signals
Tagline / brand claim
Very short; brand, not positioning
Brand materials only
Four-layer positioning stack
Positioning is not one artifact — it's a cascade. Each layer serves a different audience and purpose. Run Steps 1–5 to complete Layer 1; Steps 6 and this stack to complete Layers 2–4.
┌─────────────────────────────────────────────────────────────┐
│ Layer 1: Strategic Positioning (internal only) │
│ Who: PMM, Leadership, Sales leadership │
│ What: The five-slot positioning statement; named │
│ competitive alternative; unique value attributes + │
│ proof points; ICP segment definition │
│ Gate: positioning-review FINAL required │
├─────────────────────────────────────────────────────────────┤
│ Layer 2: Sales Messaging (customer-facing, sales context) │
│ Who: AEs, SDRs, Channel partners │
│ What: one-sentence intro; objection-handling matrix; │
│ differentiation card vs named competitors; │
│ JTBD-framed discovery questions for ICP context │
│ Gate: positioning-review FINAL required as upstream │
├─────────────────────────────────────────────────────────────┤
│ Layer 3: Marketing Copy (public-facing) │
│ Who: Website, Content, Demand gen │
│ What: hero headline + subheadline; value prop cards; │
│ case study hooks; ad headlines; email subject lines │
│ Gate: content-quality-review APPROVE required before ship │
├─────────────────────────────────────────────────────────────┤
│ Layer 4: Brand Language (brand, not positioning) │
│ Who: Brand, Design, Executive comms │
│ What: tagline; brand voice guidelines; visual alignment │
│ Gate: brand calibration (see pmm/DOMAIN.md) │
└─────────────────────────────────────────────────────────────┘
Common mistake: teams build Layer 3 (marketing copy) before Layer 1 (strategic positioning) is complete. The result is copy that cannot be defended, repositioned, or consistently extended to sales. Layer 1 is the non-optional foundation.
Brain reads / writes
If a companion aether-growth-brain repo is connected:
Before starting:
Read knowledge/icp-map.md — load Core ICP and competitive alternatives
Read knowledge/competitor-map.md — check for any recently updated competitor positioning that changes the contrast available in Step 1
Read playbooks/messaging.md — check if approved messaging already exists; update rather than rebuild from scratch
Brain write (on FINAL):
Update playbooks/messaging.md with positioning statement, primary message, and value attribute messages
Write decision log entry to decisions/ with rationale for chosen competitive alternative
Brain not connected: proceed normally; note in output that messaging is not persisted.
PMF perishability
Positioning has a shelf life. In fast-moving markets, positioning built 6 months ago may no longer win deals today.
REFRESH TRIGGERS — at least one of these should initiate a positioning refresh:
Mandatory:
- A new competitor enters the category with a similar value claim
- A major model or capability shift changes buyer expectations (AI products)
- Win/loss rate degrades >10 percentage points over a quarter
- ICP has shifted (from icp-research refresh)
Recommended:
- 6 months since last review (non-AI SaaS)
- 90 days since last review (AI-native products)
- Product ships a major capability change
NOT a trigger on its own:
- "Marketing says the messaging feels stale" — only valid if paired with data
- Rebranding — brand refresh ≠ positioning refresh; they're separate exercises
Advanced positioning patterns
Apply these on top of the April Dunford framework after Steps 1–6 are complete.
Friction-elimination framing
Engineers respond to what a product eliminates, not just what it adds. For each unique value attribute, derive one "friction elimination" framing alongside the capability framing.
Capability framing (acceptable)
Friction-elimination framing (stronger)
"Supports automatic failover"
"Eliminates manual promotion steps during an incident"
"Provides real-time analytics on operational data"
"Eliminates the ETL pipeline and the overnight batch window"
"Scales horizontally"
"Eliminates the re-sharding project that would take 3 months of engineering time"
Rule: lead with what the reader can stop doing, not only what they can start doing. Both belong in messaging; friction-elimination goes first.
Structural/philosophical critique
When positioning against the status quo or a category of alternatives, critique the architectural assumption or design philosophy — not a named competitor. This is more persuasive, legally safer, and positions the product as forward-thinking rather than attack-dog.
Pattern: "[Old approach] was designed for [old constraint] — that constraint no longer exists."
Examples:
"Vertically-scaled OLTP was designed for the assumption that hardware limits were software's problem. Distributed systems flipped that assumption."
"The ETL pipeline was designed when analytical and transactional data had fundamentally different freshness requirements. That gap has closed."
"Shared staging environments were designed when spinning up a new environment cost days of infrastructure work."
Use in the contrast slot of the positioning statement to explain why the named competitive alternative falls short — without turning the positioning statement into a competitor attack.
Category-language investment
Before finalizing the positioning statement, identify 1–2 category terms the product owns or wants to own in its segment. Invest in them by using them consistently across all positioning-derived copy.
Ask before drafting:
What is the specific problem category we're naming? (This becomes the owned term.)
Is this term precise enough that the target ICP recognizes it immediately as their pain?
Would competitors use this same term, or is it specific to our framing?
Weak category term: "database performance" (industry generic)
Strong category term: "staging drift" (names the specific phenomenon — the state when a staging environment has diverged from production) or "write ceiling" (names the specific failure mode — the point where single-node saturation makes every option worse)
The owned category term should appear in: the positioning statement's pain slot, primary website hero, the first paragraph of every content piece in this positioning context.
Enabler framing (for partnership and ecosystem contexts)
When positioning the product in co-marketing, partnership content, or developer ecosystem narratives, frame it as the infrastructure primitive that enables the partner's success — not as a competing product claiming superiority.
Pattern: "[Partner/use case] builds on [product] because [specific capability match]."
Not: "[Product] is the best [category] for [use case]."
Yes: "[Use case] relies on [product] for [specific capability] — because [mechanism], which [partner] couldn't get from [alternative]."
This framing:
Positions the product as foundational infrastructure, not a vendor pitching benefits
Makes the partnership story structurally necessary, not co-marketing
Lets the partner's credibility carry the proof load
Anti-patterns
Anti-pattern
Why it fails
Fix
Positioning vs. all competitors
You cannot win against everyone with one positioning; leads to generic claims
Choose the primary competitive alternative; write secondary positioning per segment if needed
"We are the only…" claims
Rarely true; easy to disprove; trains buyers to distrust everything else
Replace with specific, provable claim that contrasts with the named alternative
Features as value attributes
Features describe what the product does; value attributes describe what they enable for the ICP
Reframe: "What does [feature] let [ICP] accomplish that [alternative] cannot?"
Positioning statement written in marketing voice
Reads as tagline; cannot derive consistent downstream messages
Write it verbose and technical first; distill to tagline later
Ignoring the JTBD layer
Positioning without job-to-be-done misses why the ICP is actually buying
Add "who [pain/JTBD]" to every ICP description in the five-slot statement
Building Layer 3 before Layer 1 is FINAL
Marketing copy has no stable foundation; repositioning requires full rewrites
Enforce review gate before any public-facing copy is written
Skipping AI three-trap check
AI product claims are held to higher scrutiny; trap failures create trust deficits
Run the three-trap check before every AI product positioning review
Positioning without researching how competitors frame the category
Leads to self-referential language buyers don't recognize; your positioning exists in a vocabulary the market isn't using
Complete Phase 0R and collect category framing for each named alternative before drafting the positioning statement
Benchmarks (2025–2026)
Benchmark
Value
Source
Win rate improvement with validated positioning
+15–25 percentage points vs. no formal positioning
Time to build positioning artifact (experienced PMM + existing ICP)
1–3 days
April Dunford estimate
Time to rebuild after wrong competitive alternative is discovered
1–3 weeks including stakeholder re-alignment
Field benchmark
Positioning artifact shelf life (AI-native SaaS)
90 days
agent-gtm-skills recommendation
Positioning artifact shelf life (stable B2B SaaS)
6–12 months
PMA 2025
Related skills
Skill
When to use
pmm/icp-research/SKILL.md
Before positioning: build ICP card
pmm/positioning-review/SKILL.md
After positioning: required for FINAL status
pmm/content-review/SKILL.md
After positioning: gate for Layer 3 marketing copy
pmm/launch/SKILL.md
After FINAL positioning: coordinate launch
pmm/DOMAIN.md
AI product narrative traps, brand calibration, content quality standard
Output format
## Positioning Artifact
**Product:** [Name]
**ICP segment:** [Segment name from ICP card]
**Status:** [DRAFT (pending reviews) / FINAL (reviews passed)]
### Competitive alternative
[Specific named alternative — what customers do without this product]
### Unique value attributes and proof points
1. [Attribute: specific claim]
Proof: [Quote / metric / benchmark]
2. [Attribute: specific claim]
Proof: [Quote / metric / benchmark]
3. [Attribute: specific claim]
Proof: [Quote / metric / benchmark]
[4. Optional]
[5. Optional]
### Positioning statement
For [ICP segment] who [pain/JTBD],
[product] is a [category]
that [primary unique value],
unlike [competitive alternative]
which [contrast].
### Messaging hierarchy
Primary message: [One sentence for hero/intro]
Value messages: [3-5 sentences, one per attribute]
Proof statement: [1-2 sentences with strongest evidence]
### Pending reviews
[ ] positioning-review — required for FINAL status
Triggers
On FINAL path: pmm/positioning-review/SKILL.md
Positioning artifact cannot achieve FINAL status until positioning-review passes.
Run review explicitly: /positioning-review or it is triggered automatically by /positioning full chain.
Connects to
Upstream:/icp-research — competitive alternative and deciding language come from the ICP card.
Downstream:/launch — requires positioning with FINAL status before launch checklist can be completed.
Downstream: messaging copy, landing pages, sales decks — all derived from the positioning artifact.
Validation criteria
Phase 0R output produced with category framing for each named alternative (or Phase 0R gate passed because alternatives were already researched)
ICP card used as input (cited)
Competitive alternative named specifically (not a category)
3–5 unique value attributes, each specific and provable
At least one proof point per attribute
Positioning statement fills all five slots
Messaging hierarchy derived
Status is DRAFT until review passes, FINAL after
References & Sources
Tier 1:
April Dunford, Obviously Awesome (2019) ch.3: competitive alternative identification
April Dunford, Obviously Awesome (2019) ch.5: unique value attribute extraction
April Dunford, Obviously Awesome (2019) ch.8: positioning statement structure "FOR X WHO Y…"