- Move skills/memorygraph/ to skills/_archive/memorygraph/ - Saves ~67 tokens per session from skill loading Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
271 lines
7.3 KiB
Markdown
271 lines
7.3 KiB
Markdown
---
|
|
name: memorygraph
|
|
description: Graph-based memory system for AI-assisted pattern recall, solution matching, and knowledge relationships. USE WHEN storing learnings, recalling past solutions, linking problems to fixes, tracking decisions, or building knowledge connections across sessions.
|
|
---
|
|
|
|
# MemoryGraph - AI Memory Mind Map
|
|
|
|
## Purpose
|
|
|
|
MemoryGraph provides persistent, graph-based memory for pattern recognition and solution recall. While NoteDiscovery handles long-form knowledge articles, MemoryGraph creates a web of interconnected memories optimized for AI retrieval.
|
|
|
|
**Use MemoryGraph for:**
|
|
- Quick learnings and solutions (not full articles)
|
|
- Problem/solution pairs with relationships
|
|
- Decisions and their rationale
|
|
- Patterns that should be recalled automatically
|
|
- Cross-session knowledge accumulation
|
|
|
|
**Use NoteDiscovery for:**
|
|
- Detailed documentation and guides
|
|
- Reference material for humans
|
|
- Structured knowledge articles
|
|
- Searchable documentation
|
|
|
|
## When to Activate This Skill
|
|
|
|
**Explicit triggers:**
|
|
- "Remember this for later"
|
|
- "Store this solution"
|
|
- "What did we learn about X?"
|
|
- "Find solutions for this problem"
|
|
- "Link this to that issue"
|
|
- "What causes this error?"
|
|
- "Show me related memories"
|
|
|
|
**Automatic triggers (per CLAUDE.md Memory Protocol):**
|
|
- After fixing a bug
|
|
- After a git commit
|
|
- After making an architecture decision
|
|
- After discovering a reusable pattern
|
|
- After a successful configuration
|
|
- After troubleshooting sessions
|
|
|
|
## Quick Reference
|
|
|
|
### CLI Commands
|
|
|
|
```bash
|
|
# Store a memory
|
|
python client.py store --type solution --title "Fixed X" --content "Details..." --tags "tag1,tag2" --importance 0.8
|
|
|
|
# Recall memories (natural language search)
|
|
python client.py recall "timeout error redis"
|
|
|
|
# Get specific memory
|
|
python client.py get <memory_id>
|
|
|
|
# Create relationship
|
|
python client.py relate <from_id> <to_id> SOLVES --context "How it solves"
|
|
|
|
# Search with filters
|
|
python client.py search --query "authentication" --types "solution,fix" --tags "python"
|
|
|
|
# Update memory
|
|
python client.py update <memory_id> --title "New title" --importance 0.9
|
|
|
|
# Delete memory
|
|
python client.py delete <memory_id> --force
|
|
|
|
# Get related memories
|
|
python client.py related <memory_id> --types "SOLVES,CAUSES" --depth 2
|
|
|
|
# Statistics
|
|
python client.py stats
|
|
|
|
# Recent activity
|
|
python client.py recent --days 7
|
|
```
|
|
|
|
### Memory Types
|
|
|
|
| Type | When to Use |
|
|
|------|-------------|
|
|
| `solution` | Fix or resolution to a problem |
|
|
| `problem` | Issue or challenge encountered |
|
|
| `error` | Specific error message or condition |
|
|
| `fix` | Code-level patch or correction |
|
|
| `decision` | Architectural or design choice |
|
|
| `code_pattern` | Reusable code pattern |
|
|
| `configuration` | Config that worked |
|
|
| `workflow` | Process or sequence |
|
|
| `general` | Catch-all for other learnings |
|
|
|
|
### Relationship Types
|
|
|
|
**Solution relationships:**
|
|
- `SOLVES` - Solution fixes a problem
|
|
- `FIXES` - Fix addresses an error
|
|
- `ADDRESSES` - General resolution
|
|
- `IMPROVES` - Enhancement over previous
|
|
|
|
**Causal relationships:**
|
|
- `CAUSES` - A causes B
|
|
- `TRIGGERS` - A triggers B
|
|
- `PREVENTS` - A prevents B
|
|
|
|
**Dependency relationships:**
|
|
- `REQUIRES` - A needs B
|
|
- `DEPENDS_ON` - A depends on B
|
|
- `BUILDS_ON` - A extends B
|
|
|
|
**Association:**
|
|
- `RELATED_TO` - General association
|
|
|
|
### Importance Scale
|
|
|
|
| Score | Meaning |
|
|
|-------|---------|
|
|
| 0.8-1.0 | Critical - affects multiple projects, prevents major issues |
|
|
| 0.5-0.7 | Standard - useful pattern or solution |
|
|
| 0.3-0.4 | Minor - nice-to-know, edge cases |
|
|
|
|
## Workflow Patterns
|
|
|
|
### 1. Store a Bug Fix
|
|
|
|
```bash
|
|
# Store the problem
|
|
python client.py store --type problem \
|
|
--title "Redis connection timeouts in production" \
|
|
--content "Connections timing out after 30s idle..." \
|
|
--tags "redis,timeout,production" \
|
|
--importance 0.7
|
|
|
|
# Store the solution
|
|
python client.py store --type solution \
|
|
--title "Configure Redis keepalive and timeout" \
|
|
--content "Added socket_keepalive=True and socket_timeout=300..." \
|
|
--tags "redis,configuration" \
|
|
--importance 0.8
|
|
|
|
# Link them
|
|
python client.py relate <solution_id> <problem_id> SOLVES \
|
|
--context "Keepalive prevents idle disconnections"
|
|
```
|
|
|
|
### 2. Recall Before Starting Work
|
|
|
|
```bash
|
|
# Check what we know about a topic
|
|
python client.py recall "authentication oauth"
|
|
|
|
# Get recent activity
|
|
python client.py recent --days 7
|
|
|
|
# Find solutions for similar problems
|
|
python client.py search --types "solution" --tags "python,api"
|
|
```
|
|
|
|
### 3. Document a Decision
|
|
|
|
```bash
|
|
python client.py store --type decision \
|
|
--title "Chose PostgreSQL over MongoDB" \
|
|
--content "Rationale: Need ACID transactions, complex queries..." \
|
|
--tags "database,architecture,decision" \
|
|
--importance 0.9
|
|
```
|
|
|
|
### 4. Track Error Patterns
|
|
|
|
```bash
|
|
# Store error
|
|
python client.py store --type error \
|
|
--title "ModuleNotFoundError: No module named 'xyz'" \
|
|
--content "Occurs when running in venv without dependencies..." \
|
|
--tags "python,venv,import" \
|
|
--importance 0.5
|
|
|
|
# Store fix
|
|
python client.py store --type fix \
|
|
--title "Reinstall dependencies in active venv" \
|
|
--content "pip install -e . or pip install -r requirements.txt" \
|
|
--tags "python,venv" \
|
|
--importance 0.5
|
|
|
|
# Link
|
|
python client.py relate <fix_id> <error_id> FIXES
|
|
```
|
|
|
|
## Python API Usage
|
|
|
|
```python
|
|
from client import MemoryGraphClient
|
|
|
|
client = MemoryGraphClient()
|
|
|
|
# Store
|
|
memory_id = client.store_memory(
|
|
type="solution",
|
|
title="Redis timeout fix",
|
|
content="Configure keepalive...",
|
|
tags=["redis", "timeout"],
|
|
importance=0.8
|
|
)
|
|
|
|
# Recall
|
|
memories = client.recall_memories("redis timeout", limit=5)
|
|
|
|
# Get with relationships
|
|
memory = client.get_memory(memory_id, include_relationships=True)
|
|
|
|
# Create relationship
|
|
rel_id = client.create_relationship(
|
|
from_memory_id=solution_id,
|
|
to_memory_id=problem_id,
|
|
relationship_type="SOLVES",
|
|
context="Fixes the timeout issue"
|
|
)
|
|
|
|
# Find related
|
|
related = client.get_related_memories(
|
|
memory_id,
|
|
relationship_types=["SOLVES", "CAUSES"],
|
|
max_depth=2
|
|
)
|
|
|
|
# Stats
|
|
stats = client.get_memory_statistics()
|
|
```
|
|
|
|
## Integration with NoteDiscovery
|
|
|
|
These tools complement each other:
|
|
|
|
| Scenario | Use |
|
|
|----------|-----|
|
|
| Quick bug fix | MemoryGraph (store_memory type=fix) |
|
|
| Troubleshooting guide | NoteDiscovery (detailed article) |
|
|
| Decision rationale | MemoryGraph (type=decision) |
|
|
| Architecture documentation | NoteDiscovery |
|
|
| Pattern discovered | MemoryGraph (type=code_pattern) |
|
|
| Best practices guide | NoteDiscovery |
|
|
| Error/solution pair | MemoryGraph (with SOLVES relationship) |
|
|
|
|
**Workflow:** After creating memories in MemoryGraph, consider if a fuller NoteDiscovery article would help. Link them conceptually via tags.
|
|
|
|
## Database Location
|
|
|
|
- **SQLite Database**: `~/.memorygraph/memory.db`
|
|
- **Client**: `~/.claude/skills/memorygraph/client.py`
|
|
- **Schema**: `~/.claude/skills/memorygraph/SCHEMA.md`
|
|
|
|
## Proactive Usage
|
|
|
|
This skill should be used proactively when:
|
|
|
|
1. **Bug fixed** - Store problem + solution + SOLVES relationship
|
|
2. **Git commit made** - Store summary of what was fixed/added
|
|
3. **Architecture decision** - Store choice + rationale
|
|
4. **Pattern discovered** - Store for future recall
|
|
5. **Configuration worked** - Store what worked and why
|
|
6. **Troubleshooting complete** - Store what was tried, what worked
|
|
7. **Session ending** - Prompt: "Should I store today's learnings?"
|
|
|
|
---
|
|
|
|
**Location**: `~/.claude/skills/memorygraph/`
|
|
**Version**: 1.0.0
|
|
**Created**: 2025-12-07
|