foundation-stakeholder-update
About
This skill generates asynchronous stakeholder updates from meeting notes, translating technical outcomes into business-focused language for various channels and audiences. It surfaces a primary call-to-action upfront and flags technical translations for user verification. Developers can use it to automatically create tailored follow-up communications for Slack, email, or other platforms.
Quick Install
Claude Code
Recommendednpx skills add product-on-purpose/pm-skills -a claude-code/plugin add https://github.com/product-on-purpose/pm-skillsgit clone https://github.com/product-on-purpose/pm-skills.git ~/.claude/skills/foundation-stakeholder-updateCopy and paste this command in Claude Code to install this skill
Documentation
Stakeholder Update
A stakeholder update is async communication to readers who need to know the outcomes of a meeting. Primary audience is non-attendees; secondary audience is some attendees who want a reference version (came in late, stepped out, need something to forward).
Distinct from /meeting-recap in audience, format, and purpose: the recap is a summary of what happened for people who were in the room; the stakeholder-update is a translation of outcomes into what-it-means for readers (tailored to their role, with technical-to-business translation where the audience warrants it).
Distinct from /discover-stakeholder-summary: that skill is about understanding stakeholders (input to the user's work). This skill is about communicating to stakeholders (output from the user's work).
This skill belongs to the Meeting Skills Family. It conforms to the Meeting Skills Family Contract.
When to Use
- After a meeting with outcomes affecting teams who were not in the room
- When a decision or commitment needs to propagate to downstream teams async
- When a recap exists and needs to be translated into audience-specific language
- When the user needs something from readers (specific CTA) and cannot afford for it to be buried
When NOT to Use
- Summarizing what happened for attendees. Use
/meeting-recap. - Broadcasting status with no specific audience tailoring. A plain Slack message is sufficient; the skill adds value when translation or CTA framing matters.
- Communicating research findings to stakeholders. Use
/discover-interview-synthesisplus targeted comms.
Zero-friction execution
Per the family contract, this skill never blocks on interrogation. Default flow:
- Load related recap (preferred) or raw meeting notes
- Detect thread continuation by scanning same directory for prior stakeholder-updates on the same
project/topics - Infer channel (if not specified) from audience variant: engineering / design → slack; leadership → email; mixed → notion
- Present a brief inference summary (detected channel, audience, CTA, thread continuation if any, translation candidates)
- Accept
goor corrections - Produce the channel-tailored update
If invoked with --go, skip the inference summary. The entire output is shareable content (per family contract. no separate summary block needed).
Instructions
When asked to create a stakeholder update, follow these steps:
-
Load related recap Parse frontmatter to extract meeting context, decisions, actions, outcomes. If no recap provided, accept raw meeting notes with a lower input-quality flag.
-
Detect thread continuation Scan same directory for prior
stakeholder-updateartifacts with matchingproject/topics. If found, reference the prior update in the frontmatterthread_continuation_offield. -
Present go-mode inference summary Show inferred channel (if not specified), detected audience, proposed CTA, thread continuation status, translation candidates (flagged jargon or acronyms that may not land).
-
Distill key outcomes From the recap or notes, select 3-5 outcomes that matter to the target audience. Do not include everything from the recap. filter by audience relevance.
-
Frame the CTA If action is needed: lead with it, not bury it If FYI-only: state explicitly in the TL;DR
-
Translate technical-to-business Flag jargon and acronyms unlikely to land with the audience. Provide plainer alternatives. Keep a translations-applied log for user verification in the output's Generation context.
-
Build the channel-tailored variant
- Slack / Teams: headline (one action-oriented line, optionally one emoji), TL;DR 3 bullets, context sentence, "what this means for [audience]", CTA (bold with marker if action needed; italic "FYI-only" if not), thread-continuation link, more-links footer
- Email: subject line (topic + outcome), greeting ("Hi [audience]"), opening sentence (headline + why they are receiving this), TL;DR, context 2-3 sentences, what was decided / advanced, what this means for your team, what I need from you (with by-when), thread reference, sign-off
- Notion: rich H1/H2/H3 structure, longer context block, collapsible sections for detail, table for decisions and actions
- Exec-memo: TL;DR first (3-4 lines), supporting detail in 3 sections max, asks section upfront, formal tone, no emoji
-
Render TEMPLATE.md with the selected variant as primary Other variants may be included as collapsible alternates for user flexibility. Remove all guidance blockquotes from the final artifact.
-
Validate
channelis in enumaudience_variantis in enumprimary_ctais non-empty (use "FYI-only" if no action needed)related_recapis a valid filename reference or flagged as raw-notes input
Quality checklist
- Channel variant matches the specified or inferred channel
- Audience variant's "what this means for you" is specifically tailored (not generic)
- CTA is surfaced up front, not buried
- Technical-to-business translations are logged in Generation context for user verification (INTERNAL. outside shareable boundary)
- Thread continuation referenced if prior updates exist on the same topic
-
## Shareable updatesection present with channel-tailored body (v1.1.0. replaces "entire output is shareable" from v1.0.0) - Explicit boundary marker between Shareable update and internal sections (translations, sources)
- Sources and References section lists the source recap and any prior updates in thread (INTERNAL)
- Filename uses v1.1.0 variant pattern:
YYYY-MM-DD_HH-MMtimezone_title_stakeholder-update-{channel}-{audience}.md
See also
- Meeting Skills Family Contract
/meeting-recap. upstream: primary input source/discover-stakeholder-summary. distinct purpose (understanding stakeholders, not communicating to them)
GitHub Repository
Related Skills
executing-plans
DesignUse the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.
requesting-code-review
DesignThis skill dispatches a code-reviewer subagent to analyze code changes against requirements before proceeding. It should be used after completing tasks, implementing major features, or before merging to main. The review helps catch issues early by comparing the current implementation with the original plan.
connect-mcp-server
DesignThis skill provides a comprehensive guide for developers to connect MCP servers to Claude Code using HTTP, stdio, or SSE transports. It covers installation, configuration, authentication, and security for integrating external services like GitHub, Notion, and custom APIs. Use it when setting up MCP integrations, configuring external tools, or working with Claude's Model Context Protocol.
web-cli-teleport
DesignThis skill helps developers choose between Claude Code Web and CLI interfaces based on task analysis, then enables seamless session teleportation between these environments. It optimizes workflow by managing session state and context when switching between web, CLI, or mobile. Use it for complex projects requiring different tools at various stages.
