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 agentmods add commands/sk-lim19f/hypomnema/crystallizegit clone --depth 1 https://github.com/sk-lim19f/HypomnemaWrote 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/sk-lim19f/hypomnema/crystallize)<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>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.00057 | $0.05916 |
| Opus 5 | $0.00028 | $0.02958 |
| Sonnet 5 | $0.00011 | $0.01183 |
| Haiku 4.5 | $0.00006 | $0.00592 |
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.
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:
- Session close — if invoked at the end of a session, run the session-close mechanical-apply path
- 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.
- 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/compactcan pass. Any real close still requires all 5 mandatory files. - 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
sessionLogentry you compose in Step 2. If nothing rose to ADR level, you may recordADR 없음: <one-line reason>in that samesessionLogentry, but gate it on #42's bar: the marker is machine-read and W8 excludes an entry carryingADR 없음(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 nodecisions/directory precondition: run it whether or not that directory exists. - 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.mddoes 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-closeblocker even though the PreCompact hook no longer stops/compacton 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 theADR 없음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. - 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:ingestto capture it undersources/. Proceed only on the user's confirmation.
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.
- yesterday Changed 62769775ad40
- 5d ago First seen · 266 lines · 57 tokens per session scan A 9bafb095d6dd
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.
Other commands, from other repositories
minutes-ideas
Surface recent voice memos and ideas captured from any device. Use when the user asks "what ideas did I have?", "what were my recent memos?", "what did I record while walking?", or wants to recall a captured thought.
learn
Force claude-smart to extract learnings from this session now.
session-end
I'll summarize this coding session and update the memory system with our accomplishments.
memory-store
Store an insight, decision, or pattern to memory.
cc-memory
Configure persistent memory that survives across sessions using a layered approach: split rule files for always-loaded context, auto-memory for organic learning, and optional MCP-backed long-term memory for large codebases.
analyze-context
USE WHEN you want to analyze project context before starting work on a task. Calls context + recall, then synthesizes goals, decisions, gotchas, and relevant memories into a pre-task brief.