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 VitalikPro13/unhollow --skill compushgit clone --depth 1 https://github.com/VitalikPro13/unhollowWrote 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/vitalikpro13/unhollow/compush)<a href="https://agentmods.dev/skills/vitalikpro13/unhollow/compush"><img src="https://agentmods.dev/badge/skills/vitalikpro13/unhollow/compush/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/vitalikpro13/unhollow/compush"><img src="https://agentmods.dev/badge/skills/vitalikpro13/unhollow/compush.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.00062 | $0.00725 |
| Opus 5.5 | $0.00025 | $0.00290 |
| Sonnet 5.5 | $0.00012 | $0.00145 |
| Haiku 4.5 | $0.00006 | $0.00072 |
Grade A, and why
compush 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 2mo 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 — 38 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/compush — record the work, commit, push
Run these steps in order. Every step is scoped to what this session changed — no archaeology, no re-auditing past sessions.
1. Memory
Save or update memory files for anything memory-worthy from this session (hard-won fixes, new patterns, feedback, project context).
- Search first, then write: run
memory_search()for the topic — if an existing file covers it, UPDATE that file; never create a near-duplicate. Delete or fold in files this session made obsolete. - Index discipline: each memory gets ONE line in MEMORY.md, max ~200 chars:
- [Title](file.md) — hook. Detail lives in the topic file, never in the index. If you catch an index entry growing into a paragraph, move the detail into its topic file and shorten the line.
2. Wiki
If the session changed feature behavior, UI, state/store logic, a backend handler, or a data flow: memory_search() for the relevant wiki file(s) and edit them to match the code. Skip only when the change has no behavior surface (comments, formatting, docs-only).
3. Agent instructions (CLAUDE.md or equivalent) — only if a durable rule changed
The instructions file is a lean orientation doc with a hard character budget (pick one for your project — e.g. 40,000 — and enforce it). Most sessions should not touch it.
- Add or adjust an entry only for a durable, load-bearing rule future sessions must see WITHOUT searching — the "you'll silently break something if you don't know this" class.
- Format: 1–3 lines — the actionable rule plus
See <memory file>for the full story. The investigation narrative, war story, and fix history belong in the memory file, never in the instructions file. - Over budget after your edit? Compress or delegate an existing entry to its memory file in the same pass. The budget is not advisory.
4. Living docs — quick targeted reconcile (skip if your project has none)
If the project maintains long-form living docs (architecture doc, design plan, whitepaper), reconcile only what this session touched:
- Take the 2–4 concrete nouns of what the session changed and run ONE
memory_search()plus ONE case-insensitive grep over the doc(s) for them (grep catches exact headings the embedding ranks low). - Hits → read those sections against what the code does NOW and fix stale prose. New design-level concern → add a subsection in the doc's existing voice.
- No hits and the change is cosmetic → done. Either way, state in one line what you checked.
- Do NOT sweep git history for older drift — this step covers the current session only.
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.
- 2mo ago First seen · 38 lines · 62 tokens per session scan A bca5faa8e8c2
compush is a skill published in the GitHub repository VitalikPro13/unhollow (1 stars, last pushed 3mo ago), licensed MIT. It adds 62 tokens to every session and 725 once invoked, about $0.0002 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-08-31.
Other skills, from other repositories
create-pr
Creates a GitHub PR with a Linear-ticket-prefixed title and a decision-led, narrative description for Prisma 8. Use when the user wants to create a pull request, open a PR, or submit changes for review.
git-commit
Generate well-formatted git commit messages following conventional commit standards.
repo-sync
Manage automatic Git syncing on macOS with repo-sync. Use only when the user explicitly invokes /repo-sync.
mcore-split-pr
Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.
engineer-bot-ops
A workflow for carrying an engineering task from scope through implementation and reviewable delivery. It works with a repository's branch, existing changes, rules, checks, and permissions while separating completed, unverified, and next-step work.
contributing
How to contribute to evlog, covering commit and PR conventions, changesets, the Definition of Done, testing rules, and the authored skills that walk through building a new adapter, enricher, framework integration, or map rule. Load this for any question about contributing, opening a PR, or adding something to the…