Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/phuryn/pm-brain/decidegit clone --depth 1 https://github.com/phuryn/pm-brainWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00765 |
| Opus 5 | $0.00000 | $0.00382 |
| Sonnet 5 | $0.00000 | $0.00153 |
| Haiku 4.5 | $0.00000 | $0.00076 |
Grade A, and why
decide scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/decide
Log a decision. Drafts a complete decision file from the existing evidence trail and surfaces it for PM sign-off.
Input
A decision slug (/decide ship-weekly-digest) or a one-line decision framing (/decide "kill auto-categorize, ship receipt-matching instead"). If a hypothesis is being resolved by the decision, include or infer its slug: /decide ship-weekly-digest --resolves H-V1.
Loads
decisions/_SCHEMA.md— load before writing the decision filehypotheses/<slug>.mdfor any hypothesis the decision resolves (the decision MUST link back to it)knowledge/strategy.md— priorities, non-goals, tensions (does this decision honor strategy? create new tension?)- Recent
ingestion/andsource/referenced as evidence (every Evidence row in the decision file needs a provenance tag pointing at a real artifact) stakeholders/<slug>.mdfor any stakeholder named in the decision (Naomi confirmed Q3, Helena flagged budget, etc.)decisions/INDEX.mdto check for prior decisions this one supersedes or depends on
Updates
decisions/YYYY-MM-DD-<slug>.md— created with the full schema: status (pendingordecided), context, decision, evidence rows (each tagged), explicitly NOT doing, stakeholders signed off, reversal condition (observable + specific), remaining ambiguities. Drafted, not committed.decisions/INDEX.md— add under## Pendingifstatus: pending, otherwise under## Recently decidedhypotheses/<slug>.md— if the decision resolves a hypothesis, mark that hypothesispromoted(if decision validates it) ordemoted(if decision goes the other way), with a Resolution row linking to the new decision filehypotheses/INDEX.md— reflect the hypothesis status change
Hard constraints:
- COUNT-THE-TAGS before saving — every Evidence row + every "Explicitly NOT doing" row carries a provenance tag from the enum in
hypotheses/_SCHEMA.md. Orphan rows fail the audit. - Reversal condition is mandatory and observable. "If things change" / "if market shifts" / "if we get pushback" are not acceptable. The condition must name a specific, measurable signal (a metric crossing a threshold, a stakeholder explicitly withdrawing support, a competitor shipping a specific feature). The audit check
all_decisions_have_reversal_conditionrejects vague reversal conditions. - Commentary, gaps, and "things we don't yet know" go under
## Remaining ambiguities, NOT under## Evidence. Aggregation/meta rows ("N=3 customers, mixed sentiment") are not evidence — they go under Remaining ambiguities too. - Default to
status: pendingunless the PM explicitly said "this is decided." Pending invites stakeholder sign-off; decided implies the choice has been made and is being recorded for the audit trail.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 40 lines · 0 tokens per session scan A 8cc8aee3ba1e
decide is a command published in the GitHub repository phuryn/pm-brain (537 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 765 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
obsidian-ingest
Ingest a source into the vault - the vault rewrites itself around new knowledge. Every ingest updates entities, rewrites stale claims, synthesizes new concepts, and resolves contradictions.
create-command
Create a new obsidian-second-brain command via interview - zero markdown editing required.
obsidian-architect
Scan a codebase and write a maintained set of architecture notes into the vault - overview, per-module notes, key decisions. Re-run to refresh without clobbering your edits.
obsidian-visualize
Generate a visual canvas map of your vault - see the shape of your second brain and how knowledge connects.
podcast
Extract metadata, transcript, and summary from a podcast episode, saved as an AI-first note in the vault.
youtube
Extract transcript, metadata, and top comments from a YouTube video - summarized via Gemini (free tier) or Grok and saved to vault. Add --visual to also read the video's frames (scene detection).