diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..2929029 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,65 @@ +{ + "permissions": { + "allow": [ + "SlashCommand(/statusline:preview-statusline)", + "Bash(test:*)", + "Bash(exit 0)", + "Bash(chmod:*)", + "Read(//Users/iamanmp/.claude/**)", + "Bash(pip3 list:*)", + "Bash(pip3 install:*)", + "Bash(pytest:*)", + "Bash(python3.9:*)", + "Bash(python3 -m pytest:*)", + "Bash(python3:*)", + "Bash(tee:*)", + "Read(//private/tmp/**)", + "Bash(git add:*)", + "Bash(git commit:*)", + "Bash(git log:*)", + "Bash(git rev-parse:*)", + "Bash(git push:*)", + "Read(///**)", + "Bash(git rev-list:*)", + "Bash(gh pr create:*)", + "Bash(gh issue edit:*)", + "Bash(gh pr view:*)", + "Read(//Users/iamanmp/**)", + "Bash(curl:*)", + "Bash(sqlite3:*)", + "Bash(ls:*)", + "Bash(cat:*)", + "Bash(claude --version)", + "Bash(find:*)", + "Bash(python test_session_implementation.py:*)", + "Bash(source venv/bin/activate)", + "Bash(pgrep:*)", + "Bash(ps:*)", + "Bash(npm run build:*)", + "Bash(npx tsc:*)", + "WebSearch", + "WebFetch(domain:github.com)", + "WebFetch(domain:skillsmp.com)", + "WebFetch(domain:docs.anthropic.com)", + "WebFetch(domain:docs.claude.com)", + "Bash(pkill:*)", + "Bash(git check-ignore:*)", + "Bash(/Users/iamanmp/Projects/claude-os/venv/bin/python -m pytest:*)", + "Bash(pip show:*)", + "Bash(pip install:*)", + "Skill(memory)", + "WebFetch(domain:thebob.dev)", + "Bash(git -C /Users/iamanmp/Projects/claude-os branch:*)", + "Bash(npx playwright:*)", + "Bash(source:*)", + "WebFetch(domain:localhost)", + "Bash(./stop_all_services.sh:*)", + "Bash(./start_all_services.sh:*)", + "Bash(grep:*)", + "mcp__code-forge__search_knowledge_base", + "mcp__code-forge__upload_document" + ], + "deny": [], + "ask": [] + } +} diff --git a/CLAUDE.md b/CLAUDE.md index 510c13d..d3a0606 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -118,9 +118,8 @@ These commands are installed to `~/.claude/commands/` via the install script: | Skill | Purpose | |-------|---------| -| `memory` | Save and recall information | +| `memory` | Save and recall information (supports trigger phrases like "remember this:") | | `initialize-project` | Analyze codebase and generate docs | -| `remember-this` | Auto-save on trigger phrases | --- diff --git a/README.md b/README.md index 729d682..27ab2f0 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@

- AI Memory & Knowledge Base System for Claude Code
- Initialize projects in seconds • Never lose context again + Give Your AI a Memory
+ Claude Code that actually remembers you.

