<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
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
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.
Per the family contract, this skill never blocks on interrogation. Default flow:
If invoked with
, skip the inference summary. The entire output is shareable content (per family contract. no separate summary block needed).
-
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
artifacts with matching
/
. If found, reference the prior update in the frontmatter
field.
-
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
- is in enum
- is in enum
- is non-empty (use "FYI-only" if no action needed)
- is a valid filename reference or flagged as raw-notes input