save
Skill0 starsChanged 12 days agoMITView on GitHub
Use when the user wants to capture the learnings from the current session into persistent artifacts — auto-memory notes, sub-agent definitions, custom skills, hooks, or project-level CLAUDE.md additions. Triggers on phrases like "/save", "save what we learned", "memorize this session", "capture the learnings", or after a substantial back-and-forth that produced reusable patterns.
36 other projects use a version of this.
Adopted by
Most recently taken up by
- FabianoArthur/claude-code-kitchentheir own version, first seen Nov 8, 2026
- paulogabriel/beryltheir own version, first seen Nov 8, 2026
- matthewwong525/WongStacktheir own version, first seen Nov 8, 2026
- pche-broken-artist/forge-of-thoughttheir own version, first seen Nov 6, 2026
- egregore-labs/egregoretheir own version, first seen Nov 6, 2026
- vidit19sharma/neogentstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use load, ingest and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
TheLatentSpaceLabSkillload
Load a document into memory for RAG
Also in 4 projects that use this
JaimeGBASkillingest
Digest an external source (article, paper, transcript, URL, book chapter) and integrate its content into the knowledge base
Also in 8 projects that use this
ArtemXTechSkillquery
Query data from this vault. USE WHEN user asks about projects, clients, tasks, daily notes. Use grep to extract frontmatter - do NOT read full files.
Also in 4 projects that use this
szweibelSkillidea
Generate a wide field of options when the user is brainstorming, exploring, expanding, or pressure-testing — not recommending or implementing
Also in 3 projects that use this
GoogleSkilldashboard
Configures and launches the GKE Capacity & Triage Dashboard scoped to a GCP project ID, GKE cluster name, or target ML workload ID. Uses the configure-and-launch-dashboard action and launch-workload-dashboard workflow to verify local dashboard health, discover cluster capacity, trigger live scans, and generate deep-linked URLs. Use when the user types "/dashboard", says "launch dashboard", "open dashboard", "show capacity", or "view triage dashboard" with a project, cluster, or workload. Don't use for general workload log querying or automated failure attribution (use the troubleshoot skill).
Also in 4 projects that use this
Microsoft AzureSkilllint
Run all linting and spell checking for TypeScript and Rust code. Run this before committing to catch style issues, clippy warnings, and misspellings.
Also in 5 projects that use this
Other versions36 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 36
- AgriciDaniel/claude-obsidian★ 16ksame name
- egregore-labs/egregore★ 293same name
- romarayt/raytsystem-public-os★ 140same name
- thiagofinch/mega-brain★ 95same name
- sturlese/hippocampus★ 28same name
- endlessblink/master-plan★ 26same name
- pche-broken-artist/forge-of-thought★ 12same name
- CarbeneAI/Forge★ 9same name
- seongjaeryu/bindly-claude-code★ 8same name
- ARCASSystems/FounderOS★ 7same name
26 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 6 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 31 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
After a productive back-and-forth that surfaced a new convention, anti-pattern, or tool usage worth keeping
- Distinctive: line 38
If the learning fits none of the above — drop it.
- Distinctive: line 66
If you're hesitating between two homes, default to Memory (it's the most reversible).
- Distinctive: line 68
If two learnings are about the same topic, merge them.
- Distinctive: line 77
Don't write anything yet. Wait for explicit OK.
- Very specific: line 89
Hook: : add to .claude/settings.json hooks: array with proper matcher + handler.
- Distinctive: line 96
Verify nothing leaked into the wrong scope (user-global vs project-local).
- Very specific: line 103
Mid-session save (recommended cadence): after a productive 1h+ session that introduced a new convention.
- Very specific: line 105
Post-test save: after testing a third-party tool (like Ruflo), /save is the natural follow-up to /skillify — /skillify extracts the *idea*, …
“Common” is measured: kept by at least 6 in 10 of the 31 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Save
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.
When to use this skill
Use save when:
- The user explicitly says
/save, "memorize this", "capture what we learned" - A long session has produced multiple reusable patterns and the user wants to harvest them before context is lost
- After a productive back-and-forth that surfaced a new convention, anti-pattern, or tool usage worth keeping
Don't use save when:
- The session was a single one-off task with no transferable learning
- Auto memory will already capture it implicitly (the system writes some memories automatically — don't duplicate)
- The user is asking to save a specific file (that's just
Write, not this skill)
The 5 categories of artifact
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.
The procedure
Track each step with TodoWrite from the start.
Step 1 — Review the session
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:
- Is already in
MEMORY.md(runRead ~/.claude/projects/<project>/memory/MEMORY.mdfirst to know what's already there) - Is in CLAUDE.md (
Read CLAUDE.md) - Is trivial / one-off / "what to do next" task state
Step 2 — Categorize each candidate
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.
Step 3 — Confirm with user
Present the categorized list via AskUserQuestion. Let the user :
- ✅ Approve all
- ✏️ Edit specific items (re-categorize, rename, drop)
- ❌ Drop some
Don't write anything yet. Wait for explicit OK.
Step 4 — Write artifacts
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.
Step 5 — Update indices & finalize
- For memories: append a line to
MEMORY.mdindex in the format- [Title](file.md) — one-line hook - Verify nothing leaked into the wrong scope (user-global vs project-local).
- Propose a single commit if applicable:
chore: capture session learnings (memories + skills + ...).
Examples
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.
Anti-patterns
- ❌ Saving everything. Apply quality bar — if a future session won't gain from this, drop it.
- ❌ Putting a workflow into Memory instead of a Skill. Workflows belong to Skills (or Agents).
- ❌ Putting a one-off project decision into the user-global
~/.claude/CLAUDE.md. Project-specific stays project-local. - ❌ Skipping confirmation. Always present the categorized list before writing.
- ❌ Re-saving things already covered. Read
MEMORY.mdand existing skills/CLAUDE.md first to avoid duplication. - ❌ Modifying the user-global
~/.claude/CLAUDE.mdwithout explicit text confirmation. Some hooks block self-modification — fall back to printing the suggested change.
Companion skills
/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").- (future) —
/loadcould be its mirror : load relevant memory/skills at session start based on the current task.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

