install
source · Clone the upstream repo
git clone https://github.com/LaserPhaser/claude-ltm
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/LaserPhaser/claude-ltm "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ltm-save" ~/.claude/skills/laserphaser-claude-ltm-ltm-save && rm -rf "$T"
manifest:
skills/ltm-save/SKILL.mdsource content
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
-
Read
to check for existing related entries..memory/DECISIONS.md -
Parse the user's input to understand the decision being recorded.
-
Check for duplicates — if a similar decision already exists, update it rather than creating a new entry.
-
Add the decision to the appropriate section in
:.memory/DECISIONS.md- Use a
with today's date### heading - Include up to ~10 lines of context explaining the decision and rationale
- Place it under the most fitting
heading (create a new section if none fits — sections are free-form)## Section - If the decision supersedes a prior one, update the old entry in-place and add a Changelog entry
- Use a
-
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
- Create a detail file at
-
Update the
date.> Auto-maintained by claude-ltm. Last updated: -
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]