skills/claude-skills-open/skills/core/memory/SKILL.md
--- name: memory description: Persistent memory: observations, session summaries, search --- # Memory > Persistent memory system: automatic capture of observations, session summaries, memory search ## When to use - "what did I do yesterday?" / "what happened last week?" - "remember this" / "save this decision" - "memory stats" / "show memory" - "search memory" / "find sessions about X" ## Architecture ``` PostToolUse hook → observations (local JSONL) SessionEnd hook → session summary (local
npx skillsauth add aaaaqwq/agi-super-team skills/claude-skills-open/skills/core/memoryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Persistent memory system: automatic capture of observations, session summaries, memory search
PostToolUse hook → observations (local JSONL)
SessionEnd hook → session summary (local + git)
SessionStart hook → inject context (auto)
Hybrid storage:
~/.claude-memory/observations/ (local)$PROJECT_ROOT/memory/sessions/ (git)| What | Path |
|------|------|
| Observations (local) | ~/.claude-memory/observations/ |
| Sessions (local) | ~/.claude-memory/sessions/ |
| Sessions (git) | $PROJECT_ROOT/memory/sessions/ |
| Session index | $PROJECT_ROOT/memory/index.md |
| Search tool | ~/.claude-memory/hooks/memory-search.sh |
| Hook scripts | ~/.claude-memory/hooks/ |
| Config | ~/.claude-memory/config.json |
# By type
~/.claude-memory/hooks/memory-search.sh --type crm_update --days 7
# By project
~/.claude-memory/hooks/memory-search.sh --project $PROJECT_ROOT --days 30
# By tags
~/.claude-memory/hooks/memory-search.sh --tags crm,leads --days 14
# Text search
~/.claude-memory/hooks/memory-search.sh --query "Acme Corp" --days 30
# Full details
~/.claude-memory/hooks/memory-search.sh --query "Acme" --full
# By session
~/.claude-memory/hooks/memory-search.sh --session abc12345
~/.claude-memory/hooks/memory-search.sh --stats
~/.claude-memory/hooks/memory-search.sh --sessions
echo '{"id":"obs-'$(date +%Y%m%d)'-'$(openssl rand -hex 4)'","timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","session_id":"CURRENT_SESSION","type":"decision","tool":"manual","summary":"DECISION_DESCRIPTION","context":{},"project":"$PROJECT_ROOT","tags":["TAG1"]}' >> ~/.claude-memory/observations/observations-$(date +%Y-%m-%d).jsonl
cat $PROJECT_ROOT/memory/sessions/YYYY-MM-DD-SESSION_ID.md
| Type | When |
|------|------|
| feature | New functionality |
| bugfix | Bug fix |
| decision | Architectural/business decision |
| discovery | New knowledge about the system |
| change | General change (git, PR) |
| outreach | Communication through channels |
| crm_update | CRM data change |
| config | Configuration change |
| skill_update | Skill change |
| retrospective | Quality assessment: what worked, what didn't, what to change |
At the end of a session or after a significant task, Claude records a retrospective observation:
echo '{"id":"obs-'$(date +%Y%m%d)'-'$(openssl rand -hex 4)'","timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","session_id":"SESSION_ID","type":"retrospective","tool":"manual","summary":"RETROSPECTIVE TEXT","context":{},"project":"$PROJECT_ROOT","tags":["retro"]}' >> ~/.claude-memory/observations/observations-$(date +%Y-%m-%d).jsonl
What to record:
Summary format: one sentence, specific. For example:
"telegram-send: need to check bot access before bulk sending""change-review was skipped before PR — add a reminder""CSV parsing via csv.DictReader breaks on empty rows — use pandas"When to record:
Retrospective automatically:
## Retrospective)## Last retro in context)4 layers of protection:
<private>...</private> tags → stripped before savingmkdir -p ~/.claude-memory/observations/archive
find ~/.claude-memory/observations -name "observations-*.jsonl" -mtime +30 -exec mv {} ~/.claude-memory/observations/archive/ \;
du -sh ~/.claude-memory/
du -sh $PROJECT_ROOT/memory/
cd $PROJECT_ROOT
git checkout -b update/memory-sessions-$(date +%Y-%m-%d)
git add memory/
git commit -m "Add session summaries for $(date +%Y-%m-%d)"
git push -u origin update/memory-sessions-$(date +%Y-%m-%d)
gh pr create --title "Memory: session summaries $(date +%Y-%m-%d)" --body "Auto-generated session summaries"
gh pr merge --squash --delete-branch
git checkout main && git pull
| Hook | Event | What it does |
|------|-------|--------------|
| session-start.sh | SessionStart | Inject context from past sessions |
| post-tool-use.sh | PostToolUse (Edit/Write/Bash) | Records observations |
| session-end.sh | SessionEnd + PreCompact | Generates session summary |
daily-briefing — morning context (includes memory)show-today — today's tasksquery-leads — CRM searchlog-activity — activity logging (complements observations)development
Technology-agnostic prompt generator that creates customizable AI prompts for scanning codebases and identifying high-quality code exemplars. Supports multiple programming languages (.NET, Java, JavaScript, TypeScript, React, Angular, Python) with configurable analysis depth, categorization methods, and documentation formats to establish coding standards and maintain consistency across development teams.
tools
Expert-level browser automation, debugging, and performance analysis using Chrome DevTools MCP. Use for interacting with web pages, capturing screenshots, analyzing network traffic, and profiling performance.
data-ai
Prompt for creating detailed feature implementation plans, following Epoch monorepo structure.
tools
Interactive prompt refinement workflow: interrogates scope, deliverables, constraints; copies final markdown to clipboard; never writes code. Requires the Joyride extension.