absorb
Skill0 starsChanged 7 months agoMITView on GitHub
Distill session knowledge into persistent memory — project intent, domain understanding, architectural decisions, and vision. The learning ritual.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- Tcuzzo/backs-aios-skillstheir own version, first seen Nov 3, 2026
- Jason-hub-star/model-orchestratortheir own version, first seen Oct 20, 2026
- brianonbased-dev/HoloScripttheir own version, first seen Aug 20, 2026
- agamarora/second-braintheir own version, first seen Apr 23, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- brianonbased-dev/HoloScript★ 10same name
- agamarora/second-brain★ 2same name
- Tcuzzo/backs-aios-skills★ 2same name
- Jason-hub-star/model-orchestrator★ 0same name
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
12 rules. 0 are common, 9 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
9
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 31
After domain modeling discussions (data schemas, taxonomies, business rules)
- Distinctive: line 32
After architectural decisions that have a *why* behind them
- Distinctive: line 33
When the user shared context about stakeholders, timelines, or vision
- Very specific: line 34
Before /compact or session end to preserve understanding
- Distinctive: line 84
Read the current memory state:
- Distinctive: line 142
Only include sections that have content.
- Very specific: line 163
After creating/updating topic files, update the MEMORY.md index:
- Very specific: line 164
Add one-line pointer for any new file: - Title -- one-line hook
- Distinctive: line 165
Keep entries under 150 chars
- Distinctive: line 166
Don't duplicate content — the index points, it doesn't store
- Distinctive: line 170
If insights are project-specific instructions (not observations but directives), consider updating the project's CLAUDE.md instead:
- Distinctive: line 184
Use Write/Edit tools to persist each insight to the correct file.
“Common” is measured: kept by at least 6 in 10 of the 3 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
/absorb — Session Knowledge Distillation
"What did this session teach us that no file in the repo can?"
Extract project understanding from the current session and persist it to memory. Not code patterns — those live in the code. This captures intent, direction, vision, domain knowledge, and decisions that would otherwise evaporate when context clears.
Memory Location
By default, this skill writes to ~/.claude/memory/. To use a different location, set the CLAUDE_MEMORY_DIR environment variable:
export CLAUDE_MEMORY_DIR="$HOME/my-claude-memory"Throughout this skill, $MEMORY refers to that directory (${CLAUDE_MEMORY_DIR:-$HOME/.claude/memory}).
When to Use
- End of a deep session where you learned things about a project's purpose or direction
- After domain modeling discussions (data schemas, taxonomies, business rules)
- After architectural decisions that have a why behind them
- When the user shared context about stakeholders, timelines, or vision
- Before
/compactor session end to preserve understanding
Arguments
/absorb — Full session distillation
/absorb @project:name — Scope to a specific project
/absorb @dry — Show what would be saved without writingPhase 1: NIGREDO — Extract Raw Knowledge
Scan the entire conversation for knowledge that is NOT derivable from code, git history, or existing docs.
1.1 Classify Findings
For each insight, classify into exactly one type:
| Type | What it captures | Persists to |
| intent | Why a project exists, who it serves, what problem it solves | project_{name}.md |
| direction | Where the project is heading, roadmap, phases, priorities | project_{name}.md |
| domain | Business/domain concepts, taxonomies, terminology, rules | project_{name}.md or dedicated topic file |
| decision | Architectural choices with rationale (the why) | project_{name}.md |
| vision | Long-term aspiration, philosophy, design principles | project_{name}.md |
| person | Stakeholder context, roles, preferences, relationships | project_{name}.md or user_*.md |
| feedback | How the user wants to work, corrections, validated approaches | feedback_*.md |
| reference | External resources, APIs, accounts, credentials context | Existing memory or new reference_*.md |
| infrastructure | Services, ports, configs, deployment topology | MEMORY.md (infrastructure section) |
1.2 Build the Prima Materia
For each finding, capture:
- insight: [one-line statement]
type: [from table above]
evidence: [what in the session proves this — quote or reference]
novelty: [new | extends | contradicts | duplicate]
weight: [critical | important | useful | noise]Drop anything classified as noise or duplicate.
Phase 2: ALBEDO — Purify Against Existing Memory
Read the current memory state:
cat $MEMORY/MEMORY.mdThen check each relevant topic file:
# If project-scoped, read the project memory
cat $MEMORY/project_{name}.md 2>/dev/nullFor each insight:
| Novelty | Action |
| new | Create new entry |
| extends | Merge into existing entry (append detail, don't duplicate) |
| contradicts | Replace old entry with new truth + rationale |
| duplicate | Skip entirely |
Key rule: Real observations from this session beat prior assumptions. If we learned something contradicts an old memory, the new learning wins.
Phase 3: CITRINITAS — Structure for Persistence
3.1 Project Memory Files
For project-scoped insights, organize into a project_{name}.md file with this structure:
---
name: Project Name
description: One-line — what this project is
type: project
---
## Intent
[Why this project exists. The problem it solves. Who it serves.]
## Direction
[Current phase. What's being built now. Near-term priorities.]
## Vision
[Long-term aspiration. What it becomes when "done".]
## Domain Knowledge
[Business concepts, taxonomies, terminology, rules that aren't in the code.]
## Key Decisions
[Architectural choices with WHY. Format: "Decision — because Reason."]
## Stakeholders
[Who's involved, their role, their preferences.]Only include sections that have content. Don't create empty sections.
3.2 Feedback Files
For workflow preferences, create or update feedback_{topic}.md:
---
name: Feedback topic
description: One-line rule
type: feedback
---
[Rule statement]
**Why:** [reason from session]
**How to apply:** [when/where this kicks in]3.3 MEMORY.md Index
After creating/updating topic files, update the MEMORY.md index:
- Add one-line pointer for any new file:
- [Title](file.md) -- one-line hook - Keep entries under 150 chars
- Don't duplicate content — the index points, it doesn't store
3.4 Project CLAUDE.md
If insights are project-specific instructions (not observations but directives), consider updating the project's CLAUDE.md instead:
- Terminology rules ("never use X, always say Y")
- Build commands
- Architecture constraints
- Domain-specific coding rules
CLAUDE.md = instructions for Claude. Memory = observations about the world.
Phase 4: RUBEDO — Write and Verify
4.1 Write Files
Use Write/Edit tools to persist each insight to the correct file. Create new topic files when a project doesn't have one yet.
4.2 Coherence Check
After writing:
- No duplicate entries across files
- No secrets or ephemeral data (task IDs, temp paths) in memory
- Each memory file has correct frontmatter (name, description, type)
- MEMORY.md index has pointers to all new files
- Insights are written as durable facts, not session narration
- Bad: "Today we discovered that the energies table has misclassified entries"
- Good: "The energies table contains 36 form types — not all are energies. Items with () syntax (eg
flight(),Clearing()) are functions/commands, misclassified under form='energy'"
4.3 Potency Report
ABSORBED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Project: {project name or "cross-project"}
Insights captured:
+ {insight 1} [{type}]
+ {insight 2} [{type}]
~ {merged with existing} [{type}]
- {skipped — duplicate/noise}
Files updated:
{path} [{N} changes]
{path} [created]
Understanding depth: {shallow | moderate | deep}
shallow = facts only, no vision/intent captured
moderate = intent + direction + some domain knowledge
deep = full picture: intent, vision, domain, decisions, stakeholders
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━What NOT to Absorb
- Code patterns, file paths, function signatures — read the code
- Git history, who changed what — use git log
- Debugging solutions — the fix is in the commit
- Anything already in CLAUDE.md files
- Temporary state (current task, in-progress work)
- Speculative conclusions from a single data point
The test: "Would a future session benefit from knowing this, AND can't discover it from the codebase?" If both yes, absorb it.
Integration with Other Skills
| Skill | Relationship |
/handoff | /absorb captures understanding; /handoff captures task state. Complementary. |
/pickup | Future sessions benefit from what /absorb persisted |
/compact | Run /absorb before /compact to preserve understanding before context compression |
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.

