Borrowing it
Nothing to install: this file belongs to phuryn/pm-brain. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/phuryn/pm-brain/main/.claude/skills/pm-brain/scaffold/.claude/commands/risk.mdgit clone --depth 1 https://github.com/phuryn/pm-brainWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/phuryn/pm-brain/risk)<a href="https://agentmods.dev/commands/phuryn/pm-brain/risk"><img src="https://agentmods.dev/badge/commands/phuryn/pm-brain/risk/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/phuryn/pm-brain/risk"><img src="https://agentmods.dev/badge/commands/phuryn/pm-brain/risk.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00000 | $0.00678 |
| Opus 5.5 | $0.00000 | $0.00271 |
| Sonnet 5.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 1mo 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.
- 1mo ago First seen · 47 lines · 0 tokens per session scan A 67c1956d5df0
risk is a command published in the GitHub repository phuryn/pm-brain (941 stars, last pushed 5mo 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-retrieval-eval
Measure how well vault search finds the right note for a natural-language question - recall@k and MRR, with the concrete failures.
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).
x-read
Deep-read an X (Twitter) post via Grok xsearch - verbatim post, thread, TL;DR, claims, reply sentiment, voices to watch.
obsidian-distill
Condense a long note or source into key claims, each tagged with provenance back to the exact source block it came from.
obsidian-merge
Merge two near-duplicate notes found by /obsidian-health into one - dry run by default, redirects the retired note rather than deleting it.
obsidian-checkin
Ask the owner whether old people and project notes still hold - shows what each note says and when it was last checked, re-asks until answered, saves the news.