Use a file-based PARA memory system to store, retrieve, and organize durable knowledge across sessions. Trigger on saving facts, daily notes, entity records, weekly synthesis, recall, tacit user patterns, or plan memory.
Persistent, file-based memory organized by Tiago Forte's PARA method. Three layers: a knowledge graph, daily notes, and tacit knowledge. All paths are relative to $AGENT_HOME.
$AGENT_HOME/life/ -- PARA)Entity-based storage. Each entity gets a folder with two tiers:
summary.md -- quick context, load first.items.yaml -- atomic facts, load on demand.$AGENT_HOME/life/
projects/ # Active work with clear goals/deadlines
<name>/
summary.md
items.yaml
areas/ # Ongoing responsibilities, no end date
people/<name>/
companies/<name>/
resources/ # Reference material, topics of interest
<topic>/
archives/ # Inactive items from the other three
index.md
PARA rules:
Fact rules:
items.yaml.summary.md from active facts.status: superseded, add superseded_by).$AGENT_HOME/life/archives/.When to create an entity:
For the atomic fact YAML schema and memory decay rules, see references/schemas.md.
$AGENT_HOME/memory/YYYY-MM-DD.md)Raw timeline of events -- the "when" layer.
$AGENT_HOME/MEMORY.md)How the user operates -- patterns, preferences, lessons learned.
Memory does not survive session restarts. Files do.
$AGENT_HOME/memory/YYYY-MM-DD.md or the relevant entity file.Use qmd rather than grepping files:
qmd query "what happened at Christmas" # Semantic search with reranking
qmd search "specific phrase" # BM25 keyword search
qmd vsearch "conceptual question" # Pure vector similarity
Index your personal folder: qmd index $AGENT_HOME
Vectors + BM25 + reranking finds things even when the wording differs.
Keep plans in timestamped files in plans/ at the project root (outside personal memory so other agents can access them). Use qmd to search plans. Plans go stale -- if a newer plan exists, do not confuse yourself with an older version. If you notice staleness, update the file to note what it is supersededBy.
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/para-memory-files · pinned to the source commit
# Run from your project root
git clone https://github.com/paperclipai/paperclip.git .skillboard-tmp
git -C .skillboard-tmp checkout 4a641d0980fdaffc4c4e805f6f0a8809eb5702f2
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/para-memory-files" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/paperclipai/paperclip.git .skillboard-tmp
git -C .skillboard-tmp checkout 4a641d0980fdaffc4c4e805f6f0a8809eb5702f2
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/para-memory-files" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/para-memory-files
Scanner static-checks@0.1.0 · commit 4a641d0980fd. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.