Lean UX Canvas v2
deanpeters/Product-Manager-Skills
Guides a team through Jeff Gothelf's Lean UX Canvas v2 to frame a business problem, surface assumptions and decide what to learn and test next.
Synthesizes user research interviews into actionable insights, patterns, and recommendations.
$ npx skills add product-on-purpose/pm-skills --skill discover-interview-synthesis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install product-on-purpose/pm-skills discover-interview-synthesis --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/discover-interview-synthesis .claude/skills/discover-interview-synthesis && 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 "discover-interview-synthesis" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/discover-interview-synthesis into .claude/skills/discover-interview-synthesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discover-interview-synthesis", 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/discover-interview-synthesisType 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 discover-interview-synthesis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install product-on-purpose/pm-skills discover-interview-synthesis --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/discover-interview-synthesis .agents/skills/discover-interview-synthesis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "discover-interview-synthesis" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/discover-interview-synthesis into .agents/skills/discover-interview-synthesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discover-interview-synthesis", 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 discover-interview-synthesis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install product-on-purpose/pm-skills discover-interview-synthesis --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/discover-interview-synthesis .cursor/skills/discover-interview-synthesis && 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 "discover-interview-synthesis" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/discover-interview-synthesis into .cursor/skills/discover-interview-synthesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discover-interview-synthesis", 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/discover-interview-synthesis--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 discover-interview-synthesis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install product-on-purpose/pm-skills discover-interview-synthesis --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/discover-interview-synthesis .gemini/skills/discover-interview-synthesis && 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 "discover-interview-synthesis" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/discover-interview-synthesis into .gemini/skills/discover-interview-synthesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discover-interview-synthesis", 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 discover-interview-synthesisInstalls 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 discover-interview-synthesis -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/discover-interview-synthesis .github/skills/discover-interview-synthesis && 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 "discover-interview-synthesis" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/discover-interview-synthesis into .github/skills/discover-interview-synthesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discover-interview-synthesis", 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 discover-interview-synthesis -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 discover-interview-synthesis --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/discover-interview-synthesis .opencode/skills/discover-interview-synthesis && 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 "discover-interview-synthesis" agent skill from https://github.com/product-on-purpose/pm-skills/tree/main/skills/discover-interview-synthesis into .opencode/skills/discover-interview-synthesis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discover-interview-synthesis", 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.
discover-interview-synthesisSynthesizes user research interviews into actionable insights, patterns, and recommendations.
Discover Interview Synthesis is an agent skill from product-on-purpose/pm-skills. Synthesizes user research interviews into actionable insights, patterns, and recommendations. Use after conducting user interviews, customer calls, or usability sessions to extract and communicate findings across participants. Distinct from foundation-meeting-recap, which summarizes one internal meeting for its attendees; this skill aggregates research conversations into evidence-backed findings.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `HISTORY.md`, `evals/output-scenarios/onboarding-interviews.md` and `evals/trigger-fixtures.json`).
It sits in Product & Project Management, covering User research, Meeting notes and agendas and UX design. 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.
7 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.
Discover Interview Synthesis loads about 1.3k tokens when it runs, and up to ~4.4k if it reads all its reference files. Until then it costs about 107 tokens; SKILL.md has 618 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). 618 words, ~1,344 tokens.
.claude/skills/discover-interview-synthesis/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
An interview synthesis transforms raw user research data into structured insights that drive product decisions. Rather than simply listing what participants said, a good synthesis identifies patterns across conversations, connects observations to underlying user needs, and translates findings into actionable recommendations.
foundation-meeting-recapfoundation-meeting-synthesizemeasure-survey-analysisdefine-problem-statementdiscover-journey-mapWhen asked to synthesize interview findings, follow these steps:
Gather the Raw Material Collect all interview notes, transcripts, or recordings. Ensure you have data from at least 3 participants to identify meaningful patterns. Note the research objective and methodology used.
Create Participant Profiles Document each participant with relevant context: their role, segment, tenure, and any notable characteristics. This helps readers assess the representativeness of findings.
Identify Recurring Themes Read through all notes and tag observations by topic. Look for themes that appear across multiple participants (ideally 3+). Distinguish between frequently mentioned topics and one-off comments.
Extract Meaningful Quotes Capture 3-5 verbatim quotes per theme that powerfully illustrate the insight. Good quotes are specific, emotional, or particularly articulate. Always attribute quotes to participant IDs.
Synthesize into Insights Transform themes into insight statements. An insight goes beyond observation ("users mentioned X") to interpretation ("users need Y because of Z"). Connect what you heard to why it matters.
Formulate Recommendations Based on the insights, propose prioritized actions. Each recommendation should tie directly to an insight. Note confidence level based on strength of evidence.
Document Limitations Acknowledge what you didn't learn, sample biases, or areas needing further research. Honest limitations increase credibility.
Active only when .claude/pm-skills.local.md exists. With no file, ignore this section entirely
and behave exactly as described above.
phase and active_initiative, so findings are framed against the initiative in flight instead of asking you to restate it.interpretation artifact, so a later skill can consume them without you pasting them again.memory_auto_append: true is set, in which case append and echo what was written.This is the writer half of the loop the cohort exists to demonstrate: what this skill records, deliver-prd later reads.
Use the template in references/TEMPLATE.md to structure the output. A complete synthesis fills every template section: Research Overview; Key Themes; Notable Quotes; Insights; Recommendations; and Appendix.
Before finalizing, verify:
See references/EXAMPLE.md for a completed example.
© 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 5 other files (references) in skills/discover-interview-synthesis of product-on-purpose/pm-skills.
Open the folder on GitHubat commit 1cef1a9
Discover Interview Synthesis 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 |
|---|---|---|---|---|---|---|
| Discover Interview Synthesis this skillproduct-on-purpose/pm-skills | 716 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Lean UX Canvas v2deanpeters/Product-Manager-Skills | 7.2k | 1 repos | ~6.2k | Automated safety check: Pass | Custom licence | |
| UX Researcher Designeralirezarezvani/claude-skills | 28k | 1 repos | ~3k | Automated safety check: Pass | MIT | |
| Product Researchalirezarezvani/claude-skills | 28k | — | ~2.7k | Automated safety check: Pass | MIT | |
| Building ProductGTM-Strategist/gtm-strategist-skills | 264 | — | ~5.8k | Automated safety check: Pass | MIT | |
| Usability Testingrampstackco/claude-skills | 945 | — | ~2.4k | Automated safety check: Pass | MIT |
deanpeters/Product-Manager-Skills
Guides a team through Jeff Gothelf's Lean UX Canvas v2 to frame a business problem, surface assumptions and decide what to learn and test next.
alirezarezvani/claude-skills
UX research and design toolkit for Senior UX Designer/Researcher including data-driven persona generation, journey mapping, usability testing frameworks, and research synthesis.
alirezarezvani/claude-skills
A skill your agent uses when planning and synthesizing product/user research as a method-and-repository discipline — selecting the right method for the goal (generative interviews vs usability test…
GTM-Strategist/gtm-strategist-skills
A skill your agent uses when the user needs to define their MVP, create a product roadmap, plan metrics and tracking, refine their value proposition with JTBD, or run usability tests.
rampstackco/claude-skills
Plan and run usability tests on existing or prototype designs including test design, task scripts, moderation, observation, and findings synthesis.
rampstackco/claude-skills
Plan and execute user research including research planning, recruiting, interview design, qualitative synthesis, and translating findings into product decisions.
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
Synthesizes user research interviews into actionable insights, patterns, and recommendations. Discover Interview Synthesis is an agent skill from product-on-purpose/pm-skills. Synthesizes user research interviews into actionable insights, patterns, and recommendations.
Discover Interview Synthesis fits situations like: tasks that involve User research; tasks that involve Meeting notes and agendas; tasks that involve UX design.
Run `npx skills add product-on-purpose/pm-skills --skill discover-interview-synthesis -a claude-code`. Or copy the skill folder (skills/discover-interview-synthesis in product-on-purpose/pm-skills) into .claude/skills/discover-interview-synthesis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add product-on-purpose/pm-skills --skill discover-interview-synthesis -a codex`. Or copy the skill folder (skills/discover-interview-synthesis in product-on-purpose/pm-skills) into .agents/skills/discover-interview-synthesis 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 discover-interview-synthesis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/discover-interview-synthesis, .gemini/skills/discover-interview-synthesis, .github/skills/discover-interview-synthesis and .opencode/skills/discover-interview-synthesis in your project.
SKILL.md names no scripts, command-line tools or credentials: Discover Interview Synthesis 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.
Discover Interview Synthesis 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 1.3k tokens (SKILL.md is roughly 5.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 3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Discover Interview Synthesis: Lean UX Canvas v2 (deanpeters/Product-Manager-Skills, 7.2k stars), UX Researcher Designer (alirezarezvani/claude-skills, 28k stars), Product Research (alirezarezvani/claude-skills, 28k stars) and Building Product (GTM-Strategist/gtm-strategist-skills, 264 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.