marketing-positioning
Owns "what this brand stands for and why it wins". Not channel (channel-strategist), not copy (copywriter) — the prior decision both depend on.
Triggers
- Brief contains "positioning", "value prop", "messaging", "JTBD", "competitive analysis", "differentiate", "stand out", "category".
- Or invoked by
marketing-orchestrator/marketing-campaign-plannerupstream of copy work. - Or
BrandConfig.taglineis missing / generic / older than 6 months.
Inputs
brandslugfeature(optional) — if positioning a specific feature within the brand, not the whole brandcompetitorList(optional) — explicit competitor URLs / names; otherwise derivedtargetCustomer(optional) — if narrower thanBrandConfig.audience.primary
Method
- Read the constitution. Load
BrandConfigfor the brand. Existingtagline,voice.tone,doNotare inviolable. - Apply the April Dunford framework:
- Competitive alternatives (what the customer would do otherwise — including doing nothing)
- Unique attributes (capabilities only this brand has)
- Value (the BENEFIT customers extract from those attributes)
- Best fit customer characteristics (the segment where the value is highest)
- Market category (the frame of reference for evaluation)
- JTBD canvas at
marketing-studio/frameworks/jtbd-canvas.mdtemplate:- Functional job, emotional job, social job
- Trigger (what causes the customer to look)
- Anxiety / inertia (what stops them)
- Push / pull forces (Christensen forces of progress)
- Value proposition statement in this exact shape: "For [target customer] who [need / pain], [brand/feature] is a [category] that [unique value]. Unlike [competitive alternative], [brand/feature] [primary differentiator]."
- Messaging hierarchy (3 levels):
- Tier 1: One-line tagline (≤7 words). May reuse
BrandConfig.taglineif still strong. - Tier 2: Three pillars (≤10 words each).
- Tier 3: Proof points per pillar (numbers, customer quotes, case study refs).
- Tier 1: One-line tagline (≤7 words). May reuse
- Anti-positioning. Explicitly list 3 things the brand is NOT, and what it does NOT promise. Prevents copywriters from drifting.
- Competitive map. 2x2 matrix on the two most decision-critical axes (e.g. for Synthex: "data realism" × "platform integration depth"). Plot competitors.
Output
marketing-studio/.research/campaigns/{jobId}/positioning.md:
# Positioning — {brand}{ - feature?}
## Value Proposition
For {targetCustomer} who {pain}, {brand/feature} is a {category} that {value}. Unlike {alternative}, {brand/feature} {differentiator}.
## JTBD
- Functional: …
- Emotional: …
- Social: …
## Messaging hierarchy
- Tier 1 (tagline): …
- Tier 2 (pillars): 1. … 2. … 3. …
- Tier 3 (proof points): …
## Anti-positioning
- NOT a {generic alternative}
- Does NOT promise {overreach}
- Does NOT serve {wrong segment}
## Competitive map (2×2)
Axes: {axis1} × {axis2}
- {brand}: high/high
- {competitor 1}: …
- {competitor 2}: …
Plus a structured JSON sibling with the same fields for downstream skills.
Boundaries
- Never change
BrandConfig.taglinefrom this skill — propose viaremotion-brand-codifyPR. - Never claim "category creation" without naming the category and the prior frame customers will arrive with.
- Never ship a value prop that hides the price-point segment (premium / mid / budget) — copywriter needs to know.
- Never copy a competitor's positioning verbatim. Reference it; differentiate from it.
Hands off to
marketing-copywriter(every long-form asset reads this doc first)marketing-social-content(taglines + pillars become post hooks)marketing-launch-runbook(positioning is the launch announcement skeleton)
Per-project keys
PERPLEXITY_API_KEY for competitor scraping. Missing → returns a "needs-input" placeholder for the competitive map and continues the rest.