product-on-purpose/foundation-stakeholder-briefings
Turns any source artifact (spec, discovery, research, GTM plan, experiment results, retro, or raw notes) into one canonical master document plus a set of audience-tailored briefings, each re-pitched to a stakeholder lens (executive, board, engineering, UX, PMM, sales, CS, legal, data, or a custom audience). Every briefing is a traceable projection of the master, so the versions never disagree. Use when one piece of work must reach several audiences who each need a different framing, decision, and level of detail.
npx skills add https://github.com/product-on-purpose/pm-skills --skill foundation-stakeholder-briefings
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
A stakeholder-briefings artifact takes one source (a PRD, a discovery synthesis, a research report, a GTM or launch plan, experiment results, a retro or incident write-up, or raw notes) and produces a single saveable file containing:
M1, M2, ...); andThe skill runs master-first, then projects. The master is the single source of truth; every briefing is a projection of it. A briefing may omit, reorder, and translate master content, but it may never assert a claim that is not in the master. That projection rule is what keeps the executive version and the engineering version from quietly disagreeing, and it is the difference between this skill and asking a model to "rewrite this six ways."
Distinct from foundation-stakeholder-update (one async update of meeting outcomes for a single audience, meeting-bound), discover-stakeholder-summary (a map of who stakeholders are and their influence/interest), and foundation-persona (a customer/buyer viewpoint to design or market against).
foundation-stakeholder-update (it is meeting-bound; that is its scope).discover-stakeholder-summary.foundation-persona.When asked to create stakeholder briefings, follow these steps:
input_quality: low and name the gap.M1, M2, ...). The master carries no audience-specific spin; it is the shared substrate.references/source-type-map.md (for example, a spec proposes Engineering, UX/Design, Data/BI, Executive; a GTM plan proposes PMM, Sales, CS/Support, Executive). Present the proposal and accept go (generate the proposed set), an edit (drop X, add Y), or all (all nine). If invoked with --go, skip the prompt and generate the proposal. No audience is ever locked out.references/audience-lenses.md), render a self-contained block delimited by --- BEGIN: <lens> --- / --- END ---, containing:Draws on: the master claim IDs this briefing projects (required).Primary ask: exactly one decision or action for this audience (required).Every load-bearing line must trace to a master claim. Do not introduce a claim that is not in the master.
Draws on: ID resolves to a real master claim.Primary ask: per block.Draws on: set and confirm the body introduces nothing absent from those master claims. This is a review step, not automated.Nine first-class lenses, each defined by the decision it owns, plus a Custom slot whose lens is inferred from the audience name and source and shown for confirmation. Full definitions, per-lens "not this lens when" boundaries, and the overlap matrix (Exec vs Board, PMM vs Sales, Engineering vs Data, Legal vs Exec) are in references/audience-lenses.md.
YYYY-MM-DD_HH-MMtz_<title>_stakeholder-briefings.md), built from references/TEMPLATE.md.--split mode (write each block to its own file) is deferred; v1 is single-artifact.M1, M2, ...) and no audience-specific spin.Draws on: line whose IDs all resolve to master claims.Primary ask:.references/TEMPLATE.md - the master + briefing-block scaffold.references/audience-lenses.md - the nine lenses, boundaries, and overlap matrix.references/source-type-map.md - the source-type to audience proposal.foundation-stakeholder-update - one meeting update for one audience (distinct).discover-stakeholder-summary - mapping stakeholders (distinct).Take product-on-purpose/foundation-stakeholder-briefings from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.