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/strategy-check.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/strategy-check)<a href="https://agentmods.dev/commands/phuryn/pm-brain/strategy-check"><img src="https://agentmods.dev/badge/commands/phuryn/pm-brain/strategy-check/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/strategy-check"><img src="https://agentmods.dev/badge/commands/phuryn/pm-brain/strategy-check.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.00981 |
| Opus 5.5 | $0.00000 | $0.00392 |
| Sonnet 5.5 | $0.00000 | $0.00196 |
| Haiku 4.5 | $0.00000 | $0.00098 |
Grade A, and why
strategy-check 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 — 56 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/strategy-check
Drift check between recent decisions / ingestions / active hypotheses and knowledge/strategy.md. Read-only synthesis. Surfaces tensions for the PM to resolve; does NOT silently edit strategy.
Input
None for a full sweep, or an optional scope:
/strategy-check decisions— last ~10 decisions vs. strategy priorities and non-goals/strategy-check hypotheses— active hypotheses vs. strategy priorities and non-goals/strategy-check ingestion— last ~14 days of ingestion vs. strategy (new market shifts, persona evidence, recurring customer signal)
Loads
knowledge/strategy.md— priorities, non-goals, north-star, current tensions (the anchor — every drift call traces back to a specific clause)decisions/INDEX.mdand the last ~10 decision files underdecisions/hypotheses/INDEX.mdand all hypotheses withstatus: activeorstatus: promoted- Last ~14 days of
ingestion/(interviews, meetings, market intel, adhoc) knowledge/market/landscape.mdand anyknowledge/market/competitors/<slug>.mdflagged as moved recentlyknowledge/users/insights.md— recurring themes that may pressure a priority or non-goal
Updates
/strategy-check is read-only by default. It does NOT edit knowledge/strategy.md (per CLAUDE.md "Ask the PM before changing strategy.md").
What it MAY write:
maintenance/log/<date>-strategy-check.md— the dated drift report- Drafts (not committed) for any proposed
strategy.md § Tensionsentry that crosses the recurring + high-confidence + decision-relevant bar from CLAUDE.md § Strategy tension threshold
What it MUST NOT do:
- Silently rewrite priorities, non-goals, or north-star
- Promote a one-off market signal or a single interview into a strategy tension (CLAUDE.md § Strategy tension threshold rejects one-off anecdotes)
- Resolve an existing tension on its own — surface the new evidence, let the PM decide
Hard constraints
- Cite the specific strategy clause for every drift call. "Decision X drifts from strategy" without naming WHICH priority or non-goal is noise. Format:
Decision 2026-05-12-ship-weekly-digest contradicts strategy § Non-goals: "no proactive notifications until Q4". - Cite the specific evidence for every drift call. Provenance tag per the enum in
hypotheses/_SCHEMA.md. A drift claim without a tagged source is itself orphan evidence. - Apply the tension threshold honestly. Do not draft a new
strategy.md § Tensionsentry unless the signal is recurring (≥2 independent sources), high-confidence (survives the correlational-vs-causal check in CLAUDE.md), AND decision-relevant. One-off anecdotes get logged in the drift report under "watch items" — not promoted. - Distinguish drift from divergence. A decision that explicitly overrides a strategy clause (with a documented reason) is divergence, not drift — surface it, but don't flag it as a contradiction. Drift is when a decision or pattern accumulates without anyone noticing it crosses a strategy line.
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 · 56 lines · 0 tokens per session scan A 462ca44d3699
strategy-check is a command published in the GitHub repository phuryn/pm-brain (938 stars, last pushed 5mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 981 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
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).
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.
x-read
Deep-read an X (Twitter) post via Grok xsearch - verbatim post, thread, TL;DR, claims, reply sentiment, voices to watch.
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.
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.