crystallize

crystallize is a command for coding agents from sk-lim19f/Hypomnema. It costs 57 tokens per session (5,916 once invoked), scanned A, original, MIT.

A crystallization command turns draft or scattered notes into organized, stable wiki knowledge. It can also run the session-close process when you explicitly wrap up work or prepare for context compaction.

In plain words
What is it for?
It is for consolidating notes, linking lasting knowledge, and completing the project’s session-close save process.
Why use it?
It keeps temporary notes from remaining fragmented and preserves useful conclusions for later work.

Command

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the hypo plugin — 1 skill, 16 commands, 9 hooks shipped together

Install

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.

agentmods
npx agentmods add commands/sk-lim19f/hypomnema/crystallize
Clone the repo
git clone --depth 1 https://github.com/sk-lim19f/Hypomnema

Or install hypo, the plugin that ships this one along with the rest of its 1 skill, 16 commands, 9 hooks.

Wrote 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.

agentmods badge for crystallize

README.md
[![agentmods](https://agentmods.dev/badge/commands/sk-lim19f/hypomnema/crystallize.svg)](https://agentmods.dev/commands/sk-lim19f/hypomnema/crystallize)
Your own site
<a href="https://agentmods.dev/commands/sk-lim19f/hypomnema/crystallize"><img src="https://agentmods.dev/badge/commands/sk-lim19f/hypomnema/crystallize.svg" alt="Measured on agentmods" height="20"></a>
Per session 57 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 5,916 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00057 $0.05916
Opus 5 $0.00028 $0.02958
Sonnet 5 $0.00011 $0.01183
Haiku 4.5 $0.00006 $0.00592

Measured yesterday against content hash 62769775ad40, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

crystallize 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 yesterday.

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.

commands/crystallize.md · 266 lines

How it starts

The opening of the file, as written. The whole thing — 266 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are running /hypo:crystallize. This command serves two purposes:

  1. Session close — if invoked at the end of a session, run the session-close mechanical-apply path
  2. Knowledge synthesis — consolidate draft or scattered wiki pages into stable, well-linked pages

Step 1 — Detect context

If /hypo:crystallize was invoked to close a session (via an explicit close signal like "세션 종료" / "오늘 작업 마무리" / "session close" / "wrap up", an accepted proactive-offer [세션 마무리], or /compact), run Step 1a (advisory reflections) then Steps 2–4 (session-close mechanical apply + recovery) before the synthesis scan. Task completion alone does not put you in close mode. Otherwise skip to Step 5.


Step 1a — Session-close advisory reflections

Before composing the payload (Step 2), run these four reflections and surface each to the user. Every one is advisory (identity guard): the user confirms or declines, and none performs an automatic action, writes a file on its own, or bypasses the mandatory gate.

  1. Trivial-session check (#44) — Was this session trivial (a single bug fix, a single-file edit, or Q&A with no durable artifact)? If so, recommend skipping session-close: "이 세션은 trivial해 보입니다 — session-close를 건너뛸까요?" and proceed only if the user wants a close. A trivial skip is a recommendation, not a bypass: it must not mark the session closed, must not run --mark-session-closed, and must not claim /compact can pass. Any real close still requires all 5 mandatory files.
  2. ADR-candidate check (#41). Did this session make an architectural or design decision (a new pattern, a tradeoff chosen, a convention established)? If yes, ask whether it warrants an ADR and, if so, capture that intent in the sessionLog entry you compose in Step 2. If nothing rose to ADR level, you may record ADR 없음: <one-line reason> in that same sessionLog entry, but gate it on #42's bar: the marker is machine-read and W8 excludes an entry carrying ADR 없음 (with no ADR reference) from the design-history staleness check. Write it only when the session had no design change at all; a sub-ADR design shift takes #42a (append) instead, since the marker would suppress the W8 nudge it needs. Never auto-write an ADR file. Recording the decision (or its absence) in the session-log payload is the only action here. This check carries no decisions/ directory precondition: run it whether or not that directory exists.
  3. design-history staleness check (#42). Two branches, so a stale W8 never blocks a clean close: (a) if this session changed design decisions projects/<name>/design-history.md does not yet reflect (including sub-ADR background, tradeoff, or differentiation shifts), recommend appending now: the W8 lint warning flags this mechanically, and an active-project W8 still counts as a --check-session-close blocker even though the PreCompact hook no longer stops /compact on it, so append before you commit. If the file does not exist yet and this session had a design change, recommend creating it now with that change as the first entry; lint separately flags a missing-but-needed file as W14, a warning that never blocks. (b) only if the session made no design change does the ADR 없음 marker (#41) exempt the entry from W8; do not touch design-history, and do not create the file just to satisfy this branch's check. ADR 없음 means "no design change," a stricter bar than "no ADR-level decision." Never auto-write the file yourself in either branch: recommend it, and let the user decide.
  4. Ingest check (#43) — Did this session consume trustworthy external knowledge (a fetched URL, official docs, or code you verified directly)? If so, recommend running /hypo:ingest to capture it under sources/. Proceed only on the user's confirmation.

Read the full file on GitHub · 266 lines

Changes

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.

  1. yesterday Changed 62769775ad40
  2. 5d ago First seen · 266 lines · 57 tokens per session scan A 9bafb095d6dd

Subscribe to this mod's changes

crystallize is a command published in the GitHub repository sk-lim19f/Hypomnema (10 stars, last pushed yesterday), licensed MIT. It adds 57 tokens to every session and 5,916 once invoked, about $0.0003 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.