@@ -42,6 +42,24 @@ --- +## ✨ The Magic + +**You:** "Remember this: our API uses JWT tokens with 15-minute expiry and 7-day refresh tokens" + +**Claude:** *Saved: "API Authentication Strategy" (Architecture)* + +That's it. Next week, next month, next project - Claude remembers. No commands to memorize. No complex setup. Just talk naturally. + +``` +"remember this..." → saved to your knowledge base +"what did we decide?" → searches your memories +"how did we fix that?" → finds past solutions +``` + +**Every conversation makes Claude smarter. Every insight builds your shared knowledge.** + +--- + ## 🆕 What's New in v2.3 > **Latest Release: December 2025** @@ -123,35 +141,55 @@ Thanks to our amazing contributors! ## 🚀 What is Claude OS? -**Claude OS** is **Claude Code's personal memory system** - making AI the best coding assistant in the universe by remembering everything across sessions. +Claude OS isn't just a tool - **it's Claude's memory**. -### The Problem +Think about it: you and Claude work together on a feature. You explain your architecture, your patterns, your preferences. Then you close the terminal... and it's all gone. Tomorrow, you start over. -You work with Claude Code on a feature, close the terminal, come back tomorrow... and Claude forgot everything. You explain the same architecture. You reference the same files. You repeat yourself constantly. +**What if Claude actually remembered?** -### The Solution +### Before Claude OS -**Claude OS gives Claude persistent memory:** +``` +Day 1: "We use JWT tokens with refresh..." +Day 2: "As I mentioned, we use JWT tokens..." +Day 3: "Again, the auth system uses JWT..." +``` -- 📝 **Remembers decisions** across all sessions -- 🔍 **Searches past work** automatically at session start -- 📚 **Indexes your docs** and makes them searchable -- 🧠 **Learns patterns** that improve over time -- 🔄 **100% Local** - Never leaves your machine, fully private +### After Claude OS -### Key Features +``` +Day 1: "Remember this: we use JWT tokens with refresh..." +Day 2: Claude already knows. Applies the pattern automatically. +Day 3: Claude suggests improvements based on what worked. +``` -✅ **Skills Library** - NEW! Browse & install skills from Anthropic and community repos -✅ **Session Insights** - NEW! Parse Claude Code sessions and extract patterns automatically -✅ **Lightning-Fast Indexing** - Tree-sitter hybrid indexing: 10,000 files in 30 seconds -✅ **Real-Time Kanban Board** - Auto-syncing task visualization for agent-os specs -✅ **One-Command Project Init** - `/claude-os-init` and you're done -✅ **Automatic Context Loading** - Starts every session with relevant memories -✅ **Session Management** - Track work, save progress, resume later -✅ **Documentation Ingestion** - Auto-indexes your docs during setup -✅ **Agent-OS Integration** - Optional spec-driven development with 8 specialized agents -✅ **Flexible AI** - Choose local Ollama (free) or OpenAI API (paid) -✅ **Template System** - Commands and skills shared via symlinks +### The Difference + +| Without Claude OS | With Claude OS | +|-------------------|----------------| +| Explain the same things repeatedly | Claude remembers your decisions | +| Start cold every session | Context loaded automatically | +| Patterns forgotten | Patterns compound over time | +| Claude is a tool | Claude is a partner | + +### Why It Works + +- 🧠 **Persistent Knowledge** - Decisions, patterns, solutions saved across sessions +- 🔍 **Automatic Recall** - Relevant memories surface when you need them +- 📚 **Documentation Search** - Your docs indexed and searchable via RAG +- 🎯 **Session Learning** - Claude extracts insights from past conversations +- 🔒 **100% Local** - Your knowledge never leaves your machine + +### Features at a Glance + +| Feature | What It Does | +|---------|--------------| +| **Natural Language Memory** | Just say "remember this" - no commands needed | +| **Session Insights** | Auto-extracts patterns from past conversations | +| **Lightning Indexing** | 10,000 files indexed in 30 seconds | +| **Skills Library** | 36+ community skills, one-click install | +| **Cross-Project Learning** | Patterns from Project A help in Project B | +| **One-Command Setup** | `/claude-os-init` and you're ready | --- @@ -464,8 +502,7 @@ All these work in any initialized project: **Global Skills (always available):** - **`initialize-project`** - Analyze codebase and generate standards -- **`remember-this`** - Auto-save when you say "remember this:" -- **`memory`** - Simple memory management +- **`memory`** - Save and recall information (supports "remember this:", "save to memory", etc.) **Community Skills (install via `/claude-os-skills`):** - **36+ skills** from Anthropic Official and Superpowers repos @@ -600,7 +637,7 @@ Skills are reusable instruction sets that teach Claude specific capabilities. Th **Global Skills** (`~/.claude/skills/`) - Available in ALL projects -- Core skills: `memory`, `remember-this`, `initialize-project` +- Core skills: `memory`, `initialize-project` **Project Skills** (`{project}/.claude/skills/`) - Available only in that project @@ -842,7 +879,6 @@ claude-os/ │ │ └── ... │ ├── skills/ # Global skills (symlinked to ~/.claude/) │ │ ├── initialize-project/ -│ │ ├── remember-this/ │ │ └── memory/ │ ├── skill-library/ # NEW: Local skill templates │ │ ├── general/ # General purpose skills @@ -1093,7 +1129,6 @@ If you prefer to uninstall manually: # Remove symlinks rm ~/.claude/commands/claude-os-*.md rm -rf ~/.claude/skills/initialize-project -rm -rf ~/.claude/skills/remember-this rm -rf ~/.claude/skills/memory rm ~/.claude/mcp-servers/code-forge.json diff --git a/app/core/skill_manager.py b/app/core/skill_manager.py index d577bbb..736809b 100644 --- a/app/core/skill_manager.py +++ b/app/core/skill_manager.py @@ -75,7 +75,7 @@ class SkillManager: TEMPLATES_DIR = Path(__file__).parent.parent.parent / "templates" / "skill-library" # Core skills that should remain global - CORE_SKILLS = {"memory", "remember-this"} + CORE_SKILLS = {"memory"} def __init__(self, project_path: Optional[str] = None): """ diff --git a/cli/claude-os-consolidate.sh b/cli/claude-os-consolidate.sh index e2316e9..2554624 100755 --- a/cli/claude-os-consolidate.sh +++ b/cli/claude-os-consolidate.sh @@ -48,7 +48,7 @@ CLAUDE_OS_COMMANDS=( # List of Claude OS skills to move CLAUDE_OS_SKILLS=( "initialize-project" - "remember-this" + "memory" "memory" ) @@ -131,8 +131,8 @@ if [ -f "$INIT_SKILL_MD" ]; then echo " ✅ Updated initialize-project/SKILL.md" fi -# Update paths in remember-this skill -REMEMBER_SKILL_MD="${TEMPLATES_DIR}/skills/remember-this/SKILL.md" +# Update paths in memory skill +REMEMBER_SKILL_MD="${TEMPLATES_DIR}/skills/memory/SKILL.md" if [ -f "$REMEMBER_SKILL_MD" ]; then # Backup original cp "$REMEMBER_SKILL_MD" "${REMEMBER_SKILL_MD}.backup" @@ -140,7 +140,7 @@ if [ -f "$REMEMBER_SKILL_MD" ]; then # Replace hardcoded user paths sed -i.bak 's|'"${USER_CLAUDE_DIR}"'/|~/.claude/|g' "$REMEMBER_SKILL_MD" rm -f "${REMEMBER_SKILL_MD}.bak" - echo " ✅ Updated remember-this/SKILL.md" + echo " ✅ Updated memory/SKILL.md" fi echo "" diff --git a/docs/guides/BACKUP_RESTORE_GUIDE.md b/docs/guides/BACKUP_RESTORE_GUIDE.md index 62d0ca2..632c4e6 100644 --- a/docs/guides/BACKUP_RESTORE_GUIDE.md +++ b/docs/guides/BACKUP_RESTORE_GUIDE.md @@ -154,7 +154,7 @@ Replace `20251101_135211` with your actual backup timestamp. rm ~/.claude/commands/claude-os-*.md rm ~/.claude/skills/memory rm ~/.claude/skills/initialize-project - rm ~/.claude/skills/remember-this + rm ~/.claude/skills/memory # Remove virtual environment rm -rf venv venv_py312 venv_py313 @@ -200,7 +200,7 @@ Replace `20251101_135211` with your actual backup timestamp. # 2. Clean installation (keep data, test scripts) rm -rf venv rm ~/.claude/commands/claude-os-*.md -rm ~/.claude/skills/{memory,initialize-project,remember-this} +rm ~/.claude/skills/{memory,initialize-project,memory} # 3. Test install as if you're a new user ./install.sh @@ -222,7 +222,7 @@ rm -rf venv venv_* rm -rf node_modules rm -rf data/claude-os.db rm ~/.claude/commands/claude-os-*.md -rm ~/.claude/skills/{memory,initialize-project,remember-this} +rm ~/.claude/skills/{memory,initialize-project,memory} # 3. Test full setup ./setup.sh diff --git a/docs/guides/SHARING_GUIDE.md b/docs/guides/SHARING_GUIDE.md index 891ae1e..ca3bc6c 100644 --- a/docs/guides/SHARING_GUIDE.md +++ b/docs/guides/SHARING_GUIDE.md @@ -169,7 +169,7 @@ All these work in any initialized project: ## Skills Available - `initialize-project` - Analyze codebase and generate standards -- `remember-this` - Auto-save when you say "remember this:" +- `memory` - Auto-save when you say "remember this:" - `memory` - Simple memory management ## Agent-OS Commands (If Installed) diff --git a/docs/guides/SKILLS_GUIDE.md b/docs/guides/SKILLS_GUIDE.md index c217d24..0f3510c 100644 --- a/docs/guides/SKILLS_GUIDE.md +++ b/docs/guides/SKILLS_GUIDE.md @@ -25,7 +25,7 @@ Available in ALL projects. These are core skills that come with Claude OS: | Skill | Description | |-------|-------------| | `memory` | Save and recall information across sessions | -| `remember-this` | Auto-save on trigger phrases like "remember this:" | +| `memory` | Auto-save on trigger phrases like "remember this:" | | `initialize-project` | Analyze codebase and generate documentation | ### Project Skills (`{project}/.claude/skills/`) @@ -71,7 +71,7 @@ The `/claude-os-skills` command provides full skills management: 🌐 GLOBAL SKILLS (always available) ──────────────────────────────────── ✓ memory - Save and recall information - ✓ remember-this - Auto-save on trigger phrases + ✓ memory - Auto-save on trigger phrases ✓ initialize-project - Analyze codebase 📁 PROJECT SKILLS (/path/to/project) diff --git a/scripts/backup_claude_os.sh b/scripts/backup_claude_os.sh index d0d4405..c382cd7 100755 --- a/scripts/backup_claude_os.sh +++ b/scripts/backup_claude_os.sh @@ -79,7 +79,7 @@ fi echo "" >> "$BACKUP_DIR/symlink_info.txt" echo "# Symlinked Skills" >> "$BACKUP_DIR/symlink_info.txt" if [ -d "$HOME/.claude/skills" ]; then - ls -la "$HOME/.claude/skills" | grep -E "(memory|initialize-project|remember-this)" >> "$BACKUP_DIR/symlink_info.txt" 2>/dev/null || echo "No claude-os skills found" >> "$BACKUP_DIR/symlink_info.txt" + ls -la "$HOME/.claude/skills" | grep -E "(memory|initialize-project|memory)" >> "$BACKUP_DIR/symlink_info.txt" 2>/dev/null || echo "No claude-os skills found" >> "$BACKUP_DIR/symlink_info.txt" fi echo -e "${GREEN}✓${NC} Recorded symlink information" diff --git a/scripts/generate_diagnostic.sh b/scripts/generate_diagnostic.sh index a6fbb8d..5cc58b7 100755 --- a/scripts/generate_diagnostic.sh +++ b/scripts/generate_diagnostic.sh @@ -46,7 +46,7 @@ $([ -d "${CLAUDE_OS_DIR}/venv" ] && ${CLAUDE_OS_DIR}/venv/bin/pip list 2>&1 | gr FILES CREATED ─────────────────────────────────────────────────────────────── Commands: $(ls -1 ${USER_CLAUDE_DIR}/commands/claude-os-*.md 2>/dev/null | wc -l | xargs) symlinks -Skills: $(ls -1d ${USER_CLAUDE_DIR}/skills/{memory,initialize-project,remember-this} 2>/dev/null | wc -l | xargs) symlinks +Skills: $(ls -1d ${USER_CLAUDE_DIR}/skills/{memory,initialize-project,memory} 2>/dev/null | wc -l | xargs) symlinks start.sh: $([ -f "${CLAUDE_OS_DIR}/start.sh" ] && echo "Created" || echo "Not created") config.json: $([ -f "${CLAUDE_OS_DIR}/claude-os-config.json" ] && echo "Created" || echo "Not created") MCP config: $([ -f "${USER_CLAUDE_DIR}/mcp-servers/code-forge.json" ] && echo "Created" || echo "Not created") @@ -55,7 +55,7 @@ SYMLINK DETAILS ─────────────────────────────────────────────────────────────── $(ls -la ${USER_CLAUDE_DIR}/commands/claude-os-*.md 2>&1 | head -10) -$(ls -la ${USER_CLAUDE_DIR}/skills/{memory,initialize-project,remember-this} 2>&1 | head -5) +$(ls -la ${USER_CLAUDE_DIR}/skills/{memory,initialize-project,memory} 2>&1 | head -5) GIT INFORMATION ─────────────────────────────────────────────────────────────── diff --git a/templates/commands/claude-os-skills.md b/templates/commands/claude-os-skills.md index 2dc0da6..03ee735 100644 --- a/templates/commands/claude-os-skills.md +++ b/templates/commands/claude-os-skills.md @@ -34,7 +34,7 @@ mcp__code-forge__list_skills 🌐 GLOBAL SKILLS (always available) ──────────────────────────────────── ✓ memory - Save and recall information - ✓ remember-this - Auto-save on trigger phrases + ✓ memory - Auto-save on trigger phrases 📁 PROJECT SKILLS ({cwd}) ──────────────────────────────────── @@ -211,7 +211,7 @@ mcp__code-forge__delete_skill ✓ Deleted skill '' from project ``` -**Note:** Cannot delete global skills (memory, remember-this). These are core to Claude OS. +**Note:** Cannot delete global skills (memory, memory). These are core to Claude OS. --- @@ -219,7 +219,7 @@ mcp__code-forge__delete_skill - **Global Skills**: `~/.claude/skills/` - Available in ALL projects - - Core skills: memory, remember-this + - Core skills: memory, memory - **Project Skills**: `{project}/.claude/skills/` - Available only in that project diff --git a/templates/commands/claude-os-triggers.md b/templates/commands/claude-os-triggers.md index 32ce3ee..f98aeb0 100644 --- a/templates/commands/claude-os-triggers.md +++ b/templates/commands/claude-os-triggers.md @@ -41,7 +41,7 @@ Claude OS Trigger Categories ============================ remember_this (ENABLED) - Invokes: remember-this skill + Invokes: memory skill Phrases: 7 configured Description: Auto-saves to Claude OS memories @@ -75,7 +75,7 @@ remember_this Triggers ====================== Status: ENABLED ✓ -Invokes: remember-this skill +Invokes: memory skill Case Sensitive: No Trigger Phrases (7): @@ -88,12 +88,12 @@ Trigger Phrases (7): 7. "note:" How it works: -When you say any of these phrases, the remember-this skill is automatically +When you say any of these phrases, the memory skill is automatically invoked to save your content to Claude OS memories. Examples: User: "Remember this: We use service objects for business logic" - → Auto-invokes remember-this skill + → Auto-invokes memory skill → Saves to {project}-project_memories To add/remove triggers: @@ -173,7 +173,7 @@ Input: "remember this: test phrase" Matched Category: remember_this Matched Phrase: "remember this:" -Would Invoke: remember-this skill +Would Invoke: memory skill Status: ENABLED Content to process: "test phrase" @@ -249,7 +249,7 @@ Use **Write** tool with complete JSON to update the file. ## Default Trigger Categories ### remember_this -Auto-invokes remember-this skill to save to memories +Auto-invokes memory skill to save to memories - Default: ENABLED - 7 default phrases @@ -302,7 +302,7 @@ Structure: ## Integration with Skills -The remember-this skill will be updated to: +The memory skill will be updated to: 1. Load triggers from this config file 2. Detect any matching phrase 3. Extract content after the trigger phrase diff --git a/templates/project-files/CLAUDE.md.template b/templates/project-files/CLAUDE.md.template index 1b1744f..17c82e5 100644 --- a/templates/project-files/CLAUDE.md.template +++ b/templates/project-files/CLAUDE.md.template @@ -283,8 +283,7 @@ Parameters: kb_name (e.g., "{{PROJECT_NAME}}-project_memories"), query (your sea ### Available Skills 1. **`initialize-project`** - Analyze project and generate coding standards -2. **`remember-this`** - Save insights to Claude OS knowledge bases -3. **`memory`** - Simple memory management +2. **`memory`** - Save and recall information (supports "remember this:", "save to memory", etc.) {{AGENT_OS_SECTION}} diff --git a/templates/skills/memory/SKILL.md b/templates/skills/memory/SKILL.md index b4f6eb1..e8b06d8 100644 --- a/templates/skills/memory/SKILL.md +++ b/templates/skills/memory/SKILL.md @@ -1,134 +1,121 @@ --- name: memory -description: "Save and recall important information from previous sessions. Use when you want to remember technical insights, decisions, project context, or discoveries. Simply say 'remember:' or 'save to memory:' and I'll store it persistently and automatically reference it in future conversations." -allowed-tools: Read, Write, Bash +description: "Save and recall information across sessions. Use when you hear 'remember this', 'save to memory', 'add to your knowledge', or similar. Stores to Claude OS knowledge bases for persistent recall." --- # Memory Skill ## Purpose -Create a persistent memory across all Claude Code sessions without needing to search through knowledge bases. Perfect for: +I use this skill to save important information to my Claude OS knowledge bases so I can recall it in future sessions. This is MY memory system - it makes me smarter over time. -- **Yesterday's work**: "What did we work on yesterday?" -- **Technical insights**: "Remember: Block rendering works like X" -- **Project context**: "Store: We're migrating Block 122 to Rails" -- **Debugging solutions**: "Save: Fixed N+1 query by adding .includes(:blocks)" -- **Architectural decisions**: "Remember: Always use Service classes for business logic" -- **Quick facts**: "Block 122 is 43KB, 1,150 lines" +## Trigger Phrases -## How to Use +When you say anything like: +- "remember this: ..." +- "save this to your memory" +- "add this to your knowledge" +- "don't forget that..." +- "store this: ..." +- "remember that..." +- "save to memory: ..." +- "keep this in mind: ..." -Simply say one of: -- **"Remember: [information]"** -- **"Save to memory: [information]"** -- **"Memory: [information]"** -- **"Store this: [information]"** +## What I Do -Or ask me to recall: -- **"What did we work on yesterday?"** -- **"Remind me about the Block deprecation"** -- **"Search my memory for 'Block 122'"** -- **"Show me my recent memories"** +1. **Extract** the key information from what you said +2. **Generate** a clear title and appropriate category +3. **Save** to `{project}-project_memories` knowledge base +4. **Confirm** briefly: "Saved: [title]" -## What Happens +No questions. No ceremony. Just save it. -When you invoke this skill: +## How I Save -1. **I extract key information** from your statement -2. **I store it in the Memory MCP** with tags and timestamp -3. **I confirm what was saved** and provide instant recall -4. **In future sessions**, I automatically reference this memory when relevant +I use the Claude OS API directly: -## Memory Structure - -Each memory includes: -- **Title**: Quick reference name -- **Content**: Full details -- **Tags**: Keywords for searching (e.g., "Block122", "migration", "appointment-form") -- **Created**: Timestamp -- **Updated**: Last modification time - -## Examples - -### Example 1: Save Technical Insight -``` -You: "Remember: The UserProfile component is the most complex in our app. - It has a 4-step wizard, 600+ lines of inline JavaScript, and handles - phone verification, profile lookup, and settings management." - -→ I save to memory with tags: ["Block122", "Architecture", "Complexity"] -→ I confirm: "✓ Saved to memory: Block 122 complexity analysis" +```bash +curl -s -X POST "http://localhost:8051/api/kb/{project}-project_memories/upload" \ + -F "title=[Generated Title]" \ + -F "category=[Category]" \ + -F "file=@/tmp/memory.md" ``` -### Example 2: Project Progress -``` -You: "Save to memory: We completed Block deprecation research. - Created BLOCKS_DEPRECATION_STRATEGY.md and case study for Block 122. - Next: Build feature flag infrastructure." +## Document Format -→ I save with tags: ["BlockDeprecation", "Progress", "Roadmap"] -→ In future session: "Based on our memory, we completed..." -``` +```markdown +# [Title] -### Example 3: Recall with Context -``` -You: "What was special about Block 122?" - -→ I search memory automatically -→ "From our memory: Block 122 is a 4-step wizard form with 43KB content..." -``` - -## Key Benefits - -✅ **Instant Recall** - No searching through KB or scrolling history -✅ **Automatic Context** - I know what we worked on without asking -✅ **Persistent** - Memories survive session restarts -✅ **Searchable** - Find memories by title, content, or tags -✅ **Organized** - See recent work, all memories, or search specific topics -✅ **Natural** - Just say "remember" and I handle the rest - -## Memory Operations - -### Add Memory -``` -remember: [Your information here] -``` - -### Search Memory -``` -search memory for: [keyword or phrase] -``` - -### Show Recent Memories -``` -show my recent memories (from last 24 hours) -show my memories from yesterday -``` - -### Show All Memories -``` -list all my memories -``` - -### Update Memory -``` -update memory: [title or keyword] with [new information] -``` - -### Clear Memory (if needed) -``` -forget: [memory title or keyword] -``` - -## Technical Details - -**Storage**: ~/.claude/mcp-servers/memory/data/memories.json -**Searchable**: Full-text search on titles, content, and tags -**Timestamped**: All memories include creation and update times -**Persistent**: Survives across all sessions and devices +**Date Saved**: [YYYY-MM-DD] +**Category**: [Category] --- -**Pro Tip**: Use this liberally! Every insight, decision, and discovery you share builds your persistent context. I remember everything you tell me to remember, so you don't have to repeat yourself. +[The information you asked me to remember, well-structured] +## Key Points + +- [Extracted key point 1] +- [Extracted key point 2] + +--- + +*Saved to Claude OS* +``` + +## Categories + +I auto-detect the category based on content: + +| Category | When to Use | +|----------|-------------| +| Architecture | System design, structure decisions | +| Pattern | Code patterns, conventions, best practices | +| Troubleshooting | Bug fixes, solutions, workarounds | +| Decision | Why we chose X over Y | +| Integration | External APIs, third-party services | +| Business Logic | Domain rules, workflows | +| Context | Project background, user preferences | + +## Examples + +### Example 1: Quick Save +``` +You: "remember this: the auth system uses JWT with 15min access tokens and 7-day refresh tokens" + +Me: Saved: "Authentication Token Strategy" (Architecture) +``` + +### Example 2: Pattern +``` +You: "add to your knowledge - when creating services, always return the model on success or an error string on failure" + +Me: Saved: "Service Return Pattern" (Pattern) +``` + +### Example 3: Troubleshooting +``` +You: "don't forget that Rails 4 doesn't support the hash syntax for exists?" + +Me: Saved: "Rails 4 ActiveRecord Compatibility" (Troubleshooting) +``` + +## Recall + +When you ask me to recall, I search my knowledge base: + +- "What do you remember about auth?" +- "Search your memory for service patterns" +- "What did we decide about the database?" + +I use `mcp__code-forge__search_knowledge_base` to find relevant memories. + +## Why This Matters + +Every memory makes me better: +- I don't start cold next session +- I remember YOUR patterns and preferences +- I learn from past solutions +- I build institutional knowledge + +**Use liberally. Every insight saved is an insight I'll have forever.** diff --git a/templates/skills/remember-this/SKILL.md b/templates/skills/remember-this/SKILL.md deleted file mode 100644 index 44010c8..0000000 --- a/templates/skills/remember-this/SKILL.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -name: remember-this -description: "Capture conversation context, insights, or discoveries and save them as markdown documents to Claude OS knowledge bases. Use when you want to save important information like 'remember this:', design decisions, troubleshooting solutions, or architectural patterns for future reference." -allowed-tools: Read, Write, Bash, Task ---- - -# Remember This Skill - -## Purpose - -Automatically capture important context from our conversations and save it to Claude OS knowledge bases so I can reference it in future sessions. Perfect for: - -- Design decisions and rationale -- Troubleshooting solutions discovered -- Architectural patterns you've explained -- Edge cases encountered -- Integration patterns -- Best practices you've shared -- Complex system behavior - -## How to Use - -Simply say one of: -- **"Remember this: [information]"** -- **"Save this: [information]"** -- **"Document this: [information]"** -- **"Remember: [explanation]"** - -## What Happens - -When you invoke this skill: - -1. **I extract the key information** from your statement -2. **I create a formatted markdown document** with proper structure -3. **I upload it to Claude OS** (default: {project}-project_memories KB) -4. **I confirm what was saved** and where -5. **I reference it in future conversations** automatically - -## Document Structure - -```markdown -# [Topic Title] - -**Date Saved**: [Auto-generated] -**Context**: [Where this came from] -**Category**: [Architecture/Integration/Pattern/Troubleshooting/etc] - -[Main content in well-structured format] - -## Key Takeaways -- Bullet point 1 -- Bullet point 2 - -## Related Topics -- Links to related documentation -``` - -## Examples - -### Example 1: Remember a Pattern -``` -User: "Remember this: When creating a new service, always follow this structure: -initialize with domain objects and params, have a single perform method that returns -model on success or error string on failure, use private methods for complex logic." - -→ Saves to: "Service Pattern Guide.md" in project KB -→ I reference it: "Like the pattern you documented, services should..." -``` - -### Example 2: Save a Solution -``` -User: "Save this: Fixed the N+1 query problem in AppointmentsScheduler by adding -.includes(:block_settings, :children) to prevent multiple DB queries." - -→ Saves to: "Query Optimization Solutions.md" -→ I use it: "We can apply the same .includes strategy here..." -``` - -### Example 3: Document an Architecture Decision -``` -User: "Remember: Block model uses acts_as_tree for hierarchical structure because -we need semantic role-based organization of child blocks, not just a flat list." - -→ Saves to: "Blocks System Decisions.md" -→ I reference it: "Following the hierarchical pattern you documented..." -``` - -## Customization - -You can specify: - -- **KB Name**: "Remember this [content] - save to my-project-memories" -- **Document Title**: "Remember this [content] - as 'My Custom Title'" -- **Tags/Category**: "Remember this [content] - category: Integration" - -## Benefits - -✅ **Build institutional knowledge** over time -✅ **I remember context** across sessions -✅ **Reduces repetition** of explanations -✅ **Creates searchable archive** of decisions -✅ **Helps with onboarding** (your knowledge is documented) -✅ **Perfect for discoveries** made during debugging - ---- - -**Pro Tip**: Use this skill liberally! Every insight you share gets permanently indexed and makes me a better developer for your project. diff --git a/templates/skills/remember-this/save-to-mcp.sh b/templates/skills/remember-this/save-to-mcp.sh deleted file mode 100755 index 9d4e0b6..0000000 --- a/templates/skills/remember-this/save-to-mcp.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash - -# save-to-mcp.sh - Save context to Claude OS -# Usage: save-to-mcp.sh "Document Title" "Content" "KB Name (optional)" "Category (optional)" - -TITLE="${1:-Captured Context}" -CONTENT="${2:-}" -KB_NAME="${3:-project_memories}" -CATEGORY="${4:-General}" - -# Sanitize KB name for URL -KB_ENCODED=$(echo "$KB_NAME" | sed 's/ /%20/g') - -# Create timestamp -TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -DATE=$(date +"%Y-%m-%d") - -# Create document -DOC_CONTENT=$(cat < "$DOC_PATH" - -# Upload to Claude OS -API_URL="http://localhost:8051" -RESPONSE=$(curl -s -X POST \ - "$API_URL/api/kb/$KB_ENCODED/upload" \ - -F "file=@$DOC_PATH" \ - -w "\n%{http_code}") - -HTTP_CODE=$(echo "$RESPONSE" | tail -n 1) - -# Check response -if [[ "$HTTP_CODE" =~ ^(200|201)$ ]]; then - echo "✅ Saved to Claude OS" - echo "📁 KB: $KB_NAME" - echo "📄 Title: $TITLE" - echo "🏷️ Category: $CATEGORY" - echo "💾 Local: $DOC_PATH" - exit 0 -else - echo "❌ Failed to save (HTTP $HTTP_CODE)" - echo "Response: $(echo "$RESPONSE" | sed '$d')" - exit 1 -fi diff --git a/uninstall.sh b/uninstall.sh index 054cf71..59c50be 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -57,7 +57,7 @@ done # Remove skill symlinks echo "" echo "📁 Removing skill symlinks..." -for skill in "initialize-project" "remember-this" "memory"; do +for skill in "initialize-project" "memory"; do skill_path="${USER_CLAUDE_DIR}/skills/${skill}" if [ -L "$skill_path" ]; then rm -f "$skill_path"