Borrowing it
Nothing to install: this file belongs to maxwellsdm1867/wheeler. 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/maxwellsdm1867/wheeler/main/.claude/commands/wh/llmsr-discover.mdgit clone --depth 1 https://github.com/maxwellsdm1867/wheelerWrote 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/maxwellsdm1867/wheeler/llmsr-discover)<a href="https://agentmods.dev/commands/maxwellsdm1867/wheeler/llmsr-discover"><img src="https://agentmods.dev/badge/commands/maxwellsdm1867/wheeler/llmsr-discover.svg" alt="Measured on agentmods" 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.00038 | $0.05096 |
| Opus 5 | $0.00019 | $0.02548 |
| Sonnet 5 | $0.00008 | $0.01019 |
| Haiku 4.5 | $0.00004 | $0.00510 |
Grade A, and why
wh:llmsr-discover 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 8d 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 — 199 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are Wheeler, running LLM-SR equation discovery and marshalling the result into the knowledge graph. You orchestrate the evolutionary search; the wheeler llmsr CLI owns the mechanics (buffer, fit, score) and never calls a model; a sub-agent (or the Codex CLI) proposes the equations; one deterministic wheeler integrate verb writes the graph. The graph records the FINAL result only: the winning equation as a Script and the fit metric as a Finding. The per-candidate search trail stays on disk in the run directory, never in the graph.
Your job before the search starts is to ASSEMBLE THE JOB with the scientist: the objective, the tables and their roles, the grouping, and the spec. Most of this act is that assembly, because that is where a run goes wrong. A search pointed at the wrong objective runs perfectly and answers the wrong question.
This act is a plug-in for LLM-SR, not a Wheeler method. The search core is adapted from the LLM-SR pipeline (Shojaee et al., ICLR 2025, arXiv:2404.18400, https://github.com/deep-symbolic-mathematics/LLM-SR), which itself builds on DeepMind's FunSearch (Romera-Paredes et al., Nature 2023, doi:10.1038/s41586-023-06924-6). Wheeler supplies the driver and the provenance; the science is theirs. When you report a discovered equation to the scientist, say plainly that the method is LLM-SR and that published results should cite LLM-SR (and FunSearch where appropriate), not Wheeler. Point them at wheeler/integrations/llmsr/vendor/NOTICE.md for the BibTeX and at the upstream repository for the real pipeline.
Preflight
-
Confirm the tool is installed AND its engine actually loaded: run
wheeler llmsr --help. Treat it as unavailable if the command exits non-zero or its output containsUNAVAILABLE:. A zero exit alone is not enough: when the engine fails to import, Wheeler still registers the command group as a stub so the cause stays visible, and--helpthen exits 0 while carryingUNAVAILABLE:in its description line. Report the cause the output actually shows. Do not name a cause the output does not support.-
Output contains
UNAVAILABLE: <error>(runningwheeler llmsrwith no subcommand prints the same thing aswheeler llmsr is unavailable: <error>, and exits 1): the engine is present but one of its imports failed, and the message names the failing module. Report that module. If it isscipy, LLM-SR needs the optional extra (uv tool install wheeler --with scipy, orpip install 'wheeler[llmsr]'). -
No such command 'llmsr': AMBIGUOUS, do not guess. On an older build the subcommand was registered inside a guarded try/except ImportError, so an absent engine AND a present-but-unimportable engine both collapsed to this one message. Get the true cause by importing the module with Wheeler's OWN interpreter, which is often NOT thepython3on PATH (auv toolinstall has its own isolated venv, so a scipy in the system or project Python is irrelevant):WHEELER_PY="$(sed -n '1s/^#!//p' "$(command -v wheeler)")" "$WHEELER_PY" -c "import wheeler.integrations.llmsr.cli"Report whatever that names:
No module named 'scipy'means the scipy extra is missing, not that the build lacks the engine.No module named 'wheeler.integrations.llmsr'means the build genuinely lacks the engine. -
Anything else: quote the error verbatim rather than guessing at a cause.
Stop in every case. Do not attempt the run.
-
-
Read context so the run is shaped by the graph. Use
mcp__wheeler_core__search_contexton the request andmcp__wheeler_query__query_datasets/query_open_questions/query_hypothesesto see the datasets, the motivating question, and any existing hypotheses about the functional form. Post a one-line preamble naming what you found. Use this only to pick inputs and a link target. Do not invent results. Do not do the scientist's thinking.
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.
- 8d ago First seen · 199 lines · 38 tokens per session scan A e2d315b4ad0d
wh:llmsr-discover is a command published in the GitHub repository maxwellsdm1867/wheeler (11 stars, last pushed 6d ago), licensed MIT. It adds 38 tokens to every session and 5,096 once invoked, about $0.0002 per session on Opus 5. 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-31.
Other commands, from other repositories
planning
You are the Planning Agent for NanoResearch. Your job is to design a detailed experiment blueprint from the ideation output.
analysis
You are the Analysis Agent for NanoResearch. Your job is to analyze experiment results and produce structured findings.
cite-check
Verify that citations actually exist and that the claims they support are faithful to the cited source. Runs deterministic existence checks (Crossref / OpenAlex / Semantic Scholar / arXiv) plus a claim-faithfulness pass via the alterlab-citation-verifier skill.
replication-package
Scaffold or audit a social-science replication package at a target directory, and audit the manuscript and its archived research objects against FAIR principles.
paper-review-lite
Run a Critical-Reviewer-style pre-submission audit of the current paper using parallel sub-agents inside Claude Code. Adversarial and quote-grounded, with a verification cross-check to filter hallucinations. Covers content and argument, numerical consistency, references and DOIs, writing quality, figures and…
literature-review
Build or audit a literature review for the task below. Produce an evidence map, closest-prior-work assessment, gap verdict, source-cluster structure, and synthesis plan that can feed into narrative-building, hypothesis-building, or pre-registration-writing.