Mode d’emploi
- Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
- Consultez le document original pour les outils, identifiants et environnements requis.
- Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/stefanoskarakasis/Product-Marketing-Skills --skill positioning-ideasAvant de commencer
- L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
- Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
Positioning Ideas
How This Works
positioning-messaging BUILD mode produces one finished, gated positioning statement — that's deliberate, since shipping copy needs a 7-point verification gate behind it. But choosing a direction in the first place is a different job: before committing to one statement, it's often more useful to see 3-5 genuinely different angles side by side, each opening different unclaimed territory, and pick (or blend) one. This skill exists for that moment only — divergent, ungated, disposable brainstorm output. It writes nothing durable and produces no shippable copy on its own. Every option it hands back must be run through positioning-messaging's BUILD mode and its gate before it becomes real positioning copy — this skill explicitly does not replace that gate, it feeds it.
Step 0 — Load brain Section 1 (Product), Section 2 (ICP), and Section 3 (Alternatives & Positioning). If Section 3 has fewer than 3 named alternatives including status quo, or there is no brain, run the Quick-Brain from Pre-flight first, since divergent positioning options are meaningless without knowing what's actually being differentiated from.
Step 1 — Confirm the target segment (from a recent beachhead-segment or buyer-personas session if one exists, or ask directly).
Step 2 — For each named alternative in Section 3, identify the specific unclaimed territory it leaves open — the thing that alternative structurally can't claim, not a generic "we're better" gap.
Step 3 — Generate 3-5 divergent positioning statement options, each tied to a different alternative's gap, each including a positioning statement, strategic rationale, supporting message, and the specific competitive advantage that makes the claim credible.
Step 4 — Self-check for actual divergence — options that differ only in wording but claim the same territory get collapsed or flagged, not delivered as if they were distinct choices.
Step 5 — Learning Close: log the session to /context/skill-sessions.md, and hand off explicitly to positioning-messaging BUILD mode for whichever option (or blend) gets chosen.
Trigger
- When: Choosing a positioning direction before committing to one,
wanting to see multiple angles side by side, exploring what unclaimed territory exists before writing a single finished statement.
- Not for: Producing a finished, gated, shippable positioning
statement or full messaging hierarchy → positioning-messaging (pmm-positioning) — run this skill first only if a direction hasn't been chosen yet, then run that skill's BUILD mode on the winner. Auditing an existing live positioning statement → positioning-messaging AUDIT mode. Fanning an already-set positioning into segment/channel copy variants → value-prop-statements (pmm-growth). Raw campaign or channel ideas once positioning is already set → experiment-ideas (pmm-growth). Mapping the alternatives themselves before any positioning work → alternatives-map (pmm-positioning), from real research; or product-marketing-context / brain Section 3 for a quicker manual pass.
- Example prompts:
- "Give me a few positioning angles to choose from"
- "Brainstorm positioning ideas for [product]"
- "How else could we position this?"
- "What unclaimed territory is there before we commit to a statement?"
- "Positioning options before we lock this in"
Inputs
- Args: Target segment (if not pulled from a recent session), number
of options wanted (default 5).
- Defaults: No brain, or Section 3 with fewer than 3 alternatives →
Quick-Brain (see Pre-flight), not a block. Brain exists with 3+ alternatives → load silently.
- Context keys:
/foundation/brain.md— read Sections 1, 2, 3. Never written to,
except the optional Section 3 stub in Step 4b (Quick-Brain runs only, after a yes). The options themselves are never written.
/context/skill-sessions.md— check for a recentbeachhead-segment
or buyer-personas session to pull a real segment instead of asking.
Pre-flight
- Load
/foundation/brain.mdif it exists — Sections 1, 2, 3, silently. - Fewer than 3 named alternatives, or no brain: ask, don't block. Say once: "No PMM brain with alternatives found, so I'll work from what you tell me. Run
alternatives-map(pmm-positioning, a separate plugin) later for researched alternatives." Then ask in one message: (1) What do you sell, in one sentence? (2) Who is the best-fit buyer? (3) Name 3 alternatives a buyer compares you to, including what they do today if they buy nothing. Tag them "user-stated, not researched" in the output. Positioning options only mean something against real alternatives, so 3+ including status quo is still required before anything is generated; status quo is always one, so ask what buyers do instead. Nothing is written to the brain unless the user says yes in Step 4b. - If a recent
beachhead-segmentorbuyer-personassession exists,
offer its segment instead of asking from scratch.
Steps
Step 1 — Confirm the target segment. State which segment these options are for. Pull from a recent beachhead-segment/buyer-personas session if one exists; otherwise ask directly. Do not proceed on an unnamed or "everyone" segment.
Step 2 — Map unclaimed territory per alternative. For each named alternative in brain Section 3, state the specific thing it structurally can't claim — not "they're worse," but a concrete gap (e.g., "Alternative X is built for enterprise IT buyers and can't credibly claim self-serve simplicity without abandoning its own positioning").
Step 3 — Generate 3-5 divergent options. Default 5 unless the user specifies otherwise. Each option includes:
- Positioning Statement — one sentence, following "the only
[category] for [segment] who want [outcome]" shape or equivalent
- Strategic Rationale — why this resonates with the named segment
specifically, tied to brain Section 2 (ICP)
- Supporting Message — the 1-2 messages that reinforce this angle
- Competitive Advantage — the specific capability that makes this
claim credible, not aspirational
Options must open genuinely different territory from each other — not five phrasings of the same claim.
Step 4 — Self-check for real divergence. Compare every pair of options. If two options claim substantively the same unclaimed territory, collapse them into one or flag the weaker as [REDUNDANT — same territory as Option N] rather than presenting both as if they were real alternatives.
Step 4b — Offer to keep the alternatives (Quick-Brain runs only). If the alternatives came from the Quick-Brain, ask once: "Keep these alternatives as the start of your brain, so the next skill doesn't ask again? (yes / no)". On no, write nothing. On yes:
- No
/foundation/brain.md: create it with the block below. - A brain exists with no Section 3: add this Section 3 only.
- Section 3 already has content: write nothing and say why. Never overwrite a Section 3.
- Files cannot be written: show the block and tell the user to save it as
brain.md. Never say it was saved unless the write succeeded.
# PMM Brain — [product name, or "not set"]
🟡 Cold start — built via positioning-ideas on [date]. Run `product-marketing-context` to build the other sections.
## Section 3: Alternatives & Positioning
User-stated, not researched. Run `alternatives-map` (a separate plugin) to research them.
- Alternatives: [1, 2, 3 including status quo]Only the alternatives are kept. The positioning options are never written.
Step 5 — Learning Close. Append an entry to /context/skill-sessions.md, in the format defined in product-marketing-context/.claude-plugin/skill-sessions-format.md (Type A — execution session):
type: execution
skill: positioning-ideas
session_date: {{date}}
pattern: "{{what surprised you, a recurring redundancy pattern, or
'none' if nothing notable happened — never skip the row}}"
source: {{surprised/wrong/missing/N/A}}State explicitly which option (or blend) is strongest, and that the next step is running it through positioning-messaging BUILD mode's 7-point gate before it becomes shippable copy — this skill's output is not itself shippable.
Outputs
- 3-5 divergent positioning statement options (Statement / Rationale /
Supporting Message / Competitive Advantage each), delivered in chat only — this skill writes no output file of its own
- Session logged to
/context/skill-sessions.md - An explicit handoff line naming the strongest option(s) and stating
they still require positioning-messaging BUILD mode's gate before use
- External side effects: N/A
- Next skill: check
next-skill-map.mdfor "After positioning-ideas"
and surface that prompt.
Verification
- 3+ named alternatives including status quo were in hand before any
option was generated, from brain Section 3 or the Quick-Brain (tagged user-stated), never skipped
- Every option has all four required fields
- Every option is tied to a specific named alternative's gap, not a
generic differentiation claim
- Redundancy self-check run across all option pairs; redundant options
flagged or collapsed, not delivered as false choices
- Handoff explicitly states these are pre-gate options, not finished
positioning copy
- Session logged with all five fields,
pattern: nonewritten explicitly
if nothing notable happened — the row is never skipped
Do Not Use For
- positioning-messaging (pmm-positioning) — when the task is
producing one finished, verified, shippable positioning statement or full messaging hierarchy. This skill only produces pre-commitment options; every option still needs BUILD mode's 7-point gate before it ships as real copy.
- value-prop-statements (pmm-growth) — when the task is fanning an
already-set, already-gated positioning into segment/channel copy variants, not generating divergent directions before one is chosen.
- experiment-ideas (pmm-growth) — when the task is raw campaign or
channel ideas assuming positioning is already set, not positioning direction itself.
- alternatives-map (pmm-positioning, a separate plugin) — when you want the alternatives researched instead of stated from memory. This skill works without it from your own 3 alternatives, tagged user-stated.
Operating Rules
- Get 3+ alternatives first, from the brain or the Quick-Brain. Divergent
positioning is meaningless without a real competitive set to differentiate from.
- Every option ties to a specific alternative's gap. A "we're just
better" option isn't a real angle — reject it before it's delivered.
- Divergence is checked, not assumed. Run the redundancy pass every
time; don't deliver near-duplicates as if they were real choices.
- Never present this output as shippable. State explicitly that the
winning option still needs positioning-messaging BUILD mode's gate.
- Never write the options to the brain. Options are disposable
brainstorm output; only a gated, chosen positioning earns durability via positioning-messaging. The one exception is the user-stated alternatives, kept only after a yes in Step 4b.
- Pull a real segment when available. Check for a recent
beachhead-segment/buyer-personas session before asking from scratch.
Quality Gate
| Check | Standard | Pass = |
|---|---|---|
| Alternatives loaded, gate enforced | 3+ named alternatives incl. status quo confirmed before generation | Yes |
| All fields present | Statement, Rationale, Supporting Message, Competitive Advantage for every option | Yes |
| Tied to specific alternative | Each option names the specific gap it exploits, not a generic claim | Yes |
| Divergence self-check run | Every pair compared; redundant options flagged or collapsed | Yes |
| Handoff states pre-gate status | Explicit statement that BUILD mode's gate still applies | Yes |
| Learning Close complete | Five-field row appended, never skipped | Yes |
Commands
/positioning-options [segment]
Run full flow: confirm segment → map unclaimed territory → generate options → divergence check → handoff.
/more-angles
Generate additional options beyond the initial set, using the same segment and alternatives context already established this session.


