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 skills add grainulation/grainulator --skill beangit clone --depth 1 https://github.com/grainulation/grainulatorWrote 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/skills/grainulation/grainulator/bean)<a href="https://agentmods.dev/skills/grainulation/grainulator/bean"><img src="https://agentmods.dev/badge/skills/grainulation/grainulator/bean/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/skills/grainulation/grainulator/bean"><img src="https://agentmods.dev/badge/skills/grainulation/grainulator/bean.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.00149 | $0.01573 |
| Opus 5.5 | $0.00060 | $0.00629 |
| Sonnet 5.5 | $0.00030 | $0.00315 |
| Haiku 4.5 | $0.00015 | $0.00157 |
Grade A, and why
bean 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 — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.
bean
bean runs a task the way the Fable model worked: it keeps looking where a one-shot answer would stop, kills its own incorrect beliefs as it learns, validates its work against a real signal before declaring done, and improves from its own accumulated notes. It is a recursive convergence loop, not a fixed sequence of phases.
bean runs on a runtime: a claim ledger (typed evidence with tiers, that can be
superseded) plus a compiler that scores convergence (conflicts, coverage gaps, weak
evidence, undischarged risks) and exits nonzero until it is reached. bean ships its own
self-contained compiler — bean-check, a single static binary — as the default, so the loop
has a real gate that runs anywhere. In strict mode it gates load-bearing claims on a real
external oracle (verified_by + bean-verify), and a native Stop hook (bean-hook) couples
it to execution so the agent can't finish until it converges. grainulator/wheat is an
optional richer backend when present. See references/runtime.md.
A note on what this is. bean shapes the procedure a model follows, not its capability ceiling. The recursion and self-correction it prescribes are only as good as the model running them. Treat this as a loop discipline, not a capability transplant.
When NOT to use this
If a task has one obvious correct approach and fits in a single pass, do it directly. The convergence loop earns its cost only when the right answer is not knowable up front — when you have to investigate, get it partly wrong, and correct toward it.
Match the deliverable to the request. If you were asked only to assess — review, audit, recommend — deliver the assessment with its residual; don't quietly turn it into edits. Reversible actions the task plainly implies are fine to take; destructive or scope-expanding ones get confirmed first (see the mutation policy in references/runtime.md).
The loop
Frame once, then iterate the inner loop until it converges. This is loop-until-dry on
the claim graph: you stop when there is nothing decisive left to learn, not after a fixed
number of steps.
What ships with it
17 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 33 B
- references/bean-check.md 6.3 KB
- references/belief-revision.md 4.0 KB
- references/codex-blindspot.md 2.6 KB
- references/convergence.md 9.8 KB
- references/delegate.md 3.0 KB
- references/discover.md 2.2 KB
- references/grainulation.md 3.5 KB
- references/lessons.md 3.1 KB
- references/oracle-gate.md 7.0 KB
- references/runtime-claude.md 1.7 KB
- references/runtime-codex.md 4.1 KB
- references/runtime.md 6.2 KB
- references/self-critique.md 3.3 KB
- references/trace.md 6.2 KB
- references/verbosity.md 1.9 KB
- references/verify.md 8.4 KB
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 · 121 lines · 149 tokens per session scan A 1cdded1e6618
bean is a skill published in the GitHub repository grainulation/grainulator (86 stars, last pushed 2d ago), licensed MIT. It adds 149 tokens to every session and 1,573 once invoked, about $0.0006 per session on Opus 5.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-09-08.
Other skills, from other repositories
opik-evaluate
Build an LLM evaluation and run it against the app, returning an Opik experiment with scores and its link. Picks a test suite with judge assertions or a dataset with metrics, sources cases from traces or synthetic data, scores heuristics-first then one-failure-mode judges, runs client-side via the SDK or server-side…
opik
Reference for the Opik SDK — tracing, span types, framework integrations, threads, and the prompt library (Python, TypeScript, REST). Use for "what span types exist", "how do I flush", "trackopenai", "add OpikTracer", "version a prompt". To instrument a repo end to end, use the opik-instrument skill.
glossary-init
USE WHEN setting up a repo for AI-first work, when an agent hallucinates domain term meaning, or when user asks to bootstrap / extend the repo's domain glossary. Surfaces candidate terms by identifier frequency, asks the user for 1-sentence definitions, writes GLOSSARY.md at repo root. Idempotent — re-running adds new…
hyper-plan
Use when about to start a non-trivial implementation that needs decomposition before coding. Also when the user invokes /hyperclaude:hyper-plan. Produces an ordered, bite-sized plan in .hyperclaude/plans/ — the input for /hyperclaude:hyper-plan-review and /hyperclaude:hyper-implement.
flow-create
Build a correct draft marketing scenario (flow) from a plain-language request: read the flows reference, resolve the entities the design needs to real ids, create and fill the blocks, wire the outputs, verify every block by reading it back, and hand over a link. Use when asked to create, build, assemble or set up a…
git-workflow
Enforces the release-branch Git model: scaffold feature branches, open PRs with review checks, cut releases with tags, and view workflow reference.