agentsclimarketplace

Positioning

Skill 0xF4ng/aether-growth-fieldwork/pmm/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

Install
npx -y skills add 0xF4ng/aether-growth-fieldwork --skill positioning

Assembled 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-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:

  • "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):

  1. Customer quote (specific, named if permitted — "At [Company], we saw [metric]")
  2. Internal metric with methodology (what was tested, how, what conditions, what the baseline was)
  3. External benchmark with source and date
  4. Third-party audit or certification
  5. 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:

LevelContentAudience
Positioning statementFull internal document (verbatim from Step 4)Internal only; input to all copy
Primary messageOne sentence: the most important claim for the primary buyerWebsite hero, sales intro
Value attribute messages3–5 sentences, one per attribute with its proof pointFeature pages, sales deck
Proof statement1–2 sentences using the strongest metric or quoteCTA area, trust signals
Tagline / brand claimVery short; brand, not positioningBrand 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:

  1. What is the specific problem category we're naming? (This becomes the owned term.)
  2. Is this term precise enough that the target ICP recognizes it immediately as their pain?
  3. 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:

  1. Positions the product as foundational infrastructure, not a vendor pitching benefits
  2. Makes the partnership story structurally necessary, not co-marketing
  3. Lets the partner's credibility carry the proof load

Anti-patterns

Anti-patternWhy it failsFix
Positioning vs. all competitorsYou cannot win against everyone with one positioning; leads to generic claimsChoose the primary competitive alternative; write secondary positioning per segment if needed
"We are the only…" claimsRarely true; easy to disprove; trains buyers to distrust everything elseReplace with specific, provable claim that contrasts with the named alternative
Features as value attributesFeatures describe what the product does; value attributes describe what they enable for the ICPReframe: "What does [feature] let [ICP] accomplish that [alternative] cannot?"
Positioning statement written in marketing voiceReads as tagline; cannot derive consistent downstream messagesWrite it verbose and technical first; distill to tagline later
Ignoring the JTBD layerPositioning without job-to-be-done misses why the ICP is actually buyingAdd "who [pain/JTBD]" to every ICP description in the five-slot statement
Building Layer 3 before Layer 1 is FINALMarketing copy has no stable foundation; repositioning requires full rewritesEnforce review gate before any public-facing copy is written
Skipping AI three-trap checkAI product claims are held to higher scrutiny; trap failures create trust deficitsRun the three-trap check before every AI product positioning review
Positioning without researching how competitors frame the categoryLeads to self-referential language buyers don't recognize; your positioning exists in a vocabulary the market isn't usingComplete Phase 0R and collect category framing for each named alternative before drafting the positioning statement

Benchmarks (2025–2026)

BenchmarkValueSource
Win rate improvement with validated positioning+15–25 percentage points vs. no formal positioningGartner 2025
Messaging consistency requirement (sales + marketing aligned)Aligned messaging produces 38% higher close ratesLinkedIn State of Sales 2025
Time to build positioning artifact (experienced PMM + existing ICP)1–3 daysApril Dunford estimate
Time to rebuild after wrong competitive alternative is discovered1–3 weeks including stakeholder re-alignmentField benchmark
Positioning artifact shelf life (AI-native SaaS)90 daysagent-gtm-skills recommendation
Positioning artifact shelf life (stable B2B SaaS)6–12 monthsPMA 2025

Related skills

SkillWhen to use
pmm/icp-research/SKILL.mdBefore positioning: build ICP card
pmm/positioning-review/SKILL.mdAfter positioning: required for FINAL status
pmm/content-review/SKILL.mdAfter positioning: gate for Layer 3 marketing copy
pmm/launch/SKILL.mdAfter FINAL positioning: coordinate launch
pmm/DOMAIN.mdAI 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…"
  • 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.

Keep looking

Skills are one crate of 326,679. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.