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 skills/laserphaser/claude-ltm/ltm-compactnpx skills add LaserPhaser/claude-ltm --skill ltm-compactgit clone --depth 1 https://github.com/LaserPhaser/claude-ltmWrote 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/laserphaser/claude-ltm/ltm-compact)<a href="https://agentmods.dev/skills/laserphaser/claude-ltm/ltm-compact"><img src="https://agentmods.dev/badge/skills/laserphaser/claude-ltm/ltm-compact.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.00017 | $0.00485 |
| Opus 5 | $0.00009 | $0.00243 |
| Sonnet 5 | $0.00003 | $0.00097 |
| Haiku 4.5 | $0.00002 | $0.00049 |
Grade A, and why
ltm: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 5d 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 — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Compact — Extract Decisions to Memory
Perform a compact pass: review everything that happened in this session and
capture any significant decisions that aren't yet in .memory/DECISIONS.md.
What to do
-
Read
.memory/DECISIONS.mdto understand what's already recorded. -
Review this session's work. Look for:
- Architecture or design choices that were made
- Technology or library selections
- Approaches that were tried and rejected
- Business logic decisions or constraints discovered
- Changes to previously recorded decisions
- Current project status (focus, blockers, open questions)
-
For each unrecorded decision:
- "Significant" = something a teammate joining next week would need to know.
- Add a
### headingwith today's date and up to ~10 lines of context. - If the decision is truly complex (>10 lines needed), create a detail file
in
.memory/details/YYYY-MM-DD-<topic>.mdand link to it. - If a prior decision was superseded, update it in-place with what changed and why. Add a Changelog entry.
- Check for duplicates — update existing entries rather than adding new ones.
-
Update the
## Statussection with current focus, blockers, and open questions. -
Update the
> Auto-maintained by claude-ltm. Last updated:date. -
Report to the user what was captured (or that nothing new was found).
Detail file format
When creating a detail file in .memory/details/, use this structure:
---
decision: <title>
date: YYYY-MM-DD
status: ACTIVE
---
<!-- Valid status values: ACTIVE, SUPERSEDED -->
## Context
[Why this decision was needed — 2-3 sentences]
## Decision
[What was chosen and why — concise]
## Alternatives Considered
- Option B: [why rejected]
## Impact
- [Key consequence 1]
Guidelines
- Keep entries concise. This is a decision log, not documentation.
- Routine code changes are NOT decisions. Choosing a database IS.
- When in doubt about significance, record it — pruning is easier than recreating.
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.
- 5d ago First seen · 69 lines · 17 tokens per session scan A 12bfbecb62b2
ltm:compact is a skill published in the GitHub repository LaserPhaser/claude-ltm (4 stars, last pushed 4mo ago), licensed MIT. It adds 17 tokens to every session and 485 once invoked, about $0.0001 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 skills, from other repositories
memory-map
Two-tier project memory system. Maintains a global Claude memory snapshot of all ongoing projects AND a per-project STATUS.md file in each project folder that captures last-session state, next actions, blockers, and key locations — so context survives long absences. Operates in two modes. WRITE mode triggers when the…
memory-prune
Clean stale, outdated, or redundant entries from Claude's stored memory. Use this skill when the user says things like "clean up memory", "prune memory", "memory is getting cluttered", "remove old entries", "consolidate memory", or "trim the memory map". Also trigger proactively when memory approaches its limits — 30…
memory-recall
Load and summarise stored project memory at the start of a session, or whenever the user asks what Claude remembers about their work. Use this skill when the user says things like "what do you remember", "what's the context", "where did we leave off", "catch me up", "what's the current state", "show me the memory…
gather-context
Before working on a task, pull the relevant slices of the project's ground truth from the manifest, write a short context brief, and confirm it with the human in one batch. Re-run at each phase boundary, not just at the start.
mem0-dream
Consolidates stored memories by merging duplicates, resolving contradictions, and pruning stale entries. Use when memory count is high, search results feel noisy or repetitive, or periodic cleanup is needed to maintain memory quality.
mem0-tour
Browses all stored memories grouped by category with full content display. Use when reviewing all project memories, exploring stored knowledge, onboarding to a project, or getting an overview of captured decisions, conventions, and learnings.