positioning-strategy
When to use
- A category sentence is missing or contested and the next artefact (messaging, launch, pricing page) is about to inherit the ambiguity.
- The team can name what the product does but cannot name who it is for, against what alternative, or what it refuses to be.
- An opposable-positioning audit is needed: every claim has to survive "a reasonable competitor would argue the opposite".
Do NOT use for peer-versus-peer feature comparison (route to
competitive-positioning), copy generation (route to
messaging-architecture), or pricing-tier construction.
Cognition cluster
- Mental model 1 — First-principles thinking. Strip the category to
the underlying job: who fires what, to make what progress, under
what pressure. Inherited category labels are the trap; the unit of
positioning is the job, not the label. See
docs/contracts/mental-models.md § 1.
- Mental model 30 — Inversion. For every positioning claim, ask
"what would a competitor with a credible alternative argue against
this?" A claim that has no opposable counter is either trivially
true or invented — drop it. See
mental-models.md § 30.
- Context-spine — product + customer-segment. Read the product
slot for non-goals and the customer-segment slot for the ICP
shape before locking the frame. Positioning that contradicts either
slot fails its own audit. See
context-spine.
Procedure
Step 0: Frame the job
Write one sentence: "<Segment> hires <category> to make progress
in <situation>, when motivated by <pressure>, expecting
<outcome>." If you cannot finish the sentence, route to
customer-research; positioning
without job-evidence is invention, not earning.
Step 1: Lock the four anchors
Each anchor is one sentence; ambiguity here propagates.
- Category. "We are a <category>." The category must be a
noun that the segment already uses to describe the budget line
the purchase comes out of — not a coined term.
- Segment. "For <segment>." Specific enough that a single
buyer recognises themselves; broad enough that the segment has
shared switch-events.
- Alternative. "Instead of <alternative>." Name the
single most-likely incumbent — usually a manual workflow, a
spreadsheet, or a competing product. "Doing nothing" counts.
- Point of view. "Because <load-bearing belief>." The
belief must be opposable — a credible peer holds the opposite.
Step 2: Validate via the opposable audit
For every anchor, write the strongest counter a credible peer
would make. Validate each anchor against the rule "a credible peer
holds the opposite" — if no counter exists, the anchor is
unfalsifiable (either trivially true or invented) and must be
replaced before continuing.
The four counters become the assumption ledger: explicit beliefs
the positioning rides on. Each gets a re-evaluation trigger (event +
metric + threshold) the team will watch for.
Step 3: Identify non-goals
Write three sentences in the form "We are not for <adjacent
segment>, even though <surface similarity>, because <reason
grounded in the product slot>." Non-goals are how positioning
earns its category — without them every prospect looks like a fit
and the segment dissolves.
Step 4: Stress-test the frame
For each anchor, walk the chain "if this is true, then…" through
two consequences. If a consequence contradicts the product slot,
the segment slot, or a shipped commitment, the anchor is wrong —
fix the anchor, not the consequence.
Step 5: Hand back
Hand the four anchors + assumption ledger + non-goals to
messaging-architecture for
primary-message construction. Do not write copy inside this
skill — that is messaging-architecture's job.
Related Skills
WHEN to use this
- The unit of work is the four-anchor frame, not a copy block.
- A category sentence is contested and the next artefact rides on it.
- An opposable audit is overdue and the team is shipping claims on faith.
WHEN NOT to use this
When the agent should load this
- "Wer sind wir eigentlich für?"
- "Lock the positioning before we write the launch deck."
- "Brauche eine Category-Sentence für die Pricing-Page."
- "Run an opposable-positioning audit on the homepage frame."
- "Welche Alternative ranken wir uns gegen — Doing Nothing oder ein konkreter Wettbewerber?"
Output
positioning.md — the four anchors (category · segment ·
alternative · point-of-view), one sentence each, opposable.
assumption-ledger.md — one row per anchor: the strongest
peer-counter, the load-bearing belief, the re-evaluation trigger
(event + metric + threshold).
non-goals.md — three sentences naming adjacent segments the
product refuses to serve, each grounded in the product slot.
Gotcha
- A category sentence the segment does not already use is a coined
term, not a category — the segment will route around it.
- "Doing nothing" is the most common alternative and the most
often skipped. If the buyer's status quo is free, the alternative
is free, and the positioning has to clear that bar.
- A positioning frame without non-goals expands until everyone is a
prospect; that is the failure mode, not the success state.
Do NOT
- Do NOT invent a category to differentiate — earned categories
beat coined categories; category theatre is the council Q1
out-of-scope.
- Do NOT collapse positioning into a tagline; the four anchors are
the artefact, the tagline is a downstream condensation.
- Do NOT decide pricing tiers from positioning — hand off to
pricing / unit-economics work.
Runnable example
Mid-market HR analytics tool, contested category:
- Frame: "<HR leaders at 200–2000-person companies> hire
<workforce-analytics> to make progress in <board-quarter
retention reporting>, when motivated by <exec ask for cohort
attrition>, expecting <one-click roll-up by tenure band>."
- Anchors — category: workforce analytics. Segment: HR
leaders at 200–2000-person, growing-headcount companies.
Alternative: a manually maintained spreadsheet plus the
HRIS-vendor's basic report. Point of view: retention beats
acquisition as the lever in this segment.
- Assumption ledger — peer counter to point of view: "acquisition
velocity dominates at < 500 headcount." Re-evaluation trigger:
new-hire-rate > 30 % year-on-year AND retention-flat → revisit.
- Non-goals — "We are not for enterprise (5000+); not for
workforce-planning (capacity modelling); not for engagement-survey
tooling." Each grounded in the product slot's non-goals list.
- Hand-off: four anchors →
messaging-architecture for primary
message + audience-by-message matrix.
1---2name: positioning-strategy3description: Use when locking the market frame — category, segment, alternative, point-of-view — before messaging, launch, or pricing rides on it. Triggers on 'who are we for', 'opposable audit'.4---56# positioning-strategy78## When to use910- A category sentence is missing or contested and the next artefact (messaging, launch, pricing page) is about to inherit the ambiguity.11- The team can name what the product **does** but cannot name **who it is for**, **against what alternative**, or **what it refuses to be**.12- An opposable-positioning audit is needed: every claim has to survive *"a reasonable competitor would argue the opposite"*.1314Do NOT use for peer-versus-peer feature comparison (route to15`competitive-positioning`), copy generation (route to16`messaging-architecture`), or pricing-tier construction.1718## Cognition cluster1920- **Mental model 1 — First-principles thinking.** Strip the category to21 the underlying job: who fires what, to make what progress, under22 what pressure. Inherited category labels are the trap; the unit of23 positioning is the job, not the label. See24 [`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 1.25- **Mental model 30 — Inversion.** For every positioning claim, ask26 *"what would a competitor with a credible alternative argue against27 this?"* A claim that has no opposable counter is either trivially28 true or invented — drop it. See `mental-models.md` § 30.29- **Context-spine — product + customer-segment.** Read the **product**30 slot for non-goals and the **customer-segment** slot for the ICP31 shape before locking the frame. Positioning that contradicts either32 slot fails its own audit. See33 [`context-spine`](../../../docs/contracts/context-spine.md).3435## Procedure3637### Step 0: Frame the job3839Write one sentence: *"\<Segment\> hires \<category\> to make progress40in \<situation\>, when motivated by \<pressure\>, expecting41\<outcome\>."* If you cannot finish the sentence, route to42[`customer-research`](../customer-research/SKILL.md); positioning43without job-evidence is invention, not earning.4445### Step 1: Lock the four anchors4647Each anchor is one sentence; ambiguity here propagates.48491. **Category.** *"We are a \<category\>."* The category must be a50 noun that the segment already uses to describe the budget line51 the purchase comes out of — not a coined term.522. **Segment.** *"For \<segment\>."* Specific enough that a single53 buyer recognises themselves; broad enough that the segment has54 shared switch-events.553. **Alternative.** *"Instead of \<alternative\>."* Name the56 single most-likely incumbent — usually a manual workflow, a57 spreadsheet, or a competing product. *"Doing nothing"* counts.584. **Point of view.** *"Because \<load-bearing belief\>."* The59 belief must be opposable — a credible peer holds the opposite.6061### Step 2: Validate via the opposable audit6263For every anchor, write the **strongest counter** a credible peer64would make. Validate each anchor against the rule *"a credible peer65holds the opposite"* — if no counter exists, the anchor is66unfalsifiable (either trivially true or invented) and must be67replaced before continuing.6869The four counters become the **assumption ledger**: explicit beliefs70the positioning rides on. Each gets a re-evaluation trigger (event +71metric + threshold) the team will watch for.7273### Step 3: Identify non-goals7475Write three sentences in the form *"We are not for \<adjacent76segment\>, even though \<surface similarity\>, because \<reason77grounded in the product slot\>."* Non-goals are how positioning78earns its category — without them every prospect looks like a fit79and the segment dissolves.8081### Step 4: Stress-test the frame8283For each anchor, walk the chain *"if this is true, then…"* through84two consequences. If a consequence contradicts the product slot,85the segment slot, or a shipped commitment, the anchor is wrong —86fix the anchor, not the consequence.8788### Step 5: Hand back8990Hand the four anchors + assumption ledger + non-goals to91[`messaging-architecture`](../messaging-architecture/SKILL.md) for92primary-message construction. Do **not** write copy inside this93skill — that is `messaging-architecture`'s job.9495## Related Skills9697**WHEN to use this**9899- The unit of work is the four-anchor frame, not a copy block.100- A category sentence is contested and the next artefact rides on it.101- An opposable audit is overdue and the team is shipping claims on faith.102103**WHEN NOT to use this**104105- Peer-vs-peer ours-vs-theirs verdict table — route to106 [`competitive-positioning`](../competitive-positioning/SKILL.md).107- Primary message + supporting proofs construction — route to108 [`messaging-architecture`](../messaging-architecture/SKILL.md).109- Fundraising "why now / why us" framing under capital constraint —110 route to [`fundraising-narrative`](../fundraising-narrative/SKILL.md).111- Pricing-tier construction or unit-economics modelling — route to112 [`unit-economics-modeling`](../unit-economics-modeling/SKILL.md).113114## When the agent should load this115116- "Wer sind wir eigentlich für?"117- "Lock the positioning before we write the launch deck."118- "Brauche eine Category-Sentence für die Pricing-Page."119- "Run an opposable-positioning audit on the homepage frame."120- "Welche Alternative ranken wir uns gegen — Doing Nothing oder ein konkreter Wettbewerber?"121122## Output1231241. **`positioning.md`** — the four anchors (category · segment ·125 alternative · point-of-view), one sentence each, opposable.1262. **`assumption-ledger.md`** — one row per anchor: the strongest127 peer-counter, the load-bearing belief, the re-evaluation trigger128 (event + metric + threshold).1293. **`non-goals.md`** — three sentences naming adjacent segments the130 product refuses to serve, each grounded in the product slot.131132## Gotcha133134- A category sentence the segment does not already use is a coined135 term, not a category — the segment will route around it.136- *"Doing nothing"* is the most common alternative and the most137 often skipped. If the buyer's status quo is free, the alternative138 is free, and the positioning has to clear that bar.139- A positioning frame without non-goals expands until everyone is a140 prospect; that is the failure mode, not the success state.141142## Do NOT143144- Do NOT invent a category to differentiate — earned categories145 beat coined categories; category theatre is the council Q1146 out-of-scope.147- Do NOT collapse positioning into a tagline; the four anchors are148 the artefact, the tagline is a downstream condensation.149- Do NOT decide pricing tiers from positioning — hand off to150 pricing / unit-economics work.151152## Runnable example153154Mid-market HR analytics tool, contested category:155156- Frame: *"\<HR leaders at 200–2000-person companies\> hire157 \<workforce-analytics\> to make progress in \<board-quarter158 retention reporting\>, when motivated by \<exec ask for cohort159 attrition\>, expecting \<one-click roll-up by tenure band\>."*160- Anchors — **category:** workforce analytics. **Segment:** HR161 leaders at 200–2000-person, growing-headcount companies.162 **Alternative:** a manually maintained spreadsheet plus the163 HRIS-vendor's basic report. **Point of view:** *retention beats164 acquisition as the lever in this segment*.165- Assumption ledger — peer counter to point of view: *"acquisition166 velocity dominates at \< 500 headcount."* Re-evaluation trigger:167 new-hire-rate > 30 % year-on-year AND retention-flat → revisit.168- Non-goals — *"We are not for enterprise (5000+); not for169 workforce-planning (capacity modelling); not for engagement-survey170 tooling."* Each grounded in the product slot's non-goals list.171- Hand-off: four anchors → `messaging-architecture` for primary172 message + audience-by-message matrix.