feat: Consolidate memory skills & punch up README
Memory Skill: - Merged remember-this into unified memory skill - Now uses Claude OS KBs (not separate memory MCP) - Supports natural language: "remember this:", "save to memory:", etc. - Deleted redundant remember-this skill README: - New tagline: "Give Your AI a Memory" - Added "The Magic" section showing natural language UX - Rewrote "What is Claude OS" with before/after comparison - Added killer line: "Claude is a tool → Claude is a partner" - Compact features table replacing wall of checkmarks 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
b3f9123c5b
commit
90de2e32e4
17 changed files with 253 additions and 340 deletions
65
.claude/settings.local.json
Normal file
65
.claude/settings.local.json
Normal file
|
|
@ -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": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -118,9 +118,8 @@ These commands are installed to `~/.claude/commands/` via the install script:
|
||||||
|
|
||||||
| Skill | Purpose |
|
| 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 |
|
| `initialize-project` | Analyze codebase and generate docs |
|
||||||
| `remember-this` | Auto-save on trigger phrases |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
93
README.md
93
README.md
|
|
@ -8,8 +8,8 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<strong>AI Memory & Knowledge Base System for Claude Code</strong><br>
|
<strong>Give Your AI a Memory</strong><br>
|
||||||
Initialize projects in seconds • Never lose context again
|
<em>Claude Code that actually remembers you.</em>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
|
@ -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
|
## 🆕 What's New in v2.3
|
||||||
|
|
||||||
> **Latest Release: December 2025**
|
> **Latest Release: December 2025**
|
||||||
|
|
@ -123,35 +141,55 @@ Thanks to our amazing contributors!
|
||||||
|
|
||||||
## 🚀 What is Claude OS?
|
## 🚀 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
|
### After Claude OS
|
||||||
- 🔍 **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
|
|
||||||
|
|
||||||
### 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
|
### The Difference
|
||||||
✅ **Session Insights** - NEW! Parse Claude Code sessions and extract patterns automatically
|
|
||||||
✅ **Lightning-Fast Indexing** - Tree-sitter hybrid indexing: 10,000 files in 30 seconds
|
| Without Claude OS | With Claude OS |
|
||||||
✅ **Real-Time Kanban Board** - Auto-syncing task visualization for agent-os specs
|
|-------------------|----------------|
|
||||||
✅ **One-Command Project Init** - `/claude-os-init` and you're done
|
| Explain the same things repeatedly | Claude remembers your decisions |
|
||||||
✅ **Automatic Context Loading** - Starts every session with relevant memories
|
| Start cold every session | Context loaded automatically |
|
||||||
✅ **Session Management** - Track work, save progress, resume later
|
| Patterns forgotten | Patterns compound over time |
|
||||||
✅ **Documentation Ingestion** - Auto-indexes your docs during setup
|
| Claude is a tool | Claude is a partner |
|
||||||
✅ **Agent-OS Integration** - Optional spec-driven development with 8 specialized agents
|
|
||||||
✅ **Flexible AI** - Choose local Ollama (free) or OpenAI API (paid)
|
### Why It Works
|
||||||
✅ **Template System** - Commands and skills shared via symlinks
|
|
||||||
|
- 🧠 **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):**
|
**Global Skills (always available):**
|
||||||
- **`initialize-project`** - Analyze codebase and generate standards
|
- **`initialize-project`** - Analyze codebase and generate standards
|
||||||
- **`remember-this`** - Auto-save when you say "remember this:"
|
- **`memory`** - Save and recall information (supports "remember this:", "save to memory", etc.)
|
||||||
- **`memory`** - Simple memory management
|
|
||||||
|
|
||||||
**Community Skills (install via `/claude-os-skills`):**
|
**Community Skills (install via `/claude-os-skills`):**
|
||||||
- **36+ skills** from Anthropic Official and Superpowers repos
|
- **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/`)
|
**Global Skills** (`~/.claude/skills/`)
|
||||||
- Available in ALL projects
|
- Available in ALL projects
|
||||||
- Core skills: `memory`, `remember-this`, `initialize-project`
|
- Core skills: `memory`, `initialize-project`
|
||||||
|
|
||||||
**Project Skills** (`{project}/.claude/skills/`)
|
**Project Skills** (`{project}/.claude/skills/`)
|
||||||
- Available only in that project
|
- Available only in that project
|
||||||
|
|
@ -842,7 +879,6 @@ claude-os/
|
||||||
│ │ └── ...
|
│ │ └── ...
|
||||||
│ ├── skills/ # Global skills (symlinked to ~/.claude/)
|
│ ├── skills/ # Global skills (symlinked to ~/.claude/)
|
||||||
│ │ ├── initialize-project/
|
│ │ ├── initialize-project/
|
||||||
│ │ ├── remember-this/
|
|
||||||
│ │ └── memory/
|
│ │ └── memory/
|
||||||
│ ├── skill-library/ # NEW: Local skill templates
|
│ ├── skill-library/ # NEW: Local skill templates
|
||||||
│ │ ├── general/ # General purpose skills
|
│ │ ├── general/ # General purpose skills
|
||||||
|
|
@ -1093,7 +1129,6 @@ If you prefer to uninstall manually:
|
||||||
# Remove symlinks
|
# Remove symlinks
|
||||||
rm ~/.claude/commands/claude-os-*.md
|
rm ~/.claude/commands/claude-os-*.md
|
||||||
rm -rf ~/.claude/skills/initialize-project
|
rm -rf ~/.claude/skills/initialize-project
|
||||||
rm -rf ~/.claude/skills/remember-this
|
|
||||||
rm -rf ~/.claude/skills/memory
|
rm -rf ~/.claude/skills/memory
|
||||||
rm ~/.claude/mcp-servers/code-forge.json
|
rm ~/.claude/mcp-servers/code-forge.json
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ class SkillManager:
|
||||||
TEMPLATES_DIR = Path(__file__).parent.parent.parent / "templates" / "skill-library"
|
TEMPLATES_DIR = Path(__file__).parent.parent.parent / "templates" / "skill-library"
|
||||||
|
|
||||||
# Core skills that should remain global
|
# Core skills that should remain global
|
||||||
CORE_SKILLS = {"memory", "remember-this"}
|
CORE_SKILLS = {"memory"}
|
||||||
|
|
||||||
def __init__(self, project_path: Optional[str] = None):
|
def __init__(self, project_path: Optional[str] = None):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ CLAUDE_OS_COMMANDS=(
|
||||||
# List of Claude OS skills to move
|
# List of Claude OS skills to move
|
||||||
CLAUDE_OS_SKILLS=(
|
CLAUDE_OS_SKILLS=(
|
||||||
"initialize-project"
|
"initialize-project"
|
||||||
"remember-this"
|
"memory"
|
||||||
"memory"
|
"memory"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -131,8 +131,8 @@ if [ -f "$INIT_SKILL_MD" ]; then
|
||||||
echo " ✅ Updated initialize-project/SKILL.md"
|
echo " ✅ Updated initialize-project/SKILL.md"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Update paths in remember-this skill
|
# Update paths in memory skill
|
||||||
REMEMBER_SKILL_MD="${TEMPLATES_DIR}/skills/remember-this/SKILL.md"
|
REMEMBER_SKILL_MD="${TEMPLATES_DIR}/skills/memory/SKILL.md"
|
||||||
if [ -f "$REMEMBER_SKILL_MD" ]; then
|
if [ -f "$REMEMBER_SKILL_MD" ]; then
|
||||||
# Backup original
|
# Backup original
|
||||||
cp "$REMEMBER_SKILL_MD" "${REMEMBER_SKILL_MD}.backup"
|
cp "$REMEMBER_SKILL_MD" "${REMEMBER_SKILL_MD}.backup"
|
||||||
|
|
@ -140,7 +140,7 @@ if [ -f "$REMEMBER_SKILL_MD" ]; then
|
||||||
# Replace hardcoded user paths
|
# Replace hardcoded user paths
|
||||||
sed -i.bak 's|'"${USER_CLAUDE_DIR}"'/|~/.claude/|g' "$REMEMBER_SKILL_MD"
|
sed -i.bak 's|'"${USER_CLAUDE_DIR}"'/|~/.claude/|g' "$REMEMBER_SKILL_MD"
|
||||||
rm -f "${REMEMBER_SKILL_MD}.bak"
|
rm -f "${REMEMBER_SKILL_MD}.bak"
|
||||||
echo " ✅ Updated remember-this/SKILL.md"
|
echo " ✅ Updated memory/SKILL.md"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ Replace `20251101_135211` with your actual backup timestamp.
|
||||||
rm ~/.claude/commands/claude-os-*.md
|
rm ~/.claude/commands/claude-os-*.md
|
||||||
rm ~/.claude/skills/memory
|
rm ~/.claude/skills/memory
|
||||||
rm ~/.claude/skills/initialize-project
|
rm ~/.claude/skills/initialize-project
|
||||||
rm ~/.claude/skills/remember-this
|
rm ~/.claude/skills/memory
|
||||||
|
|
||||||
# Remove virtual environment
|
# Remove virtual environment
|
||||||
rm -rf venv venv_py312 venv_py313
|
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)
|
# 2. Clean installation (keep data, test scripts)
|
||||||
rm -rf venv
|
rm -rf venv
|
||||||
rm ~/.claude/commands/claude-os-*.md
|
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
|
# 3. Test install as if you're a new user
|
||||||
./install.sh
|
./install.sh
|
||||||
|
|
@ -222,7 +222,7 @@ rm -rf venv venv_*
|
||||||
rm -rf node_modules
|
rm -rf node_modules
|
||||||
rm -rf data/claude-os.db
|
rm -rf data/claude-os.db
|
||||||
rm ~/.claude/commands/claude-os-*.md
|
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
|
# 3. Test full setup
|
||||||
./setup.sh
|
./setup.sh
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,7 @@ All these work in any initialized project:
|
||||||
## Skills Available
|
## Skills Available
|
||||||
|
|
||||||
- `initialize-project` - Analyze codebase and generate standards
|
- `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
|
- `memory` - Simple memory management
|
||||||
|
|
||||||
## Agent-OS Commands (If Installed)
|
## Agent-OS Commands (If Installed)
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ Available in ALL projects. These are core skills that come with Claude OS:
|
||||||
| Skill | Description |
|
| Skill | Description |
|
||||||
|-------|-------------|
|
|-------|-------------|
|
||||||
| `memory` | Save and recall information across sessions |
|
| `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 |
|
| `initialize-project` | Analyze codebase and generate documentation |
|
||||||
|
|
||||||
### Project Skills (`{project}/.claude/skills/`)
|
### Project Skills (`{project}/.claude/skills/`)
|
||||||
|
|
@ -71,7 +71,7 @@ The `/claude-os-skills` command provides full skills management:
|
||||||
🌐 GLOBAL SKILLS (always available)
|
🌐 GLOBAL SKILLS (always available)
|
||||||
────────────────────────────────────
|
────────────────────────────────────
|
||||||
✓ memory - Save and recall information
|
✓ memory - Save and recall information
|
||||||
✓ remember-this - Auto-save on trigger phrases
|
✓ memory - Auto-save on trigger phrases
|
||||||
✓ initialize-project - Analyze codebase
|
✓ initialize-project - Analyze codebase
|
||||||
|
|
||||||
📁 PROJECT SKILLS (/path/to/project)
|
📁 PROJECT SKILLS (/path/to/project)
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ fi
|
||||||
echo "" >> "$BACKUP_DIR/symlink_info.txt"
|
echo "" >> "$BACKUP_DIR/symlink_info.txt"
|
||||||
echo "# Symlinked Skills" >> "$BACKUP_DIR/symlink_info.txt"
|
echo "# Symlinked Skills" >> "$BACKUP_DIR/symlink_info.txt"
|
||||||
if [ -d "$HOME/.claude/skills" ]; then
|
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
|
fi
|
||||||
echo -e "${GREEN}✓${NC} Recorded symlink information"
|
echo -e "${GREEN}✓${NC} Recorded symlink information"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ $([ -d "${CLAUDE_OS_DIR}/venv" ] && ${CLAUDE_OS_DIR}/venv/bin/pip list 2>&1 | gr
|
||||||
FILES CREATED
|
FILES CREATED
|
||||||
───────────────────────────────────────────────────────────────
|
───────────────────────────────────────────────────────────────
|
||||||
Commands: $(ls -1 ${USER_CLAUDE_DIR}/commands/claude-os-*.md 2>/dev/null | wc -l | xargs) symlinks
|
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")
|
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")
|
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")
|
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}/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
|
GIT INFORMATION
|
||||||
───────────────────────────────────────────────────────────────
|
───────────────────────────────────────────────────────────────
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ mcp__code-forge__list_skills
|
||||||
🌐 GLOBAL SKILLS (always available)
|
🌐 GLOBAL SKILLS (always available)
|
||||||
────────────────────────────────────
|
────────────────────────────────────
|
||||||
✓ memory - Save and recall information
|
✓ memory - Save and recall information
|
||||||
✓ remember-this - Auto-save on trigger phrases
|
✓ memory - Auto-save on trigger phrases
|
||||||
|
|
||||||
📁 PROJECT SKILLS ({cwd})
|
📁 PROJECT SKILLS ({cwd})
|
||||||
────────────────────────────────────
|
────────────────────────────────────
|
||||||
|
|
@ -211,7 +211,7 @@ mcp__code-forge__delete_skill
|
||||||
✓ Deleted skill '<name>' from project
|
✓ Deleted skill '<name>' 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/`
|
- **Global Skills**: `~/.claude/skills/`
|
||||||
- Available in ALL projects
|
- Available in ALL projects
|
||||||
- Core skills: memory, remember-this
|
- Core skills: memory, memory
|
||||||
|
|
||||||
- **Project Skills**: `{project}/.claude/skills/`
|
- **Project Skills**: `{project}/.claude/skills/`
|
||||||
- Available only in that project
|
- Available only in that project
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ Claude OS Trigger Categories
|
||||||
============================
|
============================
|
||||||
|
|
||||||
remember_this (ENABLED)
|
remember_this (ENABLED)
|
||||||
Invokes: remember-this skill
|
Invokes: memory skill
|
||||||
Phrases: 7 configured
|
Phrases: 7 configured
|
||||||
Description: Auto-saves to Claude OS memories
|
Description: Auto-saves to Claude OS memories
|
||||||
|
|
||||||
|
|
@ -75,7 +75,7 @@ remember_this Triggers
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Status: ENABLED ✓
|
Status: ENABLED ✓
|
||||||
Invokes: remember-this skill
|
Invokes: memory skill
|
||||||
Case Sensitive: No
|
Case Sensitive: No
|
||||||
|
|
||||||
Trigger Phrases (7):
|
Trigger Phrases (7):
|
||||||
|
|
@ -88,12 +88,12 @@ Trigger Phrases (7):
|
||||||
7. "note:"
|
7. "note:"
|
||||||
|
|
||||||
How it works:
|
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.
|
invoked to save your content to Claude OS memories.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
User: "Remember this: We use service objects for business logic"
|
User: "Remember this: We use service objects for business logic"
|
||||||
→ Auto-invokes remember-this skill
|
→ Auto-invokes memory skill
|
||||||
→ Saves to {project}-project_memories
|
→ Saves to {project}-project_memories
|
||||||
|
|
||||||
To add/remove triggers:
|
To add/remove triggers:
|
||||||
|
|
@ -173,7 +173,7 @@ Input: "remember this: test phrase"
|
||||||
|
|
||||||
Matched Category: remember_this
|
Matched Category: remember_this
|
||||||
Matched Phrase: "remember this:"
|
Matched Phrase: "remember this:"
|
||||||
Would Invoke: remember-this skill
|
Would Invoke: memory skill
|
||||||
Status: ENABLED
|
Status: ENABLED
|
||||||
|
|
||||||
Content to process: "test phrase"
|
Content to process: "test phrase"
|
||||||
|
|
@ -249,7 +249,7 @@ Use **Write** tool with complete JSON to update the file.
|
||||||
## Default Trigger Categories
|
## Default Trigger Categories
|
||||||
|
|
||||||
### remember_this
|
### remember_this
|
||||||
Auto-invokes remember-this skill to save to memories
|
Auto-invokes memory skill to save to memories
|
||||||
- Default: ENABLED
|
- Default: ENABLED
|
||||||
- 7 default phrases
|
- 7 default phrases
|
||||||
|
|
||||||
|
|
@ -302,7 +302,7 @@ Structure:
|
||||||
|
|
||||||
## Integration with Skills
|
## 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
|
1. Load triggers from this config file
|
||||||
2. Detect any matching phrase
|
2. Detect any matching phrase
|
||||||
3. Extract content after the trigger phrase
|
3. Extract content after the trigger phrase
|
||||||
|
|
|
||||||
|
|
@ -283,8 +283,7 @@ Parameters: kb_name (e.g., "{{PROJECT_NAME}}-project_memories"), query (your sea
|
||||||
### Available Skills
|
### Available Skills
|
||||||
|
|
||||||
1. **`initialize-project`** - Analyze project and generate coding standards
|
1. **`initialize-project`** - Analyze project and generate coding standards
|
||||||
2. **`remember-this`** - Save insights to Claude OS knowledge bases
|
2. **`memory`** - Save and recall information (supports "remember this:", "save to memory", etc.)
|
||||||
3. **`memory`** - Simple memory management
|
|
||||||
|
|
||||||
{{AGENT_OS_SECTION}}
|
{{AGENT_OS_SECTION}}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,134 +1,121 @@
|
||||||
---
|
---
|
||||||
name: memory
|
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."
|
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."
|
||||||
allowed-tools: Read, Write, Bash
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Memory Skill
|
# Memory Skill
|
||||||
|
|
||||||
## Purpose
|
## 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?"
|
## Trigger Phrases
|
||||||
- **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"
|
|
||||||
|
|
||||||
## 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:
|
## What I Do
|
||||||
- **"Remember: [information]"**
|
|
||||||
- **"Save to memory: [information]"**
|
|
||||||
- **"Memory: [information]"**
|
|
||||||
- **"Store this: [information]"**
|
|
||||||
|
|
||||||
Or ask me to recall:
|
1. **Extract** the key information from what you said
|
||||||
- **"What did we work on yesterday?"**
|
2. **Generate** a clear title and appropriate category
|
||||||
- **"Remind me about the Block deprecation"**
|
3. **Save** to `{project}-project_memories` knowledge base
|
||||||
- **"Search my memory for 'Block 122'"**
|
4. **Confirm** briefly: "Saved: [title]"
|
||||||
- **"Show me my recent memories"**
|
|
||||||
|
|
||||||
## 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
|
I use the Claude OS API directly:
|
||||||
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
|
|
||||||
|
|
||||||
## Memory Structure
|
```bash
|
||||||
|
curl -s -X POST "http://localhost:8051/api/kb/{project}-project_memories/upload" \
|
||||||
Each memory includes:
|
-F "title=[Generated Title]" \
|
||||||
- **Title**: Quick reference name
|
-F "category=[Category]" \
|
||||||
- **Content**: Full details
|
-F "file=@/tmp/memory.md"
|
||||||
- **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"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Example 2: Project Progress
|
## Document Format
|
||||||
```
|
|
||||||
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."
|
|
||||||
|
|
||||||
→ I save with tags: ["BlockDeprecation", "Progress", "Roadmap"]
|
```markdown
|
||||||
→ In future session: "Based on our memory, we completed..."
|
# [Title]
|
||||||
```
|
|
||||||
|
|
||||||
### Example 3: Recall with Context
|
**Date Saved**: [YYYY-MM-DD]
|
||||||
```
|
**Category**: [Category]
|
||||||
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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**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.**
|
||||||
|
|
|
||||||
|
|
@ -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.
|
|
||||||
|
|
@ -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 <<EOF
|
|
||||||
# $TITLE
|
|
||||||
|
|
||||||
**Date Saved**: $DATE
|
|
||||||
**Time**: $TIMESTAMP
|
|
||||||
**Category**: $CATEGORY
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Context
|
|
||||||
|
|
||||||
$CONTENT
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
*Saved to Claude OS - Your AI Memory System*
|
|
||||||
EOF
|
|
||||||
)
|
|
||||||
|
|
||||||
# Save locally first
|
|
||||||
DOC_FILENAME=$(echo "$TITLE" | sed 's/[^a-zA-Z0-9]/_/g').md
|
|
||||||
DOC_PATH="/tmp/${DOC_FILENAME}"
|
|
||||||
|
|
||||||
echo "$DOC_CONTENT" > "$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
|
|
||||||
|
|
@ -57,7 +57,7 @@ done
|
||||||
# Remove skill symlinks
|
# Remove skill symlinks
|
||||||
echo ""
|
echo ""
|
||||||
echo "📁 Removing skill symlinks..."
|
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}"
|
skill_path="${USER_CLAUDE_DIR}/skills/${skill}"
|
||||||
if [ -L "$skill_path" ]; then
|
if [ -L "$skill_path" ]; then
|
||||||
rm -f "$skill_path"
|
rm -f "$skill_path"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue