The Product Weaver plugin
Product Weaver is a free, open-source plugin for Claude, ChatGPT and Codex, and GitHub Copilot that turns customer interview transcripts into a jobs-to-be-done knowledge base, with every quote checked word for word against its transcript.
Free and open source (Apache License 2.0) · Version 0.12.0, released November 14, 2026 · Changelog
The first skill, pw-discovery, turns customer interview transcripts into an Outcome-Driven Innovation (ODI) knowledge base: the jobs your customers are trying to get done, the steps of each job, and the outcomes they measure success by. Every quote is checked against its transcript before it goes in, so the knowledge base never holds paraphrased evidence. It grows with every batch of interviews. The second, pw-start, gets you going: it plans your first interviews, or turns the ones you have into a discovery map, and says what to do next.
Install
Claude desktop app (Cowork)
No terminal needed.
- In the Claude desktop app, open Customize, then Plugins.
- Choose Add marketplace and paste this line
productweaver/productweaver-plugin- Install
productweaverfrom the list. - Start a task in Cowork, choose the folder with your transcripts, and ask in plain words.
Claude.ai in a browser
Use the Claude desktop app to run the plugin. It works with the files on your computer, and a browser tab cannot reach them. You can add the plugin on the web with the same steps, at claude.ai/customize/plugins: Claude saves it to your account, so it is ready in Cowork when you open the desktop app. We have not tested the plugin in chat on claude.ai yet.
Claude Code
For the terminal, VS Code, JetBrains and the Code tab of the desktop app. Version 2.1.292 or later. In a terminal
claude plugin install productweaver --marketplace productweaver/productweaver-pluginOr inside a Claude Code session
/plugin install productweaver --marketplace productweaver/productweaver-pluginChatGPT and Codex
The Codex CLI and the ChatGPT desktop app. Add the marketplace, then open /plugins in Codex and install productweaver.
codex plugin marketplace add productweaver/productweaver-pluginGitHub Copilot CLI
copilot plugin marketplace add productweaver/productweaver-plugin
copilot plugin install productweaver@productweaver-pluginWhat you need
- Python 3.9 or newer. Nothing else to install: the skill's scripts use only Python's standard library, so it also works where packages cannot be downloaded.
- Transcripts as
.md,.txt,.docxor.pdffiles. To read a.pdfdirectly, the script needs pypdf (python3 -m pip install pypdf==6.21.4). Without it, the assistant first saves the PDF's text, word for word, as a.txtfile in the study.
Use it
New here? Say “Help me get started with Product Weaver.” (In Claude Code you can also type /pw-start.) If you have interview transcripts, the assistant turns them into a discovery map. If you have none yet, it asks three questions and writes a guide for your first interviews: who to talk to and what to ask. When you come back to a study, ask “What should I do next?” and it names one next step.
Once you know your way around, ask in plain words, for example
- “Process this week's discovery interviews in the Interviews folder.”
- “Start an ODI knowledge base for the Acme study from these transcripts.”
- “Add these three calls to the knowledge base and show me what changed.”
The assistant reads the transcripts, proposes what to add, and merges it into the knowledge base. It then writes a review sheet with the decisions that wait for you, and a discovery map you can open in any browser.
What it runs and what it sends
The plugin runs two local Python scripts inside the skill: kb_tool.py, which makes no network calls, and pw_usage.py, which handles usage statistics. It has no hooks, no MCP servers and no background processes.
It sends nothing unless you turn on usage statistics for a study, and even then never your interviews, names, quotes, prompts or file names. It downloads nothing. Your assistant itself works as it always does with the files it reads.
The first time you work on a study, the assistant asks once whether to share usage statistics. Each person who gets the study through git answers for themselves. The choice stays with the folder, so delete .pw-kb/usage/ before you hand a study over, and note the study number first. Without your yes, nothing is recorded or sent. After a yes, small events (which steps ran, how long they took, counts, error codes, the class name of a crash, and versions) go to www.productweaver.com, which passes them on to PostHog in the US. We keep them for 2 years. Each one carries a random study number, made when you say yes. To see exactly what was sent, open .pw-kb/usage/sent.jsonl. To stop, tell your assistant to stop sharing, or set KB_TOOL_USAGE=0 or DO_NOT_TRACK=1. To have your events deleted, write to privacy@productweaver.com with the study number from .pw-kb/usage/settings.json. We then stop accepting events for that study at once and ask PostHog to delete the ones it holds; anything that remains goes after 2 years. The privacy page has the details.
Files it writes
Files go into two folders at the root of your workspace. One workspace holds one study. pw-output/ holds what you read:
discovery-map.html, the interactive map, which works offline. Open it with a double-click, or with the link the assistant gives at the end of each runreview.md, the review sheet, as textinterview-guide.md, the plan for your next interviews, as text, ready to take into the calls. The map's Next interviews tab shows it too, ready to print or copy
.pw-kb/ holds the study itself. Finder and most file dialogs hide it, because its name starts with a dot:
pw-kb.json, the knowledge basetranscripts/, a copy of each transcript the knowledge base quotes. Your own files are never changedpatches/, one file per batch: the audit trail of what each batch addedbackups/, copies of the knowledge base before each merge (the newest 20)logs/kb_tool.jsonl, one line per run, for debugging. It holds no quotes, names or file namesusage/, your answer about usage statistics, for this study only. It holds.gitignore,README.md,settings.json(your answer and the study number),waiting.jsonl(events not sent yet),sent.jsonl(every event exactly as it left) and.lock
The knowledge base, transcripts, review sheet, map and patches contain your interviewees' names and words. They stay on your machine unless you share them. If your workspace is a git repository, the assistant asks once whether to share the study through git, and pw-output/ follows the same answer.
Where it works
- Cowork in the Claude desktop app.
- Claude Code: terminal, VS Code, JetBrains and the Code tab of the desktop app.
- Codex CLI and the ChatGPT desktop app. The Codex IDE extension does not load plugins.
- GitHub Copilot CLI and VS Code.
Chat on claude.ai in a browser is not tested yet. Use the desktop app for now.
Support and license
Report bugs and ask questions in the issues of the public repository. To report a security problem, follow its security policy.
The plugin is open source under the Apache License 2.0. See also our privacy policy and terms.
New to the method? Read jobs to be done, explained and the interview analysis guide.
Outcome-Driven Innovation® is a registered trademark of Strategyn, LLC. Product Weaver follows the method as published; it is not made or endorsed by Strategyn.