stefanoskarakasis/Product-Marketing-Skills

stakeholder-maps

Builds a political map, not an org chart, showing who can kill your launch, who champions it and what to say to each stakeholder, with a Power × Interest grid, conflict map and weekly Sprint Cards.

Ver código fuente

Cómo usar

  1. Copia el comando y revisa el paquete antes de instalarlo en tu entorno de agente.
  2. Consulta las herramientas, credenciales y entornos necesarios en el documento original.
  3. Describe las entradas y el resultado deseado; contrasta la salida con las fuentes.
npx skills add https://github.com/stefanoskarakasis/Product-Marketing-Skills --skill stakeholder-maps

Antes de empezar

  • La instalación no incluye suscripción al modelo, cuota API ni permisos sobre tus archivos.
  • Las estrellas e instalaciones reflejan actividad, no una prueba independiente de calidad o seguridad.
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

Stakeholder-Maps — Skill

How This Works

Stakeholder maps built in a vacuum are a waste of time. This skill builds a map anchored to political reality: who has power, who's a hidden champion, who's a silent blocker, and what to do before you're in the room.

The skill runs in 7 steps:

Step 0 — Load brain context (ICP, positioning, GTM motion) and guardrails from /context/meta-patterns.md if it exists (e.g., "product launches without Sales Manage Closely engagement fail 80% of the time" — an example pattern shape, not a claim this skill has already observed).

Step 1 — Intake: Initiative description, success definition, timeline, and current champions/blockers.

