memory-update — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited memory-update (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Scan session history, surface save-worthy moments, propose → confirm → write. Never fabricate — every proposal must cite a transcript turn.
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).
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.
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.
Run scripts/scan-session.sh "$SESSION_HISTORY_GLOB" → JSON array:
[{ "type": "feedback", "slug": "prefer-foo", "evidence_turn_ids": ["uuid-123"],
"draft_body": "...", "draft_index_entry": "- [Title](file.md) — hook" }, ...]Read references/SIGNAL-HEURISTICS.md to understand which turns qualify. If the user triggered the skill with an explicit instruction ("remember that X"), synthesize a proposal from that instruction directly instead of scanning.
Render each proposal as:
Proposal N — type: feedback
Evidence: turn uuid-123 ("the user said 'stop doing X'")
Draft:
---
name: …
description: …
type: feedback
---
Rule text. **Why:** … **How to apply:** …
Index entry: - [Title](file.md) — hook (N chars)
Accept / Reject / Edit?Wait for explicit user response per proposal. Never write without confirmation.
rg -l -F "<key phrase from draft>" "$MEMORY_DIR"rg works on any directory regardless of git worktree boundaries. If a hit exists, show the existing file's content and ask whether to merge into it or create new.
"$MEMORY_DIR/<type>_<slug>.md" with frontmatter + body."$MEMORY_DIR/MEMORY.md" (≤ 150 chars).Read back each written file; confirm frontmatter parses as YAML (key: value lines present, no tab-indentation errors). Report which files were written and their line counts.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.