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/riskgit 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.00678 |
| Opus 5 | $0.00000 | $0.00339 |
| Sonnet 5 | $0.00000 | $0.00136 |
| Haiku 4.5 | $0.00000 | $0.00068 |
Grade A, and why
risk 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 — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/risk
Run the 5-area risk scan on a feature or plan. Surface which risks have no hypothesis, draft stubs for the gaps.
Input
A feature slug (/risk weekly-digest), a plan name, or a draft PRD pasted into the call.
Loads
knowledge/product/features/<slug>.mdif the feature exists- All
hypotheses/<slug>.mdfiles linked to it knowledge/users/insights.md(value and usability evidence)knowledge/strategy.md § Non-goals(does this violate one?)decisions/filtered to ones that constrain this featurerules/discovery.mdfor any risk-area discovery rules
Updates
/risk is not read-only. For any of the 5 risk areas with no hypothesis, it drafts a stub (status: candidate) with the open question and the suggested first test. Behavior depends on autonomy mode (CLAUDE.md § Operating preferences § Autonomy mode):
- Act and tell (default). Stubs are saved to
hypotheses/<slug>.mdand the feature file's## Linked § Hypothesesis updated to reference them. The operator triages on next/reviewor earlier. - Propose and wait. Stubs are presented as drafts. Nothing saved until the operator confirms.
Risks with active hypotheses and fresh evidence are not touched.
Hard constraints when drafting stubs:
- Every Evidence-row in a new stub must carry a provenance tag from the enum in
hypotheses/_SCHEMA.md. If the stub is opening a risk area with no concrete artifact yet, tag the row honestly:(intuition, PM, <YYYY-MM-DD>)or(industry-knowledge). If you are citing a strategy clause, the row must include a working path-typed link like[knowledge/strategy.md]— not a bare paraphrase. Untagged rows fail theno_orphan_evidenceaudit. - New stubs are status
candidate(oractivewith confidencelow) — neverpromotedorpartially-validatedat creation. - Update
hypotheses/INDEX.mdin the SAME turn for every new stub. A new hypothesis file without an INDEX row is half-saved.
Surfaces
The five risk areas, each with status and the top item:
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 · 47 lines · 0 tokens per session scan A 67c1956d5df0
risk 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 678 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.
obsidian-health
Run a vault health check - grouped by severity, detects contradictions, concept gaps, stale claims, and structural issues.
obsidian-projects
Live project status from git + local docs - infers all context from vault notes, no config required.
obsidian-retrieval-eval
Measure how well vault search finds the right note for a natural-language question - recall@k and MRR, with the concrete failures.
research
Web research with citations - Perplexity Sonar when an API key is set, free key-less sources (Wikipedia, HackerNews, arXiv, Reddit, and more) otherwise. Deep dossier with summary, facts, timeline, players, contrarian views, open questions.
obsidian-synthesize
Automatic synthesis - scans the vault for unnamed patterns and writes synthesis pages without being asked.