Model or dataset
phuryn/pm-brain avatar
phuryn/pm-brain

PM Brain: a markdown second brain for product managers

PM Brain OS: The Second Brain for Product Managers, Made of Markdown

869 stars171 forksPythonMIT

At a glance

What is it?
PM Brain is a Claude Code skill that keeps product strategy, decisions, and stakeholder context in plain markdown files. This write-up covers its ingest loop, the two-stage install, and the risks that come with a days-old research preview.
Who is it for?
PM Brain suits a solo product manager who already works in Claude Code and wants local, greppable product memory with provenance tags; teams that need shared access or org-wide search should pass for now, since the brain commits locally and never pushes. Verify the skill folder lands in ~/.claude/skills and that /pm-brain scaffolds knowledge, hypotheses, decisions, and stakeholders before loading anything sensitive.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 122 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

Why PM Brain keeps product context in plain markdown instead of a vector database

PM Brain targets product managers whose context sits scattered across Notion, Linear, Slack, and a pile of dashboards. The README frames the failure mode concretely: you ship a feature, and six weeks later nobody remembers why the other option was killed. The fix it proposes is not a hosted memory service. The skill treats a working directory as the brain. Claude reads those files before answering and writes to them after each task, and the README is explicit about what is absent: no vector database, no cloud, no agent memory tricks. That means the whole state of your product thinking is plain text you can back up or move to another machine. The trade-off is that retrieval depends on Claude Code finding the right file at the right moment rather than on embedding search, and the README does not document any index structure that would guarantee that. For one product with a few hundred notes this should hold up. An org-wide knowledge dump is the wrong job for it.

The five-step loop: ingest, source, propagate, tag, sweep

Every task runs through one loop. Ingest takes an artifact, whether that is a transcript, a document, a screenshot, a line in chat, or a connector pull from Notion, Jira, or Slack. Source plus synthesize copies the original into source/ as an immutable record and lands the synthesis in ingestion/, with observations tagged by speaker and date. Propagate updates the durable layer of knowledge/, hypotheses/, decisions/, and stakeholders/ wherever the new signal applies; the README says one artifact often touches four to six files. Tag is the step most note tools skip: every load-bearing claim carries a provenance marker for a documented interview, a verbal stakeholder comment, your hunch, or general industry knowledge, and the tags carry an implicit hierarchy where documented outweighs verbal and verbal outweighs intuition. The weighting is plain text, so you can read when the brain leans on a hunch and override it. Sweep is Friday: /review reads the whole folder, flags drift, and drafts what needs your call.

Installing PM Brain and bootstrapping your first brain

Install happens in two stages. Stage one puts the skill in ~/.claude/skills/pm-brain/ so it is available in every Claude Code session, in any working directory. On macOS, Linux, WSL, or Git Bash the README gives this command:

bash
mkdir -p ~/.claude/skills && \
  curl -L https://github.com/phuryn/pm-brain/archive/refs/heads/main.tar.gz | \
  tar xz --strip-components=3 -C ~/.claude/skills pm-brain-main/.claude/skills/pm-brain/

This downloads the repository archive and extracts only the skill folder into your Claude Code skills directory. The rest of the repo, including example-brain/, tests/, and docs/, stays on GitHub. Windows users get an equivalent PowerShell block in the README that uses irm and Expand-Archive to reach the same result, and there is a git clone fallback for any OS with git. Stage two bootstraps a brain in a folder of your choice:

bash
cd ~/projects/my-product-brain
claude
/pm-brain

You run claude in the target folder and invoke /pm-brain at the prompt. The skill detects what is already in the directory. An empty folder gets a greenfield start. A folder holding Notion exports, a Jira CSV, or meeting notes gets read and absorbed as a migration. Either way a short five-batch interview captures your company, role, and current priorities, then the scaffold drops in and the brain commits locally. It never pushes.

What the six commands cover

