Social Listening
Ootto-AI/claude-content-skills
A skill your agent uses when you need to turn a supplied set of comments, DMs, reviews, community posts, or call notes into an evidence-backed picture of what people ask, resist, and repeat.
Produces a private strategic preparation document for the user before a meeting that matters.
$ npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install product-on-purpose/pm-skills foundation-meeting-brief --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/foundation-meeting-brief .claude/skills/foundation-meeting-brief && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "foundation-meeting-brief" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-brief into .claude/skills/foundation-meeting-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundation-meeting-brief", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-briefType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install product-on-purpose/pm-skills foundation-meeting-brief --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/foundation-meeting-brief .agents/skills/foundation-meeting-brief && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "foundation-meeting-brief" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-brief into .agents/skills/foundation-meeting-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundation-meeting-brief", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install product-on-purpose/pm-skills foundation-meeting-brief --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/foundation-meeting-brief .cursor/skills/foundation-meeting-brief && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "foundation-meeting-brief" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-brief into .cursor/skills/foundation-meeting-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundation-meeting-brief", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/product-on-purpose/pm-skills.git --path skills/foundation-meeting-brief--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install product-on-purpose/pm-skills foundation-meeting-brief --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/foundation-meeting-brief .gemini/skills/foundation-meeting-brief && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "foundation-meeting-brief" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-brief into .gemini/skills/foundation-meeting-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundation-meeting-brief", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install product-on-purpose/pm-skills foundation-meeting-briefInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/foundation-meeting-brief .github/skills/foundation-meeting-brief && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "foundation-meeting-brief" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-brief into .github/skills/foundation-meeting-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundation-meeting-brief", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install product-on-purpose/pm-skills foundation-meeting-brief --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/product-on-purpose/pm-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/foundation-meeting-brief .opencode/skills/foundation-meeting-brief && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "foundation-meeting-brief" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/foundation-meeting-brief into .opencode/skills/foundation-meeting-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundation-meeting-brief", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
foundation-meeting-briefProduces a private strategic preparation document for the user before a meeting that matters.
Foundation Meeting Brief is an agent skill from product-on-purpose/pm-skills. Produces a private strategic preparation document for the user before a meeting that matters. Captures stakes, stakeholder positions and reads, ranked desired outcomes, key messages, anticipated questions with prepared responses, risks and tensions, specific asks, and success signals. Distinct from meeting-agenda because this artifact is not shared with attendees; it is the user's personal tactical prep for meetings where positioning matters.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `HISTORY.md`, `evals/trigger-fixtures.json` and `references/EXAMPLE.md`).
It sits in Productivity & Automation, covering Meeting notes and agendas and Positioning and messaging. The repository describes itself as: 68 plug-and-play, best-practice product management skills for AI agents: 30 Triple Diamond phase + 11 foundation + 12 utility + 15 tool (Foundation Sprint + Design Sprint). Plus… The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1cef1a9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Foundation Meeting Brief loads about 2.1k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 118 tokens; SKILL.md has 968 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from product-on-purpose/pm-skills at commit 1cef1a9, republished under its Apache-2.0 licence (© product-on-purpose). 968 words, ~2,091 tokens.
.claude/skills/foundation-meeting-brief/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
A meeting brief is the user's private strategic preparation document for a meeting where context, stakes, or positioning matter. It captures what the user needs to know, what they want to accomplish, who they are engaging with, and how to navigate the conversation. This is strategic prep, not meeting structure, which keeps it distinct from a meeting agenda.
This skill belongs to the Meeting Skills Family. It conforms to the Meeting Skills Family Contract.
foundation-meeting-agenda instead.foundation-meeting-recap.Per the family contract, this skill never blocks on interrogation. Default flow:
project or topics frontmatter matchgo or correctionsIf invoked with --go, skip the inference summary. If the user provides all values upfront, no checkpoint appears.
The skill runs on inferred stakeholder positions with low-confidence flags when no stakeholder summaries are provided; it does not block on missing inputs.
This skill opens with the shared anti-meeting check. see foundation-meeting-agenda for the full check.
v1.1.0: the check requires a positive synchronous-value statement (tradeoff to discuss, conflict to resolve, co-creation, relationship-building, or blocker escalation). Brief-prep scenarios most often pass because they typically involve navigating stakeholder positions or negotiation dynamics. which qualify as "conflict to resolve" or "relationship-building." But the check still runs, and if no synchronous value is named, the skill recommends the async alternative before producing a brief.
Load-bearing inference gates (v1.1.0): when stakeholder positions, primary ask, or decision-maker attribution are inferred below-high confidence, flag in the go-mode summary with ⚠. The brief's tactical guidance depends on these; silent acceptance of weak inferences creates risky advice. See family contract "Zero-friction execution" section.
When asked to create a meeting brief, follow these steps:
Run anti-meeting check Apply the trigger patterns. If matched, propose async alternative and await override.
Parse and load inputs
Read the topic. Load any @file references. Auto-discover related artifacts: prior recaps on same topic (same project/topics frontmatter), stakeholder summaries from /discover-stakeholder-summary outputs, related project docs.
Infer missing values Apply these rules:
| Value | Inferred from | Confidence |
|---|---|---|
| Stakeholder positions | Prior recap language, stakeholder summary content | High if recap cites direct quote; medium if position in 2+ sources; low otherwise |
| Stakes per attendee | Role plus topic-ownership cues | Always flag inferences |
| Top 3 goals | User's primary ask plus meeting type | Offer as ranked strawman in go-mode |
| Anticipated questions | Stakeholder position analysis plus typical-by-role objections | Flag as inferred |
| Risks / tensions | Conflict patterns in prior recaps | High if prior recap flagged contradiction |
Present go-mode inference summary
Show the inferred stakeholder positions, primary ask, top-3 goals. Accept go or corrections.
Build the background section Relevant history, prior decisions, recent developments. Cross-reference prior recaps by filename when available.
Do per-stakeholder analysis For each key attendee: position on topic, stakes (what they win or lose), likely concerns, relationship state (strong / neutral / strained), tactical notes (how to engage).
Rank desired outcomes Must achieve / should achieve / nice to achieve. Force the tradeoff explicitly.
Draft key messages In priority order, phrased for delivery. Not bullet points to read; phrased as you would say them.
Anticipate questions and responses Table format: Q | prepared response. Aim for the three questions the user is most likely to get.
Identify risks and tensions With explicit mitigations. Flag anything that could derail the meeting.
Specify asks What the user needs from specific people by name. Not generic "get alignment" but "ask alex to commit eng capacity for Q2 by Thursday."
Define success signals How the user knows in the moment that the meeting went well. Behavioral cues, not just outcome markers.
Render TEMPLATE.md and validate
visibility: private defaultActive only when .claude/pm-skills.local.md exists. With no file, ignore this section entirely
and behave exactly as described above.
active_initiative and recent decision artifacts, so the brief can state the current position without you re-supplying it.memory_auto_append: true is set, in which case append and echo what was written.This complements the family's filename-based chaining rather than replacing it: filenames still locate the sibling artifacts of one meeting, while project memory carries the durable product context across meetings.
visibility: private default appliedfoundation-meeting-agenda. shares the anti-meeting check/discover-stakeholder-summary. upstream input source for stakeholder positions© product-on-purpose, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/foundation-meeting-brief of product-on-purpose/pm-skills.
Open the folder on GitHubat commit 1cef1a9
Foundation Meeting Brief next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Foundation Meeting Brief this skillproduct-on-purpose/pm-skills | 716 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Social ListeningOotto-AI/claude-content-skills | 130 | — | ~882 | Automated safety check: Pass | MIT | |
| Meeting Notesoutline/outline | 41k | — | ~551 | Automated safety check: Pass | Custom licence | |
| Management Talkthananon/9arm-skills | 3.2k | — | ~3.2k | Automated safety check: Pass | None | |
| Challenge Baseline ModelAgibotTech/genie_sim | 1.4k | — | ~2.4k | Automated safety check: Pass | Custom licence | |
| Handwriting Stand Uplimin112/min-skill | 454 | — | ~2.5k | Automated safety check: Pass | None |
Ootto-AI/claude-content-skills
A skill your agent uses when you need to turn a supplied set of comments, DMs, reviews, community posts, or call notes into an evidence-backed picture of what people ask, resist, and repeat.
outline/outline
Create meeting notes in Outline from a template; use when the user wants an agenda, notes, or a follow-up document for a meeting.
thananon/9arm-skills
Rewrite engineer-to-engineer content for engineering-org leadership (VPs, directors, PMs, release managers, execs in an engineering-savvy company) and shape it for the channel it is going to — JIRA…
AgibotTech/genie_sim
Provision and launch the Simulation Challenge baseline inference model end to end: clone the inference code from a given git repo/branch, download the checkpoints from ModelScope into the repo's…
limin112/min-skill
Turn a screen recording of handwriting (or a photo of handwritten text) into a single-file HTML "continuation" — the recording plays, the ink lifts off the page as solid 3D letters, a short animated…
ravila4/claude-adhd-skills
Draft, organize, or update development journal entries. An agent skill from ravila4/claude-adhd-skills.
product-on-purpose/pm-skills
Defines a testable hypothesis with clear success metrics and a validation approach.
product-on-purpose/pm-skills
Creates a Jobs to be Done canvas capturing the functional, emotional, and social dimensions of a customer job.
product-on-purpose/pm-skills
Creates an opportunity solution tree connecting a desired outcome to customer opportunities and candidate solutions, preventing solution-first jumps in continuous discovery.
product-on-purpose/pm-skills
Creates a clear problem framing document with user impact, business context, and success criteria.
product-on-purpose/pm-skills
Generates structured Given/When/Then acceptance criteria for a user story or feature slice, covering the happy path, key failure scenarios, and non-functional expectations in testable form.
product-on-purpose/pm-skills
Creates a cross-functional pre-launch checklist covering engineering, design, marketing, support, legal, and operations readiness, with owners, dates, and go/no-go criteria so nothing is missed…
Categories
Produces a private strategic preparation document for the user before a meeting that matters. Foundation Meeting Brief is an agent skill from product-on-purpose/pm-skills. Produces a private strategic preparation document for the user before a meeting that matters.
Foundation Meeting Brief fits situations like: tasks that involve Meeting notes and agendas; tasks that involve Positioning and messaging.
Run `npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a claude-code`. Or copy the skill folder (skills/foundation-meeting-brief in product-on-purpose/pm-skills) into .claude/skills/foundation-meeting-brief in your project. Claude Code loads it when a task matches its description.
Run `npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a codex`. Or copy the skill folder (skills/foundation-meeting-brief in product-on-purpose/pm-skills) into .agents/skills/foundation-meeting-brief in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add product-on-purpose/pm-skills --skill foundation-meeting-brief -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/foundation-meeting-brief, .gemini/skills/foundation-meeting-brief, .github/skills/foundation-meeting-brief and .opencode/skills/foundation-meeting-brief in your project.
SKILL.md names no scripts, command-line tools or credentials: Foundation Meeting Brief is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Foundation Meeting Brief is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Foundation Meeting Brief: Social Listening (Ootto-AI/claude-content-skills, 130 stars), Meeting Notes (outline/outline, 41k stars), Management Talk (thananon/9arm-skills, 3.2k stars) and Challenge Baseline Model (AgibotTech/genie_sim, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
product-on-purpose (a GitHub organization) maintains it in product-on-purpose/pm-skills, which has 716 GitHub stars. The repository holds 68 skills in this directory. The repository was last updated on October 8, 2026.
Source: product-on-purpose/pm-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.