agent-memory
npx skills add https://github.com/dimkinv/favorite-skills --skill agent-memory
Agent 安装分布
Skill 文档
Agent Memory
An agent-first persistent memory space for storing knowledge that survives across conversations. Memories are human-readable markdown files so that both the agent and humans can inspect and edit them.
Location
Store memories under:
memories/
(If your runtime expects a specific root, keep memories/ inside the skill folder and reference it relative to the skill directory.)
When to Use
Agent-first usage
Use this skill as a default tool for the agent to record and retrieve knowledge:
- Capture important decisions, rationale, and work completed
- Preserve research findings, tricky fixes, and important commands
- Record in-progress work that should be resumable later
- Check existing memories before starting related work
Explicit user requests
Use this skill when the user asks to:
- Remember or save information
- Recall prior decisions, context, or investigation results
- Resume a workstream after a break
- Review notes, history, or âwhat we decidedâ
- Consolidate / clean up / organize memories
Proactive usage
Save memories at your own initiative when you discover something worth preserving, such as:
- Research findings that took effort to uncover
- Non-obvious patterns, sharp edges, or gotchas
- Solutions to tricky problems (including commands, files, and the âwhyâ)
- Architectural decisions and rationale
- Important decisions and work completed
- In-progress work that may be resumed later
After completing any task or job, you must use this skill to record a brief memory of the work completed (even if no issues were found). Keep it concise and focused on resumption value.
Check memories when starting related work:
- Before investigating a known problem area
- When working on a feature youâve touched before
- When resuming work after a conversation break
What to Store
Focus on resumption value:
- Decision + rationale
- Current state (done / in-progress / blocked)
- Key artifacts (files, links, commands, configs)
- Next steps and open questions
Avoid storing:
- Secrets (API keys, passwords, tokens)
- Personal data not required for the userâs goals
- Large verbatim logs unless essential (prefer summaries + pointer to where to find the log)
Folder Structure
Organize memories into category folders. There is no fixed taxonomy; create categories that match the content.
Guidelines:
- Use
kebab-casefor folder and file names - Consolidate or reorganize as the knowledge base evolves
Example:
memories/
âââ project-context/
â âââ january-2026-focus.md
âââ dependencies/
â âââ iconv-esm-problem.md
âââ performance/
âââ large-file-worker-leak.md
Memory File Format
Every memory must start with YAML frontmatter including a concise summary field.
Required frontmatter
---
summary: "1â2 lines describing what this memory contains (decisive + searchable)"
created: 2026-01-22
---
Optional frontmatter
---
summary: "Worker thread leak during large file processing â cause and fix"
created: 2026-01-15
updated: 2026-01-20
status: in-progress # in-progress | resolved | blocked | abandoned
tags: [performance, worker, memory-leak]
related: [src/core/file/fileProcessor.ts]
---
Body guidelines
Use markdown headings when helpful. Keep content self-contained.
Recommended sections (use whatâs relevant):
- Context
- Decision / Findings
- Evidence (commands, snippets, links)
- Impact
- Next steps
Search Workflow (Summary-first)
Use a summary-first approach to find relevant memories efficiently.
- List categories
ls memories/
- View all summaries
rg "^summary:" memories/ --no-ignore --hidden
- Search summaries for a keyword
rg "^summary:.*KEYWORD" memories/ --no-ignore --hidden -i
- Search by tag
rg "^tags:.*KEYWORD" memories/ --no-ignore --hidden -i
- Full-text search (when summary search isnât enough)
rg "KEYWORD" memories/ --no-ignore --hidden -i
- Read the specific memory file(s) that appear relevant.
Note: if
memories/is gitignored, use--no-ignoreand--hidden.
Operations
Save a memory
- Determine an appropriate category folder
- Check if an existing category fits; otherwise create a new one
- Create a new file (avoid overwriting existing files)
- Write required frontmatter + a clear title and content
Example:
mkdir -p memories/category-name/
# Ensure the target file does not already exist
test -e memories/category-name/filename.md && echo "File exists" && exit 1
cat > memories/category-name/filename.md << 'EOF'
---
summary: "Brief description of this memory"
created: 2026-01-22
status: in-progress
tags: [tag1, tag2]
---
# Title
## Context
## Findings / Decision
## Next steps
EOF
Recall / remind
- Search summaries for relevant terms
- Read only the most promising files
- Summarize back to the user (include the decision + the actionable next step)
Maintain
- Update: when information changes, update the content and add
updated: - Consolidate: merge related memories as they grow
- Delete: remove memories that are no longer relevant
- Reorganize: move memories into better categories over time
Example delete:
rm -f memories/category-name/filename.md
rmdir memories/category-name/ 2>/dev/null || true
Quality Rules
- Write for resumption: a future reader should be able to continue without prior context
- Keep summaries decisive: reading the summary should indicate whether the full file is worth opening
- Prefer clarity over completeness: store what is useful, not everything
- Keep the memory base current: update or delete stale content
Examples (User Prompts That Should Trigger This Skill)
- âRemember this: we decided to migrate to X because â¦â
- âSave these investigation notes for later.â
- âRemind me what we concluded about the caching bug.â
- âWhat did we decide about the API pagination approach?â
- âCheck your notes about the deployment process.â
- âClean up our notes and consolidate duplicates.â