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 pomagrenate/ice_age --skill compressgit clone --depth 1 https://github.com/pomagrenate/ice_ageWrote 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/pomagrenate/ice_age/compress)<a href="https://agentmods.dev/skills/pomagrenate/ice_age/compress"><img src="https://agentmods.dev/badge/skills/pomagrenate/ice_age/compress/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/pomagrenate/ice_age/compress"><img src="https://agentmods.dev/badge/skills/pomagrenate/ice_age/compress.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.00073 | $0.01030 |
| Opus 5.5 | $0.00029 | $0.00412 |
| Sonnet 5.5 | $0.00015 | $0.00206 |
| Haiku 4.5 | $0.00007 | $0.00103 |
Grade A, and why
compress 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.
This is a copy
84% identical to caveman-compress — 22 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Iceage Compress
Purpose
Compress natural language files (CLAUDE.md, todos, preferences) into iceage-speak to reduce input tokens. Compressed version overwrites original. Human-readable backup saved as <filename>.original.md.
Trigger
/iceage:compress <filepath> or when user asks to compress a memory file.
Process
-
This SKILL.md lives alongside
go/in the same directory. Find that directory. -
Run:
cd <directory_containing_this_SKILL.md>/go && go run . <absolute_filepath>
- The CLI will:
- detect file type (no tokens)
- call Claude to compress
- validate output (no tokens)
- if errors: cherry-pick fix with Claude (targeted fixes only, no recompression)
- retry up to 2 times
- if still failing after 2 retries: report error to user, leave original file untouched
- Return result to user
Compression Rules
Remove
- Articles: a, an, the
- Filler: just, really, basically, actually, simply, essentially, generally
- Pleasantries: "sure", "certainly", "of course", "happy to", "I'd recommend"
- Hedging: "it might be worth", "you could consider", "it would be good to"
- Redundant phrasing: "in order to" → "to", "make sure to" → "ensure", "the reason is because" → "because"
- Connective fluff: "however", "furthermore", "additionally", "in addition"
Preserve EXACTLY (never modify)
- Code blocks (fenced ``` and indented)
- Inline code (
backtick content) - URLs and links (full URLs, markdown links)
- File paths (
/src/components/...,./config.yaml) - Commands (
npm install,git commit,docker build) - Technical terms (library names, API names, protocols, algorithms)
- Proper nouns (project names, people, companies)
- Dates, version numbers, numeric values
- Environment variables (
$HOME,NODE_ENV)
Preserve Structure
- All markdown headings (keep exact heading text, compress body below)
- Bullet point hierarchy (keep nesting level)
- Numbered lists (keep numbering)
- Tables (compress cell text, keep structure)
- Frontmatter/YAML headers in markdown files
What ships with it
6 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.
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 · 112 lines · 73 tokens per session scan A e3a39019dedf
compress is a skill published in the GitHub repository pomagrenate/ice_age (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 73 tokens to every session and 1,030 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 84% identical to caveman-compress, differing in 22 lines, and is treated as a copy.
Other skills, from other repositories
entroly-context-control
Surgically select, compress, and recover codebase context using Entroly's MCP tools. Slashes token usage by up to 95% with Merkle-exact recovery receipts and WITNESS verification.
remind
Mechanism-level read path for a remindb MCP server — MemoryTree (orient), MemorySearch/MemoryFetch/MemoryFetchBatch (look up), MemoryDelta/MemoryDiff (resync), MemoryRelated (traverse), MemoryStats/MemoryHistory (inspect), passive remindb:// resources. Use when already driving remindb read tools and need…
memorize
Mechanism-level write path for a remindb MCP server. Two ways to persist memory by content shape — structural/multi-part content as a source file under $REMINDBSOURCE (compile plane → parsed node tree), a single text update via MemoryWrite (flat node, no parsing) — plus…
remindb-setup
Config-first setup wizard for a remindb MCP server — run it as /remindb-setup (interactive), /remindb-setup automode (hands-off), or /remindb-setup only-config (bridge hosts: author .remindb/ only, no env wiring). Two passes. First-time (no server attached yet): detect the host, author the .remindb/ config…
throughline
Use when the user asks to use Throughline from Codex, continue or restore Throughline memory, export read-only handoff context for a local launcher, prepare a new Codex thread handoff, summarize a captured Codex session, or check whether the Throughline Codex Stop hook captured the current session. Hide long…
dream-memory
Consolidate recent logs, sessions, and existing memory files into durable topic memories, normalize dates, prune stale entries, and keep MEMORY.md short enough for prompt use.