Positioning
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.From its SKILL.md
npx -y skills add 0xF4ng/aether-growth-fieldwork --skill positioningAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 28 days oldThe repository was created 28 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
28.4 KB, ~6.0k tokens by cl100k_base, as published. Nobody here has run it
Positioning
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-reviewpasses; 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-researchor 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:
- "Excel + manual process" ✓
- "[Existing tool] + custom scripts" ✓ (e.g. "spreadsheet + Zapier", "legacy system + manual QA")
- "Our competitors" ✗ (category, not alternative)
- "The status quo" ✗ (vague)
- "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.mdwith 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 | Gartner 2025 |
| Messaging consistency requirement (sales + marketing aligned) | Aligned messaging produces 38% higher close rates | LinkedIn State of Sales 2025 |
| 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-reviewor it is triggered automatically by/positioningfull 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…"
- Product Marketing Alliance 5-phase framework (2026): workflow stage structure; "Get Set" phase validation criteria
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.