Affaan Mustafa 6e2544ffa2 chore: reconcile publish/agent surfaces after PR batch
- agent.yaml: register epic-* commands (#2236) and vue-review (#2241)
- package.json files: drop stray skills/ml-adoption-playbook entry (follows orphan-skill publish pattern; not in install-modules.json)
- unicode-safety: strip decorative emoji from dashboard-web.js (#2100) and brand-discovery refs (#2221) to pass the CI gate
- agent-compress: raise catalog token canary 5000 -> 6000 for the 67-agent catalog

Full suite green (2836/2836).
2026-06-15 14:21:28 -04:00

45 lines
1.4 KiB
Markdown

# Module 20 — Positioning
> **Frameworks:** Dunford *Obviously Awesome* · Moore crossing-the-chasm template ·
> Jobs-to-be-done lens
>
> **Goal:** Define the brand's competitive frame — who it's for, what category it
> competes in, what it does uniquely, and why that matters to the target client.
> Output is the raw material for a positioning statement the brand can act on.
---
## Raw
<!-- Verbatim quotes and examples. Record exact language. -->
### Who is the target client? (role, company type, situation)
### What category does the brand compete in? (how clients currently solve this problem)
### What makes the brand different from alternatives in that category?
### What does the target client care about most? (the value they get that others can't match)
### Competitive alternatives named by the founder (include "do nothing" / "hire in-house")
### Phrases or metaphors the founder uses naturally to describe what they do
---
## Synthesis
### Positioning statement draft (Dunford template)
> For **[target client]** who **[situation / JTBD]**, **[brand name]** is the
> **[category]** that **[unique value]**. Unlike **[alternatives]**, we
> **[key differentiator]**.
### Alternative framings (vary the category or the differentiator)
1.
2. ### White-space hypothesis (what no competitor is claiming that this brand could own)
### Open questions / ambiguities
### Tensions with Module 10 Why (flag any contradictions for Module 90 reconciliation)