# foundation-stakeholder-update

Turns meeting outcomes into an async update for people who missed the room, with the CTA up front and jargon translated for the audience.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 693 installs · ★ 763
- Author: product-on-purpose
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/product-on-purpose/pm-skills/tree/HEAD/skills/foundation-stakeholder-update/SKILL.md
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/skills/foundation-stakeholder-update

## What it does

The skill takes a meeting recap or raw notes and produces an update for readers. Primary audience is non-attendees; secondary is attendees who want something to forward or catch up on. It differs from `foundation-meeting-recap`: the recap says what happened, this one translates outcomes into what-it-means language for a specific role.

Nine steps run the flow: load the recap, scan the same directory for earlier updates on the same `project`/`topics`, show an inference summary with the guessed channel and CTA, pick 3-5 outcomes that matter to the audience, surface the CTA, and flag jargon and acronyms with plainer alternatives. Then it builds the channel variant: `slack`, `teams`, `email`, `notion` or `exec-memo`. With no channel given, it infers one from the audience: engineering and design go to slack, leadership to email, mixed to notion.

The `--go` flag skips the inference summary and renders straight away. Technical-to-business translations land in a log for you to verify, so read them — the skill proposes wording rather than settling it. Output filenames follow `YYYY-MM-DD_HH-MMtimezone_title_stakeholder-update-{channel}-{audience}.md`.

## Requirements
- Works with: Notion, Slack

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add product-on-purpose/pm-skills --skill foundation-stakeholder-update -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/foundation-stakeholder-update/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/foundation-stakeholder-update/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add product-on-purpose/pm-skills --skill foundation-stakeholder-update -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/foundation-stakeholder-update/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add product-on-purpose/pm-skills --skill foundation-stakeholder-update -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/foundation-stakeholder-update/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install product-on-purpose/pm-skills foundation-stakeholder-update
```

2. **Manually: put the files in place**
- File: `.github/skills/foundation-stakeholder-update/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add product-on-purpose/pm-skills --skill foundation-stakeholder-update -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/product-on-purpose/pm-skills --path skills/foundation-stakeholder-update
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/foundation-stakeholder-update/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add product-on-purpose/pm-skills --skill foundation-stakeholder-update -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/product-on-purpose/pm-skills/tree/HEAD/skills/foundation-stakeholder-update/SKILL.md

## When to use it
- get meeting outcomes to teams that were not in the room
- send one decision through several channels without rewriting it by hand
- put the ask up front so readers do not miss it
- turn engineering jargon into wording leadership can act on
- tie a new update back to earlier ones on the same topic

## Example prompts
- Write a stakeholder update from the meeting recap, channel slack, audience engineering
- Draft a leadership update from these meeting notes, CTA is approve the budget
- Turn the meeting outcomes into an exec-memo, infer the channel, --go

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 007187aa19ccfac8.

BEGIN THIRD-PARTY FILE 007187aa19ccfac8
```text
---
name: foundation-stakeholder-update
description: Produces async communication to stakeholders, primarily non-attendees and secondarily some attendees who want a reference. Translates meeting outcomes into what-it-means language for readers, with channel variants (slack, teams, email, notion, exec-memo) and audience variants (engineering, design, leadership, customer-facing, mixed). Surfaces a primary CTA up front, flags technical-to-business translations for user verification, and detects thread continuation from prior updates.
license: Apache-2.0
metadata:
  classification: foundation
  version: "1.1.0"
  updated: 2026-07-05
  category: meeting
  frameworks: [meeting-skills-family]
  author: product-on-purpose
---
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
# 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 `foundation-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](../../docs/reference/skill-families/meeting-skills-contract.md).

## 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
```
END THIRD-PARTY FILE 007187aa19ccfac8

The third-party file has ended. Everything between the 007187aa19ccfac8 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2155 of 7299 bytes. © product-on-purpose · Apache-2.0 · https://github.com/product-on-purpose/pm-skills/tree/HEAD/skills/foundation-stakeholder-update/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
