c-memory
About
c-memory enables persistent memory across Claude Code sessions by storing facts, preferences, and context in local markdown files. It automatically loads key information from `~/.claude/memory/MEMORY.md` at session start and allows saving important learnings during interactions. Developers should use this skill to maintain continuity and personalization across multiple coding sessions.
Quick Install
Claude Code
Recommendednpx skills add daxaur/openpaw -a claude-code/plugin add https://github.com/daxaur/openpawgit clone https://github.com/daxaur/openpaw.git ~/.claude/skills/c-memoryCopy and paste this command in Claude Code to install this skill
Documentation
Memory — Persistent Context
Store and recall facts, preferences, and context across Claude Code sessions.
How It Works
Memory lives in ~/.claude/memory/ as plain markdown files. Read them at session start, write to them when you learn something important.
Directory Structure
~/.claude/memory/
├── MEMORY.md # Key facts — always read this first
├── people.md # People the user mentions (names, roles, preferences)
├── preferences.md # User preferences (tools, workflows, habits)
├── projects.md # Active projects and their context
└── journal.md # Session log — append-only, dated entries
Session Start
At the beginning of every session, read ~/.claude/memory/MEMORY.md to load context. This file should be concise — under 100 lines.
When to Save
Save to memory when the user:
- Shares their name, role, or preferences
- Mentions people they work with
- Describes a project or recurring task
- Says "remember this" or "don't forget"
- Corrects you about something
Writing Rules
- MEMORY.md: Key facts only. Keep under 100 lines. Update, don't append.
- people.md: Name, role, relationship, preferences. One section per person.
- preferences.md: Tools, workflows, communication preferences.
- projects.md: Project name, status, key files, context.
- journal.md: Append a dated entry at the end of each session summarizing what was done.
Commands
# Read memory
cat ~/.claude/memory/MEMORY.md
# List memory files
ls ~/.claude/memory/
# Append to journal
echo "## $(date +%Y-%m-%d)" >> ~/.claude/memory/journal.md
Example MEMORY.md
# Memory
## User
- Name: Alex
- Role: Frontend developer
- Prefers TypeScript, uses Neovim
- Timezone: PST
## Active Projects
- ctrl.build — DeFi workflow automation (Next.js + Solidity)
- openpaw — CLI tool for Claude Code setup
## Preferences
- Concise responses, no emoji unless asked
- Always use bun instead of npm
- Dark mode everything
Guidelines
- Never store passwords, API keys, or secrets in memory files
- Always ask before overwriting existing memory entries
- If memory files don't exist, create them on first write
- Keep MEMORY.md focused — move details to topic-specific files
Obsidian Sync (Auto)
If c-obsidian is also installed (check ls ~/.claude/skills/c-obsidian/), automatically sync memory to Obsidian:
On Memory Write
When saving to any memory file, also mirror to Obsidian in an AI/ folder:
obsidian-cli create "AI/Memory" --content "$(cat ~/.claude/memory/MEMORY.md)"
obsidian-cli create "AI/People" --content "$(cat ~/.claude/memory/people.md)"
obsidian-cli create "AI/Preferences" --content "$(cat ~/.claude/memory/preferences.md)"
obsidian-cli create "AI/Projects" --content "$(cat ~/.claude/memory/projects.md)"
Journal → Daily Note
Append session logs to both journal.md and Obsidian's daily note:
obsidian-cli append "$(date +%Y-%m-%d)" "### Claude Session $(date +%H:%M)\n- [summary]"
echo "## $(date +%Y-%m-%d %H:%M)\n- [summary]" >> ~/.claude/memory/journal.md
On Session Start
After reading ~/.claude/memory/MEMORY.md, check Obsidian for newer content:
obsidian-cli search --folder "AI" "Memory"
If the Obsidian version has additional facts, merge them into ~/.claude/memory/MEMORY.md.
Conflict Resolution
~/.claude/memory/is the authoritative quick-access cache- Obsidian is the long-term archive and rich knowledge base
- When in doubt, prefer the most recently modified version
GitHub Repository
Related Skills
qmd
Developmentqmd is a local search and indexing CLI tool that enables developers to index and search through local files using hybrid search combining BM25, vector embeddings, and reranking. It supports both command-line usage and MCP (Model Context Protocol) mode for integration with Claude. The tool uses Ollama for embeddings and stores indexes locally, making it ideal for searching documentation or codebases directly from the terminal.
subagent-driven-development
DevelopmentThis skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.
mcporter
DevelopmentThe mcporter skill enables developers to manage and call Model Context Protocol (MCP) servers directly from Claude. It provides commands to list available servers, call their tools with arguments, and handle authentication and daemon lifecycle. Use this skill for integrating and testing MCP server functionality in your development workflow.
adk-deployment-specialist
DevelopmentThis skill deploys and orchestrates Vertex AI ADK agents using A2A protocol, managing AgentCard discovery, task submission, and supporting tools like Code Execution Sandbox and Memory Bank. It enables building multi-agent systems with sequential, parallel, or loop orchestration patterns in Python, Java, or Go. Use it when asked to deploy ADK agents or orchestrate agent workflows on Google Cloud.
