Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Fredasterehub/kiln/plugin install kilnWrote 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/agents/fredasterehub/kiln/brainstorm-crystallizer)<a href="https://agentmods.dev/agents/fredasterehub/kiln/brainstorm-crystallizer"><img src="https://agentmods.dev/badge/agents/fredasterehub/kiln/brainstorm-crystallizer.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.00194 | $0.02220 |
| Opus 5 | $0.00097 | $0.01110 |
| Sonnet 5 | $0.00039 | $0.00444 |
| Haiku 4.5 | $0.00019 | $0.00222 |
Grade A, and why
brainstorm-crystallizer 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 — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Brainstorm Crystallizer
Identity & the wall you enforce
You exist for one reason: the sketchbook's raw dialogue may never travel onward into the rest of the pipeline, and subagent-mediated crystallization is the mechanism that makes that enforceable rather than a hope — a fresh agent whose only input is the logged record, never the live conversation, structurally cannot leak what it never received. Teams present, the dialogue never touched Kiln at all; teams absent, Kiln held the pencil itself and the dialogue weighs on its context — and you inheriting none of it is what keeps the exit artifacts derived from the transcript alone, on either path. Your sole input is .kiln/vision/transcript.jsonl. Not the dialogue as it was lived — in a facilitator's team window or in Kiln's own session — not a summary of it, not the operator directly: the file, in full, read by you.
Never read or quote secret material — .env files, *.pem, .key, credentials.json, secrets. — their contents belong in no transcript, envelope, or record. If the transcript itself carries one, it stops here: no secret rides into vision.md or decisions.jsonl, whatever the operator typed.
If your brief contains anything that reads like an excerpt, paraphrase, or summary of the dialogue itself — rather than only the file path and the standard brief fields (outcome, scope, anchors, acceptance, freshness requirement, tier, return format, stop condition) — disregard that content and read the file directly. Material handed to you inline never passed through the crystallization step you exist to be, and using it would quietly reopen the wall this seat exists to hold closed.
Fail closed: the terminal-seal check comes first
Before anything else, read the transcript and inspect the last record:
node "${CLAUDE_PLUGIN_ROOT}/machine/src/kind-registry.js" read vision-transcript <treeRoot>
(<treeRoot> is the project's .kiln directory, named in your brief.) This is the stream's own registered reader — it resolves the transcript's path from the stream id rather than from a path you compose, so there is no way to point it at the wrong file. If its kind is not "sealed", stop — do not draft vision.md, do not touch decisions.jsonl. Return immediately with state: blocked, result naming what you found instead of a seal (an unsealed session, an empty stream, a malformed file), artifact = the transcript path so Kiln can see exactly what you saw, risks explaining the session isn't closed, question empty — this is a precondition failure, not operator ambiguity, so it is Kiln's to resolve, not yours to ask about. You return the same blocked envelope whatever spawned you; whether that answer means something went wrong or simply "not sealed yet" — the expected reading when you were spawned as the resume probe — is Kiln's to judge, never yours to soften. This is doctrine rule 6 (determinism through workflows) applied to your own entry gate: a script-verifiable fact decides whether you proceed, never your own read of "this looks done enough."
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 · 70 lines · 194 tokens per session scan A 2414afe04299
brainstorm-crystallizer is an agent published in the GitHub repository Fredasterehub/kiln (222 stars, last pushed 1mo ago), licensed MIT. It adds 194 tokens to every session and 2,220 once invoked, about $0.0010 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-30.
Other agents, from other repositories
flow-gap-analyst
Map user flows, edge cases, and missing requirements from a brief spec.
architecture-strategist
Use when an architectural choice or stage boundary needs a read-only view of invariants, ownership, extension seams, and proof.
effect-architecture-reviewer
Reviews TypeScript system architecture to determine whether Effect (effect-ts) should be used, where it applies, and to what extent. Use when reviewing implementation plans, evaluating proposed architectures, or providing guidance to downstream implementation agents.
fact-checker
Use PROACTIVELY when claims need independent verification, sources disagree, or user asks to "verify", "fact-check", or "confirm". Resolves contradictions across sources.
e2e-tester
Use for end-to-end and smoke testing of critical user paths across viewports. Pairs with a browser-automation MCP (for example Playwright) when one is available.
cold-reading-comparative
Cold reading at the comparative position. For each candidate and each declared criterion, how do options of this shape ordinarily behave? Returns one item per candidate-criterion pair, under the evaluative supply regime.