使い方
- インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
- 必要なツール、認証情報、対応環境を原文で確認します。
- 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/stefanoskarakasis/Product-Marketing-Skills --skill positioning-ideas開始前の確認
- 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
- スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。
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.


