save — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited save (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.
Reviews the current session and proposes which learnings to persist as which artifact type. Companion to /skillify (which transforms external concepts into skills) — this one captures the internal learnings of a session into the right durable form.
Use save when:
/save, "memorize this", "capture what we learned"Don't use save when:
Write, not this skill)Each captured learning belongs in exactly one home. Pick the right home — wrong home = lost or duplicated.
| Artifact | Path | Use for |
|---|---|---|
| Memory note | ~/.claude/projects/<project>/memory/<name>.md | User profile, feedback (do/don't), project state, references to external systems. Cross-session. |
| Sub-agent | .claude/agents/<name>.md (project) or ~/.claude/agents/<name>.md (user) | A reusable role with its own context window — code-reviewer, security-auditor, lore-curator. |
| Custom skill | .claude/skills/<name>/SKILL.md (project) or ~/.claude/skills/<name>/SKILL.md (user) | A reusable workflow or methodology, slash-commandable. Use /skillify if extracting from an external tool. |
| Hook | .claude/settings.json hooks: block + script in .claude/hooks/<name>.sh | An automatic enforcement at a lifecycle event (PreToolUse, SessionStart, etc.). Not user-callable. |
| CLAUDE.md addition | <project>/CLAUDE.md or ~/.claude/CLAUDE.md | A durable project-level rule that should always be in context. Not a one-shot hint. |
If the learning fits none of the above — drop it. Not everything is worth persisting.
Track each step with TodoWrite from the start.
Re-read the conversation context (the user's recent messages + your own actions). Identify the non-obvious things — patterns the user explicitly validated, mistakes you made + corrections, recurring conventions, tools/URLs the user shared, decisions with rationale.
Skip everything that:
MEMORY.md (run Read ~/.claude/projects/<project>/memory/MEMORY.md first to know what's already there)Read CLAUDE.md)For each learning, propose its home with the table above. Use this template :
1. <one-sentence description of the learning>
→ <Memory | Agent | Skill | Hook | CLAUDE.md>
→ Path: <proposed path>
→ Why this home: <one sentence>If you're hesitating between two homes, default to Memory (it's the most reversible).
If two learnings are about the same topic, merge them. Don't fragment.
Present the categorized list via AskUserQuestion. Let the user :
Don't write anything yet. Wait for explicit OK.
For each approved learning, create the file with proper structure :
Memory note : YAML frontmatter (name, description, type ∈ user/feedback/project/reference) + body. For feedback/project types, include Why: and How to apply: lines.
Sub-agent : YAML frontmatter (name, description ≤ 200 chars, tools, optional model/permissionMode) + body system prompt.
Skill : YAML frontmatter (name, description includes trigger phrases, argument-hint, allowed-tools) + body with When-to-use / Procedure / Examples / Anti-patterns. Cap at ~250 lines. If extracting from external source, prefer /skillify instead.
Hook : add to .claude/settings.json hooks: array with proper matcher + handler. Script in .claude/hooks/<name>.sh made executable.
CLAUDE.md addition : append a clearly-scoped section. Don't dump huge blocks. Project-specific only — don't duplicate the global file.
MEMORY.md index in the format - [Title](file.md) — one-line hookchore: capture session learnings (memories + skills + ...).Mid-session save (recommended cadence): after a productive 1h+ session that introduced a new convention. Run /save to harvest before context closes.
Post-test save: after testing a third-party tool (like Ruflo), /save is the natural follow-up to /skillify — /skillify extracts the idea, /save captures the meta-learnings (what we learned about the testing process itself, the verdict pattern, the watchlist).
End-of-day save: at the end of a long working day, /save to consolidate before tomorrow.
~/.claude/CLAUDE.md. Project-specific stays project-local.MEMORY.md and existing skills/CLAUDE.md first to avoid duplication.~/.claude/CLAUDE.md without explicit text confirmation. Some hooks block self-modification — fall back to printing the suggested change./skillify — when the learning is a concept observed in an external tool, transform it into a skill (Step 4 then becomes "write a skill file via the skillify procedure")./load could be its mirror : load relevant memory/skills at session start based on the current task.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.