Back to Skills

c-memory

daxaur
Updated 2 days ago
6 views
143
6
143
View on GitHub
Developmentmemorycontextpersistence

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

Recommended
Primary
npx skills add daxaur/openpaw -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/daxaur/openpaw
Git CloneAlternative
git clone https://github.com/daxaur/openpaw.git ~/.claude/skills/c-memory

Copy 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

daxaur/openpaw
Path: skills/c-memory
0
ai-agentanthropicautomationclaudeclaude-codecli

Related Skills

qmd

Development

qmd 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.

View skill

subagent-driven-development

Development

This 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.

View skill

mcporter

Development

The 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.

View skill

adk-deployment-specialist

Development

This 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.

View skill