memory-updatelisted
Install: claude install-skill OutlineDriven/odin-claude-plugin
Scan session history, surface save-worthy moments, propose → confirm → write. Never fabricate — every proposal must cite a transcript turn.
## Scope
Creates or revises memory files in the agent's memory directory. Does not delete, merge-stale, or audit existing files (that is `memory-clean`). Does not redact or sanitize (that is `memory-sanitize`).
## Path resolution
```sh
SKILL_SCRIPTS="${MEMORY_UPDATE_SKILL_SCRIPTS:-$HOME/.claude/claude/skills/memory-update/scripts}"
MEMORY_DIR=$("$SKILL_SCRIPTS/resolve-paths.sh" memory_dir)
SESSION_HISTORY_GLOB=$("$SKILL_SCRIPTS/resolve-paths.sh" session_history_glob)
```
Abort on non-zero exit. Override `MEMORY_UPDATE_SKILL_SCRIPTS` if installed outside `$HOME/.claude`. Override `MEMORY_DIR` / `SESSION_HISTORY_GLOB` env vars to target a non-Claude-Code agent's layout.
## Memory types and required sections
Read `references/MEMORY-FRONTMATTER.md` for the full schema. Key rules:
| type | Required extra sections |
|---|---|
| `feedback` | `**Why:**` and `**How to apply:**` |
| `project` | `**Why:**` and `**How to apply:**` |
| `user` | none beyond frontmatter |
| `reference` | none beyond frontmatter |
Filename: `<type>_<slug>.md`. Slug: lowercase, hyphens only, ≤ 40 chars.
## Workflow
### 1. Resolve paths (above)
### 2. Scan session history for proposals
Run `scripts/scan-session.sh "$SESSION_HISTORY_GLOB"` → JSON array:
```json
[{ "type": "feedback", "slug": "prefer-foo", "evidence_turn_ids": ["uuid-123"],
"draft_body": "..