plugins/pm-cross/skills/professional-brain/SKILL.md
Maintain a durable, local markdown memory ('brain') of your product context, decisions, hypotheses, and stakeholders that other skills read from and write back to. Use when asked to set up a brain, ingest notes/artifacts into memory, recall what's known about a topic, log a decision with provenance, or run a weekly brain review. Produces a structured brain/ folder (knowledge, decisions, hypotheses, stakeholders, entities, source) with provenance-tagged facts, plus ingest/recall/record/review operations with approval-gated, append-only write-back.
npx skillsauth add mohitagw15856/pm-claude-skills professional-brainInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
🚀 New to this? Start with the 5-minute Quickstart — a folder + one file, with a worked example. This file is the full reference.
Most skills start cold — you paste the same context every time, and decisions made six weeks
ago lose the why. This skill gives the library a memory: a plain-markdown brain/ folder
on disk that skills read before they answer and write to after. No vector DB, no cloud — just
grep-able files you (and Claude) can audit and edit.
This is the state layer of an AI teammate. Pair it with the action layer (skills that file tickets / open PRs) and you get a loop: recall → do the work → record the decision → review.
brain/ folder with a fixed schema (see below).Ask for these only if they aren't already on disk or in the request:
init, ingest, recall, or review (default: infer from the ask)../brain/ at the project root.brain/
context.md # who/what: product, ICP, metrics definitions, voice (supersedes pm-context.md)
knowledge/ # durable facts — strategy.md, market.md, users.md, org.md
decisions/ # one file per decision: what, why, alternatives rejected, reopen-when
hypotheses/ # assumptions: statement, evidence, status (open/validated/invalidated)
stakeholders/ # one file per person: asks, concerns, comms history
entities/ # typed objects: features, accounts, experiments — the artifact graph
source/ # immutable originals (audit trail) — never edited after capture
It is Obsidian-vault compatible: open brain/ as a vault and the links become a graph.
Every fact carries a tag in square brackets so its strength is explicit. Skills must keep the tag when they reuse a fact, and downgrade confidence for weak tags.
| Tag | Means | Strength |
|---|---|---|
| [data] | from analytics / a metric / a measured result | strong |
| [interview] | from a documented user or customer interview | strong |
| [external] | from third-party / market research | medium |
| [verbal] | said in a meeting, not independently documented | weak |
| [hunch] | informed intuition, no evidence yet | weakest |
Example: Mobile drives 65% of DAU [data]. Enterprise wants SSO before renewing [verbal].
init — Create the folder schema. Migrate an existing pm-context.md into context.md.
Offer to ingest any artifacts the user already has (Notion export, Jira CSV, notes).
ingest <thing> — Store the original verbatim in source/, then synthesise it into the
right durable file(s) (knowledge/, decisions/, hypotheses/, stakeholders/), tagging each
extracted claim with its provenance. Never discard the source.
recall <query> — Answer from memory. Use the helper script to find matching facts across
the brain, then synthesise an answer that cites each fact's file and tag. If memory is thin,
say so rather than inventing.
record — The write-back half of the loop (Phase 1). After a skill produces an artifact (or on demand), extract the durable outcomes worth remembering — decisions made, new facts learned, assumptions surfaced, stakeholder asks — and propose them as a numbered list, each with its target section and provenance tag. This is the action surface, so it is approval-gated and dry-run by default:
brain_write.py … (no --commit), which prints exactly what would be appended.--commit. Append-only: decisions become a new
numbered file; everything else appends to its named file. Nothing is overwritten.Downgrade weak evidence honestly — a conclusion from one call is [interview], a gut call is
[hunch]; don't launder it into [data].
review — Weekly sweep. Flag: stale hypotheses (open too long with no new evidence),
decisions whose reopen-when condition now holds, contradictions between files, and facts that
are only [hunch]/[verbal] but are being treated as settled. Draft the updates; don't apply
silently.
scripts/brain_query.py (stdlib only) does deterministic recall — it greps the brain for a
query and returns matches with their file and detected provenance tag, so retrieval is
transparent (no embeddings, no guessing).
# Find what the brain knows about "activation", newest-first, as text
python3 scripts/brain_query.py ./brain "activation"
# JSON for chaining into another step
python3 scripts/brain_query.py ./brain "enterprise SSO" --json
Use its output as the grounded evidence set, then synthesise the answer on top — never answer a recall from outside the brain without saying so.
scripts/brain_write.py is the write-back counterpart — it appends a provenance-tagged record
(append-only, never overwrites) and is dry-run by default so you can preview before committing:
# Preview what would be written (changes nothing):
python3 scripts/brain_write.py ./brain decisions "Prioritise mobile" --tag data --body "68% of churn is mobile" --source "Q3 analytics"
# Write it after approval:
python3 scripts/brain_write.py ./brain decisions "Prioritise mobile" --tag data --body "…" --source "Q3 analytics" --commit
A brain-aware skill adds a short "Reads from / Writes to the Brain" section:
prd-template reads context.md,
knowledge/strategy.md, and any related hypotheses/ + entities/).meeting-notes writes each
decision to decisions/, new asks to the relevant stakeholders/ file), each provenance-tagged.For ingest, confirm what was captured:
source/[file]knowledge/[file] — [facts added, each tagged]decisions/[id] — [if any]For recall, answer then show your grounding:
[Synthesised answer.]
Grounded in:
decisions/0003-...md — "..." [data]stakeholders/sarah.md — "..." [verbal]source/ before synthesisreopen-when condition[hunch]/[verbal] facts are never presented with the confidence of [data]/[interview]source/ — the audit trail is the pointbusiness
Analyze why deals are won and lost and turn it into an action plan. Use when asked to run a win/loss analysis, review closed-won and closed-lost deals, understand why the team is losing to a competitor, or summarize sales feedback into patterns. Produces a structured win/loss report with themes, win/loss rates by segment and competitor, representative quotes, and prioritized actions for product, marketing, and sales.
development
Route a fuzzy request to the right skill in this library. Use when the user is unsure which skill fits, asks 'which skill should I use for X', describes a task without naming a skill, or when a request could plausibly match several skills. Produces a best-fit recommendation with the inputs to gather, a runner-up with the tie-breaker, and a workflow recipe when the job spans multiple skills.
testing
Triage a vulnerability or scanner finding — assess real severity, exploitability, and how urgently to fix. Use when asked to triage a CVE, prioritize scanner/pentest findings, assess a vuln's risk, or decide what to patch first. Produces a triage verdict: CVSS-informed severity adjusted for your context, exploitability, real risk, a fix/mitigation, and an SLA — so you fix what matters, not just what's red.
development
Stand up a Voice of Customer (VoC) program that turns feedback into action. Use when asked to build a VoC program, design a customer feedback loop, consolidate feedback sources, or set up a closed-loop feedback process. Produces a VoC program design — objectives, feedback sources and channels, a taxonomy, collection and analysis cadence, closed-loop routing, ownership, and success metrics.