add-compact

add-compact is a skill for Claude Code, Codex from sliamh11/Deus. It costs 40 tokens per session (1,586 once invoked), scanned A, a copy of add-compact, MIT.

A session command that manually compacts a long conversation into a shorter summary while keeping the same session active.

In plain words
What is it for?
It helps manage context in extended sessions by parsing and authorizing a `/compact` command, then forwarding it to the agent system.
Why use it?
Long coding sessions can accumulate too much history, making the agent lose focus or context. This gives trusted users a way to reduce that buildup without starting over.

Skill for Claude CodeCodex

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 skills/sliamh11/deus/add-compact
Any agent
npx skills add sliamh11/Deus --skill add-compact
Clone the repo
git clone --depth 1 https://github.com/sliamh11/Deus

Made for: Claude Code, Codex.

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 add-compact

README.md
[![agentmods](https://agentmods.dev/badge/skills/sliamh11/deus/add-compact.svg)](https://agentmods.dev/skills/sliamh11/deus/add-compact)
Your own site
<a href="https://agentmods.dev/skills/sliamh11/deus/add-compact"><img src="https://agentmods.dev/badge/skills/sliamh11/deus/add-compact.svg" alt="Measured on agentmods" height="20"></a>
Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,586 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 91% copy Near-identical to another mod 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 $0.00040 $0.01586
Opus 5 $0.00020 $0.00793
Sonnet 5 $0.00008 $0.00317
Haiku 4.5 $0.00004 $0.00159

Measured 4d ago against content hash 38f6c6810a2e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

add-compact 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 4d 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.

Origin

This is a copy

91% identical to add-compact — 30 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.

.claude/skills/add-compact/SKILL.md · 134 lines

How it starts

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

Add /compact Command

Adds a /compact session command that compacts conversation history to fight context rot in long-running sessions. Uses the Claude Agent SDK's built-in /compact slash command — no synthetic system prompts.

Session contract: /compact keeps the same logical session alive. The SDK returns a new session ID after compaction (via the init system message), which the agent-runner forwards to the orchestrator as newSessionId. No destructive reset occurs — the agent retains summarized context.

Phase 1: Pre-flight

Check if src/session-commands.ts exists:

test -f src/session-commands.ts && echo "Already applied" || echo "Not applied"

If already applied, skip to Phase 3 (Verify).

Phase 2: Apply Code Changes

Check if the compact feature files are already present in the local codebase:

test -f src/session-commands.ts && echo "Already present" || echo "Not present"

If not present, the compact feature needs to be implemented locally. The following files are involved:

  • src/session-commands.ts (extract and authorize session commands)
  • src/session-commands.test.ts (unit tests for command parsing and auth)
  • Session command interception in src/index.ts (both processGroupMessages and startMessageLoop)
  • Slash command handling in container/agent-runner/src/index.ts

Validate

npm test
npm run build

Rebuild container

./container/build.sh

Restart service

launchctl kickstart -k gui/$(id -u)/com.deus  # macOS
# Linux: systemctl --user restart deus

Phase 3: Verify

Integration Test

  1. Start Deus in dev mode: npm run dev
  2. From the main group (self-chat), send exactly: /compact
  3. Verify:
    • The agent acknowledges compaction (e.g., "Conversation compacted.")
    • The session continues — send a follow-up message and verify the agent responds coherently
    • A conversation archive is written to groups/{folder}/conversations/ (by the PreCompact hook)
    • Container logs show Compact boundary observed (confirms SDK actually compacted)
    • If compact_boundary was NOT observed, the response says "compact_boundary was not observed"
  4. From a non-main group as a non-admin user, send: @<assistant> /compact
  5. Verify:
    • The bot responds with "Session commands require admin access."
    • No compaction occurs, no container is spawned for the command
  6. From a non-main group as the admin (device owner / is_from_me), send: @<assistant> /compact
  7. Verify:
    • Compaction proceeds normally (same behavior as main group)
  8. While an active container is running for the main group, send /compact
  9. Verify:
    • The active container is signaled to close (authorized senders only — untrusted senders cannot kill in-flight work)
    • Compaction proceeds via a new container once the active one exits
    • The command is not dropped (no cursor race)
  10. Send a normal message, then /compact, then another normal message in quick succession (same polling batch):
  11. Verify:
    • Pre-compact messages are sent to the agent first (check container logs for two runAgent calls)
    • Compaction proceeds after pre-compact messages are processed
    • Messages after /compact in the batch are preserved (cursor advances to /compact's timestamp only) and processed on the next poll cycle
  12. From a non-main group as a non-admin user, send @<assistant> /compact:
  13. Verify:
    • Denial message is sent ("Session commands require admin access.")
    • The /compact is consumed (cursor advanced) — it does NOT replay on future polls
    • Other messages in the same batch are also consumed (cursor is a high-water mark — this is an accepted tradeoff for the narrow edge case of denied /compact + other messages in the same polling interval)
    • No container is killed or interrupted
  14. From a non-main group (with requiresTrigger enabled) as a non-admin user, send bare /compact (no trigger prefix):
  15. Verify:
    • No denial message is sent (trigger policy prevents untrusted bot responses)
    • The /compact is consumed silently
    • Note: in groups where requiresTrigger is false, a denial message IS sent because the sender is considered reachable
  16. After compaction, verify no auto-compaction behavior — only manual /compact triggers it

Read the full file on GitHub · 134 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. 4d ago First seen · 134 lines · 40 tokens per session scan A 38f6c6810a2e

Subscribe to this mod's changes

add-compact is a skill published in the GitHub repository sliamh11/Deus (51 stars, last pushed today), licensed MIT. It adds 40 tokens to every session and 1,586 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 91% identical to add-compact, differing in 30 lines, and is treated as a copy.

Related

Other skills, from other repositories

memcord

Privacy-first, self-hosted chat memory for OpenClaw — save and recall conversation history across sessions without any cloud dependency.

ukkit/memcord · 28 tokens

mem9

Persistent cloud memory for OpenClaw agents. Use when users say: "install mem9" "setup memory" "add memory plugin" "openclaw memory" "mem9 onboarding" "memory not working" "import memories" "upload sessions".

unvulcanised-watercress762/mem9 · 63 tokens

mem9

Persistent cloud memory for OpenClaw agents. Use when users say: "install mem9" "setup memory" "add memory plugin" "openclaw memory" "mem9 onboarding" "memory not working" "import memories" "upload sessions".

unvulcanised-watercress762/mem9 · 63 tokens

workflow-builder

Design, build, and maintain autonomous OpenClaw workflows (stewards). Use when creating new workflow agents, improving existing ones, evaluating automation opportunities, or debugging workflow reliability. Triggers on "build a workflow", "create a steward", "automate this process", "workflow audit", "what should I…

TechNickAI/openclaw-config · 86 tokens

smart-delegation

Intelligent task delegation — route to think with deep reasoning for hard problems, or Grok for unfiltered takes. Teaches when to escalate, how to pack context into sub-agent spawns, and how to communicate delays transparently. Default: handle directly on chat (thinking off). Escalate only when the quality gain…

TechNickAI/openclaw-config · 80 tokens

claude-code

Route real repo work to Claude Code instead of editing by hand. Triggers on "claude code" or "cc", and on any request to edit, fix, refactor, or open a PR in a repo outside /.openclaw/workspace. Claude Code picks up the repo's CLAUDE.md / AGENTS.md, applies its standards, and knows the /ai-coding-config:multi-review…

TechNickAI/openclaw-config · 105 tokens