The command surface maps to a working PM calendar rather than to generic note-taking. /ingest feeds in a file, a paste, or a quick note, and the skill works out the shape, routing an interview differently from a market signal or an ad-hoc remark. /prep builds a one-page brief before a meeting with a stakeholder: their open asks, the last unresolved concern, and suggested questions. /review is the weekly sweep, six checks across the brain that fix small things directly and draft the bigger ones for your decision. /ideate is synthesis rather than brainstorm: it loads strategy, insights, and hypotheses, then surfaces 3 to 7 directions, each tagged with the evidence behind it. /risk runs a five-area scan and drafts hypothesis stubs for any area with no coverage. /plan produces a six-block draft covering what you know, assumption versus evidence, who to interview, hypotheses to open, experiments to run, and decision points.

Where your product knowledge lands on disk

Once installed, the brain is the working directory. knowledge/ holds your stable picture of strategy, product, users, market, and org. hypotheses/ tracks claims you are collecting evidence for; the README gives the example of invite-link friction blocking team activation under 50 seats. decisions/ records the calls you made, with the evidence trail and the condition that would reopen them. stakeholders/ keeps one file per person with their asks and concerns. ingestion/ holds the synthesis of every interview, meeting, and document, while source/ keeps the immutable originals. The repo also ships example-brain/, a pre-scaffolded instance you can browse before installing anything, plus tests/ with the eval harness and docs/ covering the architecture. Everything is ordinary files, so a folder-level backup covers the whole system.

Research-preview caveats worth weighing

The README is unusually candid about maturity. It labels the product a research preview: the architecture has months of dogfooding behind it on a sister content brain, but installs by real PMs in real organizations are, in its own words, days old. The eval suite shows 404 of 406 checks passing, which the author calls the floor, not the ceiling. The repository has no tagged releases, so the install command always pulls from the head of main and pinning a version is on you. There is also a trap the README warns about directly: migration mode is for your current state, not a backfill. Do not feed it 200 old interview transcripts and six months of Slack threads; the README says forcing them in now wastes a weekend and clogs the durable layer, and that a stale artifact will surface through current work when it actually matters. Finally, this is single-user by construction. Local commits with no push means there is no documented sharing story for a product team.

How it compares with the tools PMs already use

The obvious alternative is a Notion or Obsidian vault you maintain yourself. Notion AI can search and summarize, but the store lives in the vendor cloud, and the link between a decision and its evidence is whatever you remember to write down. Obsidian gives you local markdown, yet nothing in it ingests a transcript, propagates the signal across files, and flags drift on Friday. The difference in approach is that PM Brain is a write-back loop with a provenance hierarchy, not a read-when-remembered store. It costs you a dependency on Claude Code and an interview-shaped setup in exchange. If your notes are already disciplined and current, the loop buys you little. If they are scattered, that loop is the actual product.

Editorial conclusion

PM Brain suits a solo product manager who already works in Claude Code and wants local, greppable product memory with provenance tags; teams that need shared access or org-wide search should pass for now, since the brain commits locally and never pushes. Verify the skill folder lands in ~/.claude/skills and that /pm-brain scaffolds knowledge, hypotheses, decisions, and stakeholders before loading anything sensitive.

Frequently asked questions

Does PM Brain send my product data anywhere?

The README states the brain lives in your working directory, commits locally, and never pushes. There is no vector database and no cloud component in the documented architecture.

Can PM Brain import years of old Notion exports and Slack threads?

Migration mode reads your current state, such as active strategy, in-flight hypotheses, and recent decisions. The README advises against backfilling old artifacts and says a stale one will surface through current work when it matters.

Does PM Brain work outside Claude Code?

It installs into ~/.claude/skills and runs inside Claude Code sessions. The README does not document support for other agent runtimes.

What happens during the weekly review?

The /review command reads the whole folder, runs six checks, fixes small drift directly, and drafts the bigger items for your decision.

Official sources

  1. Issues
  2. License: MIT
  3. phuryn/pm-brain on GitHub
  4. Project website
  5. README
Community notes

Community notes