Step 2 — Inversion: Who could sink this from inside? (If you can't name them, the map is assumed, not validated.)

Step 3 — Classification: Place each stakeholder on Power × Interest grid; assign political role (Champion, Blocker, Frozen, Gatekeeper, Performer, Floating Voter).

Step 4 — Conflict mapping: Identify stakeholder conflicts; define second-order risks and resolution owners.

Step 5 — Silent blocker scan: Which functions/roles aren't in the room but should be?

Step 6 — Output: HTML widget (grid + comms plan + conflict map + confidence assessment) + markdown diagnostic + Sprint Cards.

Step 7 — Learning Close: log the session to /context/skill-sessions.md.


Trigger

  • When: Building a political stakeholder map for an initiative — who can kill it, who champions it, and what to say to each person.
  • Not for: Campaign messaging → use gaccs-brief after this skill. Risk analysis → use pre-mortem before this skill. GTM channel design → use go-to-market-strategy.
  • Example prompts:
  • "Who are the stakeholders for this launch?"
  • "Map the politics on this initiative"
  • "Who could block this internally?"
  • "Build a stakeholder map"

Inputs

  • Args: Initiative description, success definition, timeline, current champions/blockers. Free format — Step 1 intake fills gaps conversationally.
  • Defaults: If brain context is unavailable, this skill still runs — brain sharpens which stakeholders matter and what power they hold, but is not a hard blocker the way it is for go-to-market-strategy.
  • Context keys:
  • /foundation/brain.md — optional but recommended. Sections 2 (ICP), 3 (Alternatives & Positioning), 8 (Execution: stakeholders, approvals).
  • /context/skill-sessions.md — optional; check for a recent gtm-motions session to ground stakeholder power in the actual motion chosen. gtm-motions deliberately never writes its output to the brain (motion choice is initiative-specific, not a durable fact), so this is a session-log lookup, not a brain section.
  • /context/meta-patterns.md — optional; recurring patterns the user has logged from prior stakeholder mapping sessions.
  • Brain contract: Reads Sections 2, 3, 8. Writes: none — this skill does not write to /foundation/brain.md; it may propose new Section 8 stakeholders or approvals entries, written only by product-marketing-context after the user confirms.
  • Personal context: if /foundation/me.md exists, read it for format and detail only (see the personal context rule in SKILL-SPEC.md).

Connectors (Optional)

ConnectorWhat it adds
~~team chatWho is active in launch threads
~~emailStakeholder email threads
~~calendarMeeting cadence and attendees
No connectors? Paste the material and I'll work from that. The output has the same shape. Pulled facts are drafts: each is tagged with category, tool and date, and nothing is written until you confirm.

Pre-flight

  • Load /foundation/brain.md Sections 2, 3, 8 if it exists. If Section 8 lists stakeholders or approvals, start the map from them and mark each as from brain; add only people the initiative needs that are missing — see Step 0 for the full sequence.
  • Check /context/skill-sessions.md for a recent gtm-motions session. If one exists, use its confirmed motion to ground stakeholder power (who owns the primary channel, who's affected by the secondary). If none exists, proceed without it — don't block, and don't claim motion context was loaded when it wasn't.
  • Load /context/meta-patterns.md if it exists, and surface any guardrail that has fired 2+ times in prior stakeholder mapping sessions — see Step 0.
  • No hard block: this skill runs without brain context, with reduced calibration.

Steps

Step 0 — Pre-Flight: Load Context & Surface Guardrails

Before intake, load:

  • Brain context (Sections 2, 3, 5): ICP, positioning, GTM motion — these shape which stakeholders matter and what power they hold
  • Guardrails from /context/meta-patterns.md, if that file exists in the user's workspace: if a pattern has actually fired 2+ times in prior sessions the user has logged there, surface it now

Surface guardrails like this:

`
🔁 PATTERN FROM PRIOR STAKEHOLDER MAPS

I've seen [pattern description] in 2 prior sessions.
Examples: [specific initiatives or stakeholder failure modes]

Quick check: Does this apply to your initiative?
- If YES → We'll build it into the Watch For signals
- If NO → Let's flag it if it emerges during mapping

You can skip a guardrail if you disagree, but you'll see it first. If /context/meta-patterns.md doesn't exist, skip this step silently — it isn't required for the skill to run.


Step 1 — Intake (Conversational, One Round)

Ask 6 questions in one conversational block:

  1. What's the initiative? — One sentence. Launch, campaign, pricing change, new channel, GTM pivot, or internal programme.
  2. What does success look like in 60–90 days? — Specific. A number, behaviour, deal closed, or capability shipped.
  3. Who has explicitly said yes to this? — Name champions by role. Who's already committed?
  4. Who has said nothing, or who might push back? — Name people or functions you're unsure about.
  5. What's the highest-stakes decision that needs to get made? — Who makes it or can veto it?
  6. What's your timeline? — When does the first irreversible action happen? (Announcement, budget commit, sales enablement kickoff, etc.)

If they share a brief or plan, read it fully. Extract stakeholder names, decision gates, power signals. Reflect back in 3 sentences before proceeding. Assumption-surfacing, not polish.


Step 2 — Inversion: Who Could Sink This?

After intake, ask:

"One more: if this failed because of an internal stakeholder — who would it most likely be, and why? Not execution gaps. The person or team whose resistance, inaction, or misalignment would be the root cause."

If they can't answer clearly, flag it: "If you can't name who could sink this, the political map is assumed — not validated. We'll surface this risk in the mapping step."


Step 3 — Classification: Power × Interest Grid + Political Roles

Place each stakeholder on a 2×2 grid:

High InterestLow Interest
High Power🔴 Manage Closely — Make-or-kill power. Meet early, involve in decisions.🟡 Keep Satisfied — Can block silently. Periodic high-signal updates only.
Low Power🟢 Keep Informed — Amplify or dampen momentum. Regular updates, invite to demos.⚪ Monitor — Light-touch. Available on request.

For each stakeholder, assign a political role (beyond quadrant placement):

  • 🏆 Champion — Proactively advocates. Arm with proof points; give early wins to share.
  • 🛑 Blocker — Actively opposes or competes for resources. Diagnose: values conflict, territorial, or information gap?
  • 🧊 Frozen — Neither supporting nor opposing; silent. Silence is not alignment. Investigate and re-engage.
  • 🔍 Gatekeeper — Controls access to decision-maker or budget, but isn't the decision-maker. Never bypass.
  • 🎭 Performer — Says yes in rooms, acts differently outside. Validate with written artefacts, not verbal agreement.
  • 🌊 Floating Voter — Undecided. Moveable by evidence, relationships, or early momentum. Bring them a win from a Champion.

Step 4 — Conflict Mapping

Identify stakeholder conflicts. For each conflict:

  1. Stakeholder A vs Stakeholder B — Name both
  2. Conflict description — 2 sentences
  3. Second-order risk — What happens if unresolved by the decision gate? (Not just what they do, but what breaks downstream)
  4. Resolution owner + deadline — Specific structural move the PMM owns

Unresolved conflicts compound. Assign resolution explicitly.


Step 5 — Silent Blocker Scan

Ask: Which functions/roles aren't in the room but could kill this?

  • Finance (if pricing or budget implications)
  • Legal (if compliance or contract implications)
  • Security/InfoSec (if data or access implications)
  • CS/Support (if customer-facing or operational implications)
  • Sales (if revenue-dependent)
  • Product (if feature-dependent)
  • Engineering (if technical or timeline-dependent)

For each silent function: what do they control? When to brief them? Who owns outreach?


Step 6 — Output Structure

Deliver three artifacts:

Artifact 1: HTML Widget (render before markdown)

  • Power × Interest grid with stakeholder chips (colour-coded by political role)
  • Communication Plan table (Manage Closely + Keep Satisfied only)
  • Conflict Map cards (each with second-order risk block + resolution block)
  • PMM Confidence Assessment (six metric cards: Champion coverage, Blocker diagnosis, Frozen visibility, Silent function coverage, Comms plan completeness, Overall)

Artifact 2: Markdown Diagnostic

`
Initiative: [name]
PMM Owner: [name]
Date: [YYYY-MM-DD]
Primary Decision Gate: [first irreversible action + date]
Confidence Score: 🟢 / 🟡 / 🔴

For each Manage Closely + Keep Satisfied stakeholder:

[Name / Role] · [Political Role emoji + label]
Why they matter: [their power over this initiative — 1–2 sentences]
What they care about: [their actual priority, not job title]
Risk if neglected: [second-order consequence]
Key message: [exact framing they need — not generic positioning]

Silent blockers — functions not in the room:
[Function] — [what they control] — [when to brief] — [owner]

Artifact 3: Sprint Cards (one file, one card per Manage Closely + Keep Satisfied stakeholder)

`
Week of: [Monday date]
PMM: [name]
Decision gate: [date + what]
Cards this week: [n]
Last updated: [YYYY-MM-DD]

[Political Role emoji] [Name] — [Role]
📅 Next touchpoint: [date · format]
  _(Execution note: what cannot be allowed to slip)_
📝 Send before touchpoint: [Specific artefact — not "an update"]
  _[Prep time. Send by deadline.]_
🎯 What you need from them, by when: [Explicit ask. Deadline. What to do if no response.]
🗣️ The one sentence that has to land: "[Exact line in their frame]"
  _(If they push back: "[Response that holds frame]")_
🚨 Watch for: [Specific behavioural signal that means they've shifted]
  → [Immediate action if signal fires]

If the user wants any of these three artifacts saved to a file, ask where — this skill doesn't write those artifacts to any file on its own.


Step 7 — Learning Close

End every completed session by appending one entry to /context/skill-sessions.md, in the format defined in product-marketing-context/.claude-plugin/skill-sessions-format.md (Type A — execution session):

`yaml
type: execution
skill: stakeholder-maps
session_date: [YYYY-MM-DD]
pattern: [one falsifiable statement about what happened this session, or "none"]
source: [surprised / wrong / missing / N/A]

Write this row directly — do not ask the user for permission. This is an observational log entry, separate from the three artifacts above, which still require the user's go-ahead on where to save them. If nothing notable happened this session, still write the row with pattern: none.


Outputs

  • Files written: /context/skill-sessions.md — one appended row per

session, per Step 7. The HTML widget, markdown diagnostic, and Sprint Cards are delivered in chat only; if the user wants any saved to a file, ask where — this skill doesn't write those artifacts to any file on its own.

  • Chat output format: HTML widget (grid + comms plan + conflict map +

confidence assessment), followed by the markdown diagnostic and Sprint Cards (Step 6).

  • External side effects: None beyond the session log above.

Verification

  • Guardrails checked at Step 0 if /context/meta-patterns.md exists.
  • Inversion question asked and answered before classification (Step 2).
  • Every stakeholder placed on the grid and assigned a political role (Step 3).
  • Every conflict has a second-order risk and a named resolution owner (Step 4).
  • Silent blocker scan run across all seven functions (Step 5).
  • Session logged to /context/skill-sessions.md (Step 7).

Operating Rules

  • Silence is not alignment. Frozen until proven otherwise.
  • Name the Performers. Verbal yes without written commitment = it didn't happen.
  • Second-order before action. Ask "and then what?" once before every comms decision.
  • The map is a working tool. Update after every major alignment conversation.
  • Gatekeepers aren't blockers. Bypassing them converts them.
  • Sprint Cards are weekly. If not updated in 10 days, it's wrong.

Quality Gate

CheckPass =
Inversion check runNamed who could sink this
Political roles assignedEvery stakeholder has a role beyond quadrant
HTML widget renderedGrid + comms table + conflict map + confidence cards
Comms plan tableEvery Manage Closely + Keep Satisfied has key message + next action
Conflict mapEvery conflict has second-order risk + resolution block
Markdown diagnosticRendered with role analysis for Manage Closely stakeholders
Sprint CardsFive fields per stakeholder, no exceptions
Watch For signalsEvery Manage Closely card has behavioral signal + immediate action
Brain contextMap cross-referenced with ICP, GTM motion, positioning
Learning Close ran/context/skill-sessions.md has a new row for this session

Initiative Type Modifiers

Initiative TypeDominant Quadrant RiskWatch especially for
Product LaunchManage Closely → Sales, ProductSales Performers (verbal yes, no enablement)
Pricing ChangeKeep Satisfied → Finance, Legal, CSFinance silent blocker; CS frozen with blast radius
New ChannelKeep Informed → Demand Gen, RevOpsChannel conflicts; RevOps as gatekeeper
GTM PivotManage Closely → CEO, Sales VP, RevOpsVP Performers; ICs frozen on old motion
New Market EntryManage Closely → Regional leads, LegalLocal Gatekeepers; home market frozen voters
Campaign LaunchKeep Informed → Content, Design, SalesLegal/Brand silent blockers; Sales Floating Voters
Internal ProgrammeManage Closely → HR, Finance, OpsFunction heads seeing overhead (Blockers)

Do Not Use For

  • Campaign messaging → use gaccs-brief (after stakeholder map)
  • Risk analysis → use pre-mortem (before stakeholder map)
  • GTM channel design → use go-to-market-strategy

Relacionados por tarea

del mismo repositorio

Más Skills

Todos los Skills
stefanoskarakasis
Comunidad

brand-voice

Builds a persona-adaptive Voice & Tone guide (brand attributes, tone shifts by buyer type and channel, forbidden language), then deepens brain Section 4. Trigger with "how should we sound", "voice guide", "our copy feels off", "we sound like everyone else", "adapt tone for", or any request to define, apply, or audit how the brand communicates.

instalaciones
0
GitHub Stars
7
Actualizado
25 oct
stefanoskarakasis
Comunidad

buyer-personas

Maps the enterprise buying committee (Economic Buyer, Champion, Technical Evaluator, End User, Procurement) before any messaging, then builds Dunford-structured, alternatives-anchored personas ready for positioning-messaging. Trigger with "map our buying committee", "who do we need to win over", "build our buyer personas", "who kills our deals", or any request to identify or profile the people involved in a B2B purchase.

instalaciones
0
GitHub Stars
7
Actualizado
25 oct
stefanoskarakasis
Comunidad

customer-stories

Runs a B2B customer story from kickoff to customer approval: kickoff questions, internal brief, interview questions, a draft in one fixed structure, the customer review pack and an audit, with every stat and quote checked. Trigger on: "write a customer story", "kick off a case study", "customer interview questions", "prepare the customer review", "audit this customer story". Related: interview-summary, proof-points, writing-assistant.

instalaciones
0
GitHub Stars
7
Actualizado
25 oct
stefanoskarakasis
Comunidad

experiment-ideas

Generates several concrete, cost-efficient growth ideas, each with a channel, core message and cost-efficiency rationale, grounded in your brain's ICP, alternatives and market context. Trigger with "give me marketing ideas", "brainstorm growth tactics", "what should we try", "cheap ways to promote this", or any request to generate raw campaign or channel ideas before committing to one to test.

instalaciones
0
GitHub Stars
7
Actualizado
25 oct