ltm:save

ltm:save is a skill for Claude Code, Codex from LaserPhaser/claude-ltm. It costs 15 tokens per session (415 once invoked), scanned A, original, MIT.

A command for explicitly saving a project decision in .memory/DECISIONS.md, a file that records choices and their reasoning.

In plain words
What is it for?
Recording choices such as selecting a payment provider, organizing them by topic, and noting when a later decision replaces an earlier one.
Why use it?
It keeps important decisions available across coding sessions and updates related entries instead of creating duplicates. It can also link detailed reasoning in a separate file.

Skill for Claude CodeCodex

Part of the claude-ltm plugin — 3 skills shipped together

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/laserphaser/claude-ltm/ltm-save
Any agent
npx skills add LaserPhaser/claude-ltm --skill ltm-save
Clone the repo
git clone --depth 1 https://github.com/LaserPhaser/claude-ltm

Made for: Claude Code, Codex.

Or install claude-ltm, the plugin that ships this one along with the rest of its 3 skills.

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 ltm:save

README.md
[![agentmods](https://agentmods.dev/badge/skills/laserphaser/claude-ltm/ltm-save.svg)](https://agentmods.dev/skills/laserphaser/claude-ltm/ltm-save)
Your own site
<a href="https://agentmods.dev/skills/laserphaser/claude-ltm/ltm-save"><img src="https://agentmods.dev/badge/skills/laserphaser/claude-ltm/ltm-save.svg" alt="Measured on agentmods" height="20"></a>
Per session 15 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 415 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found 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.1 $0.00015 $0.00415
Opus 5 $0.00008 $0.00208
Sonnet 5 $0.00003 $0.00083
Haiku 4.5 $0.00002 $0.00042

Measured 5d ago against content hash 53591e102e23, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

ltm:save 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.

skills/ltm-save/SKILL.md · 62 lines

What it actually says

Save a Decision to Memory

The user wants to explicitly record a specific decision. They may provide the decision as an argument (e.g., /ltm:save chose Stripe for payments) or describe it in their message.

What to do

  1. Read .memory/DECISIONS.md to check for existing related entries.

  2. Parse the user's input to understand the decision being recorded.

  3. Check for duplicates — if a similar decision already exists, update it rather than creating a new entry.

  4. Add the decision to the appropriate section in .memory/DECISIONS.md:

    • Use a ### heading with today's date
    • Include up to ~10 lines of context explaining the decision and rationale
    • Place it under the most fitting ## Section heading (create a new section if none fits — sections are free-form)
    • If the decision supersedes a prior one, update the old entry in-place and add a Changelog entry
  5. If the decision is complex and the user provided extensive rationale:

    • Create a detail file at .memory/details/YYYY-MM-DD-<topic>.md
    • Keep the main file entry concise with a link to the detail file
  6. Update the > Auto-maintained by claude-ltm. Last updated: date.

  7. Confirm to the user what was saved and where.

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]
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. 5d ago First seen · 62 lines · 15 tokens per session scan A 53591e102e23

Subscribe to this mod's changes

ltm:save is a skill published in the GitHub repository LaserPhaser/claude-ltm (4 stars, last pushed 4mo ago), licensed MIT. It adds 15 tokens to every session and 415 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.

Related

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…

shandar/memory-map · 215 tokens

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…

shandar/memory-map · 147 tokens

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…

shandar/memory-map · 156 tokens

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.

t1djani/servo · 52 tokens

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.

mem0ai/mem0 · 46 tokens

mem0-vercel-ai-sdk

Mem0 provider for Vercel AI SDK (@mem0/vercel-ai-provider). TRIGGER when: user mentions "vercel ai sdk", "@mem0/vercel-ai-provider", "createMem0", "retrieveMemories", "addMemories", "getMemories", "searchMemories", "mem0 vercel", "AI SDK provider", "AI SDK memory", or is using generateText/streamText with mem0. Also…

mem0ai/mem0 · 146 tokens