.claude/skills/auto-claude-memory/SKILL.md
Auto-Claude Graphiti memory system configuration and usage. Use when setting up memory persistence, configuring LLM/embedding providers, querying knowledge graph, or optimizing memory performance.
npx skillsauth add adaptationio/skrillz auto-claude-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.
Graphiti-based persistent memory for cross-session context retention.
Auto-Claude uses Graphiti with embedded LadybugDB for memory:
Agent Session
│
▼
Memory Manager
│
├──▶ Add Episode (new learnings)
├──▶ Search Nodes (find entities)
├──▶ Search Facts (find relationships)
└──▶ Get Context (relevant memories)
│
▼
Graphiti (Knowledge Graph)
│
▼
LadybugDB (Embedded Storage)
In apps/backend/.env:
# Enable Graphiti memory (default: true)
GRAPHITI_ENABLED=true
Choose LLM and embedding providers:
# LLM provider: openai | anthropic | azure_openai | ollama | google | openrouter
GRAPHITI_LLM_PROVIDER=openai
# Embedder provider: openai | voyage | azure_openai | ollama | google | openrouter
GRAPHITI_EMBEDDER_PROVIDER=openai
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=openai
GRAPHITI_EMBEDDER_PROVIDER=openai
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_MODEL=gpt-4o-mini
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=anthropic
GRAPHITI_EMBEDDER_PROVIDER=voyage
ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
GRAPHITI_ANTHROPIC_MODEL=claude-sonnet-4-5-latest
VOYAGE_API_KEY=pa-xxxxxxxx
VOYAGE_EMBEDDING_MODEL=voyage-3
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=ollama
GRAPHITI_EMBEDDER_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_LLM_MODEL=deepseek-r1:7b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text
OLLAMA_EMBEDDING_DIM=768
Prerequisites:
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull models
ollama pull deepseek-r1:7b
ollama pull nomic-embed-text
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=google
GRAPHITI_EMBEDDER_PROVIDER=google
GOOGLE_API_KEY=AIzaSyxxxxxxxx
GOOGLE_LLM_MODEL=gemini-2.0-flash
GOOGLE_EMBEDDING_MODEL=text-embedding-004
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=azure_openai
GRAPHITI_EMBEDDER_PROVIDER=azure_openai
AZURE_OPENAI_API_KEY=xxxxxxxx
AZURE_OPENAI_BASE_URL=https://your-resource.openai.azure.com/...
AZURE_OPENAI_LLM_DEPLOYMENT=gpt-4
AZURE_OPENAI_EMBEDDING_DEPLOYMENT=text-embedding-3-small
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=openrouter
GRAPHITI_EMBEDDER_PROVIDER=openrouter
OPENROUTER_API_KEY=sk-or-xxxxxxxx
OPENROUTER_LLM_MODEL=anthropic/claude-3.5-sonnet
OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small
# Database name (default: auto_claude_memory)
GRAPHITI_DATABASE=auto_claude_memory
# Storage path (default: ~/.auto-claude/memories)
GRAPHITI_DB_PATH=~/.auto-claude/memories
During Build
New Session
When GRAPHITI_MCP_URL is set, agents can use:
| Tool | Purpose |
|------|---------|
| search_nodes | Search entity summaries |
| search_facts | Search relationships between entities |
| add_episode | Add data to knowledge graph |
| get_episodes | Retrieve recent episodes |
| get_entity_edge | Get specific entity/relationship |
from integrations.graphiti.memory import get_graphiti_memory
# Get memory instance
memory = get_graphiti_memory(spec_dir, project_dir)
# Get context for session
context = memory.get_context_for_session("Implementing feature X")
# Add insight from session
memory.add_session_insight("Pattern: use React hooks for state")
# Search for relevant memories
results = memory.search("authentication patterns")
~/.auto-claude/memories/
├── auto_claude_memory/ # Main database
│ ├── nodes/ # Entity nodes
│ ├── edges/ # Relationships
│ └── episodes/ # Session insights
└── embeddings/ # Vector embeddings
.auto-claude/specs/001-feature/
└── graphiti/ # Spec-specific memory
├── insights.json # Extracted insights
└── context.json # Session context
cd apps/backend
# Query memory
python query_memory.py --search "authentication"
# List recent episodes
python query_memory.py --recent 10
# Get entity details
python query_memory.py --entity "UserService"
Example session:
Session 1:
Agent: "Implemented OAuth login, discovered need to handle token refresh"
Memory: Stores insight about token refresh pattern
Session 2:
Agent: "Implementing user profile..."
Memory: "Previously learned about token refresh in OAuth implementation"
Agent: Uses learned pattern for profile API calls
Let agents learn naturally
Use semantic search
Clean up periodically
| Use Case | Recommended | |----------|-------------| | Production | OpenAI or Anthropic+Voyage | | Development | Ollama (free, offline) | | Enterprise | Azure OpenAI | | Budget | OpenRouter or Google AI |
Embedding model selection
text-embedding-3-small: Fast, good qualitytext-embedding-3-large: Better quality, slowerLLM model selection
gpt-4o-mini: Fast, cost-effectiveclaude-sonnet: High quality reasoningOllama optimization
# Use smaller models for speed
OLLAMA_LLM_MODEL=llama3.2:3b
OLLAMA_EMBEDDING_MODEL=all-minilm
OLLAMA_EMBEDDING_DIM=384
# Check if enabled
grep GRAPHITI apps/backend/.env
# Verify provider credentials
python -c "from integrations.graphiti.memory import get_graphiti_memory; print('OK')"
# OpenAI
curl -H "Authorization: Bearer $OPENAI_API_KEY" https://api.openai.com/v1/models
# Ollama
curl http://localhost:11434/api/tags
# Check logs
DEBUG=true python query_memory.py --search "test"
# Backup and reset
mv ~/.auto-claude/memories ~/.auto-claude/memories.backup
python query_memory.py --search "test" # Creates fresh DB
If changing embedding models:
# Clear existing embeddings
rm -rf ~/.auto-claude/memories/embeddings
# Restart to re-embed
python run.py --spec 001
from integrations.graphiti.queries_pkg.graphiti import GraphitiMemory
# Create custom memory instance
memory = GraphitiMemory(
database="custom_db",
db_path="/path/to/storage",
llm_provider="anthropic",
embedder_provider="voyage"
)
# Custom operations
memory.add_entity("UserService", {"type": "service", "purpose": "auth"})
memory.add_relationship("UserService", "uses", "Database")
Run standalone memory server:
# Start Graphiti MCP server
GRAPHITI_MCP_URL=http://localhost:8000/mcp/ python -m integrations.graphiti.server
development
Setup secure web-based terminal access to WSL2 from mobile/tablet via ttyd + ngrok/Cloudflare/Tailscale. One-command install, start, stop, status. Use when you need remote terminal access, web terminal, browser-based shell, or mobile access to WSL2 environment.
development
Complete development workflows where Claude writes the code while Gemini and Codex provide research, planning, reviews, and different perspectives. Claude remains the main developer. Use for complex projects requiring expert planning and multi-perspective reviews.
development
Systematic progress tracking for skill development. Manages task states (pending/in_progress/completed), updates in real-time, reports progress, identifies blockers, and maintains momentum. Use when tracking skill development, coordinating work, or reporting progress.
testing
Comprehensive testing workflow orchestrating functional testing, example validation, integration testing, and usability assessment. Sequential workflow for complete skill testing from examples through scenarios to integration validation. Use when conducting thorough testing, pre-deployment validation, ensuring skill functionality, or comprehensive quality checks.