Active Skill Listener & Trainer — structured memory layer for AI coding assistants
Project description
SkillMind
Active Skill Listener & Trainer — the structured memory layer for AI coding assistants.
Replace flat markdown memory files with a vector-database-backed system that listens, learns, and surfaces only relevant context per conversation.
🌐 Visit skill-mind.com — Documentation, setup guides, and live demos.
The Problem
| Current state | SkillMind |
|---|---|
| 15+ flat markdown memory files | One vector DB with semantic search |
| Everything loaded into context | Only relevant memories surfaced |
| Manual save/forget | Auto-listen, auto-classify, auto-expire |
| No deduplication | Automatic dedup + consolidation |
| No protection | Sanitizer redacts API keys, PII before storing |
Quick Start (3 Commands)
# 1. Install
pip install skillmind[pinecone]
# 2. Initialize
skillmind init --backend pinecone
# 3. Import your existing Claude Code memories
skillmind import ~/.claude/projects/*/memory/
That's it. Your memories are now in a vector DB with semantic search.
How It Works
┌────────────┐ ┌────────────┐ ┌─────────────────┐
│ LISTENER │───▶│ TRAINER │───▶│ VECTOR STORE │
│ │ │ │ │ │
│ • Git hooks │ │ • Classify │ │ • Chroma (local) │
│ • File watch│ │ • Sanitize │ │ • Pinecone │
│ • Convos │ │ • Dedup │ │ • Supabase │
│ • YouTube │ │ • Merge │ │ • Qdrant │
│ • Screen │ │ • Expire │ │ • FAISS │
└────────────┘ └────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ CLAUDE CODE │
│ (MCP Server) │
│ 23 tools │
└─────────────────┘
5 Vector Store Backends
| Backend | Best for | Requires |
|---|---|---|
| ChromaDB | Solo dev, local, default | pip install skillmind[chroma] |
| Pinecone | Multi-device cloud sync | API key |
| Supabase | SQL + vectors, team sharing | Supabase project |
| Qdrant | Self-hosted or cloud, great filtering | Qdrant server |
| FAISS | Offline, air-gapped, fastest | pip install skillmind[faiss] |
All backends implement the same interface — switch anytime with zero data loss.
23 MCP Tools for Claude Code
Once installed, Claude Code gets these tools:
Memory CRUD
| Tool | What it does |
|---|---|
remember |
Store memory (auto-classified, sanitized, deduped) |
recall |
Semantic search across all memories |
forget |
Delete a memory |
update_memory |
Edit existing memory |
context |
Generate focused context for current file/topic |
consolidate |
Merge duplicates, expire stale, cleanup |
memory_stats |
Counts by type, backend info |
list_memories |
Filter by type/topic |
import_markdown_memories |
Bulk import from Claude Code markdown files |
Video & YouTube Learning
| Tool | What it does |
|---|---|
learn_youtube |
Extract knowledge from YouTube video |
learn_youtube_channel |
Learn from channel's latest videos |
learn_video |
Learn from local video/screen recording |
record_screen |
Record screen to MP4 |
screenshot |
Capture screenshot |
Custom Patterns
| Tool | What it does |
|---|---|
add_pattern |
Create auto-detection regex (e.g. client names, SEO terms) |
list_patterns |
Show all custom patterns |
remove_pattern |
Delete a pattern |
Review Queue
| Tool | What it does |
|---|---|
set_review_mode |
Switch: review (queue first), auto (store directly), off |
get_review_mode |
Show current mode |
review_pending |
Show queued memories waiting for approval |
approve_memory |
Approve single memory → store in vector DB |
reject_memory |
Reject single memory → discard |
approve_all_pending |
Approve all at once |
reject_all_pending |
Clear the queue |
edit_pending |
Edit content/type/topic before approving |
MCP Setup (Claude Code settings.json)
{
"mcpServers": {
"skillmind": {
"command": "python",
"args": ["-m", "skillmind.mcp.server"],
"env": {
"PINECONE_API_KEY": "your-key",
"SKILLMIND_BACKEND": "pinecone"
}
}
}
}
Memory Types
| Type | What | Auto-expires |
|---|---|---|
| user | Role, preferences, expertise | No |
| feedback | Corrections, confirmed approaches | No |
| project | Deadlines, client context, status | 90 days |
| reference | External URLs, dashboards, wikis | No |
| skill | Patterns, workflows, how-tos | No |
Obsidian Vault Export (Karpathy Wiki Pattern)
Export your entire memory system as an Obsidian vault with interlinked wiki pages, inspired by Andrej Karpathy's LLM wiki approach.
Complete Setup Guide
Step 1: Install SkillMind
# Install with your preferred backend + MCP server
pip install skillmind[pinecone,mcp,youtube]
# Or install everything
pip install skillmind[all]
Step 2: Configure the MCP Server
Add SkillMind to your Claude Code settings.json:
{
"mcpServers": {
"skillmind": {
"command": "python",
"args": ["-m", "skillmind.mcp.server"],
"env": {
"PINECONE_API_KEY": "your-pinecone-key",
"SKILLMIND_BACKEND": "pinecone",
"ANTHROPIC_API_KEY": "your-anthropic-key"
}
}
}
}
Or create a .env file in your project root:
PINECONE_API_KEY=your-pinecone-key
SKILLMIND_BACKEND=pinecone
ANTHROPIC_API_KEY=your-anthropic-key
Step 3: Import Existing Memories
If you already have Claude Code markdown memories:
skillmind import
This scans ~/.claude/projects/*/memory/*.md, auto-classifies each memory, deduplicates, and stores them in your vector DB.
Step 4: Install Obsidian (Free)
- Download from obsidian.md (Windows/Mac/Linux)
- Install and open it
- No account required - works 100% offline
Step 5: Export to Obsidian Vault
Via CLI:
# Full export
skillmind export ~/Documents/MyWiki
# Incremental sync (only new memories)
skillmind sync --vault ~/Documents/MyWiki
Via MCP tools (inside Claude Code):
> export all my memories to an Obsidian vault at ~/Documents/MyWiki
Claude Code will call export_obsidian automatically.
Step 6: Open the Vault in Obsidian
- Open Obsidian
- Click "Open folder as vault"
- Select the vault folder (e.g.
~/Documents/MyWiki) - Press Ctrl+G to open the knowledge graph
- Graph groups are pre-configured with colors per category
Step 7: Keep it in Sync
Every time you add new memories (via remember, learn_youtube, etc.), sync them:
skillmind sync
Or via MCP: sync_obsidian
What Gets Generated
MyWiki/
├── .obsidian/ # Pre-configured: graph groups, bookmarks, plugins
├── CLAUDE.md # Wiki maintenance instructions for Claude
├── raw/ # Drop raw source material here (articles, PDFs)
└── wiki/
├── index.md # Master index by category and topic
├── log.md # Operation history
├── skills/ # Skill memories (green in graph)
├── references/ # Reference memories (blue in graph)
├── feedback/ # Feedback memories (teal in graph)
├── projects/ # Project memories (orange in graph)
├── users/ # User profile memories (purple in graph)
└── topics/ # Topic MOC pages (light blue in graph)
Each wiki page includes:
- YAML frontmatter with Obsidian-native
tags,created,updateddates [[Wikilinks]]to related memories across categories- Topic and category backlinks
#hashtagsfor quick filtering- Confidence scores and source metadata
Graph groups (pre-configured colors):
| Category | Color | Obsidian Query |
|---|---|---|
| Skills | Green | path:wiki/skills |
| References | Blue | path:wiki/references |
| Feedback | Teal | path:wiki/feedback |
| Projects | Orange | path:wiki/projects |
| Users | Purple | path:wiki/users |
| Topics (MOC) | Light Blue | path:wiki/topics |
| Index pages | Yellow | tag:#MOC |
Optional: YouTube Learning with Proxy
If YouTube blocks direct connections, add ScraperAPI proxy support:
# In .env
VPN_PROXY_API_KEY=your-scraperapi-key
SCRAPER_Vendor=scraperapi
Then learn from YouTube videos:
skillmind learn-youtube "https://youtube.com/watch?v=..."
skillmind learn-youtube-channel "UCxxxxx" --limit 5
The extracted knowledge is auto-stored as memories and can be synced to your Obsidian vault.
Built-in Sanitizer
API keys, emails, phone numbers, IBANs, and PII are automatically redacted before storing:
Input: "My Pinecone key is pcsk_2mrRyA_9BSbdn5i..."
Stored: "My Pinecone key is [REDACTED:PINECONE_KEY]"
Configurable allowlists, custom patterns, and name anonymization.
CLI Reference
skillmind init --backend chroma # Initialize with backend
skillmind remember "content" # Store a memory
skillmind recall "query" # Semantic search
skillmind list # List all memories
skillmind list --type feedback # Filter by type
skillmind forget <id> # Delete
skillmind import # Import Claude Code memories
skillmind consolidate # Cleanup & deduplicate
skillmind context # Generate context for current dir
skillmind stats # Show statistics
skillmind serve # Start MCP server
Installation
# Core + one backend
pip install skillmind[chroma] # Local (default)
pip install skillmind[pinecone] # Cloud sync
pip install skillmind[supabase] # SQL + vectors
pip install skillmind[qdrant] # Self-hosted
pip install skillmind[faiss] # Offline
# Add-ons
pip install skillmind[youtube] # YouTube learning
pip install skillmind[video] # Screen recording + OCR
pip install skillmind[mcp] # MCP server for Claude Code
# Everything
pip install skillmind[all]
Architecture
src/skillmind/
├── models.py # Memory, QueryFilter, QueryResult (Pydantic)
├── config.py # SkillMindConfig (YAML-based)
├── embeddings.py # EmbeddingEngine (sentence-transformers | OpenAI)
├── trainer.py # Auto-classify, dedup, merge, consolidate
├── sanitizer.py # Redact API keys, PII before storage
├── listener.py # GitListener, FileListener, ConversationListener
├── context.py # ContextGenerator — dynamic context injection
├── migration.py # Import existing Claude Code markdown memories
├── store/
│ ├── base.py # Abstract MemoryStore interface
│ ├── chroma_store.py # ChromaDB backend
│ ├── pinecone_store.py # Pinecone backend
│ ├── supabase_store.py # Supabase/pgvector backend
│ ├── qdrant_store.py # Qdrant backend
│ └── faiss_store.py # FAISS + JSON backend
├── video/
│ ├── youtube_learner.py # YouTube transcript extraction
│ ├── video_learner.py # Local video learning
│ └── screen_recorder.py # Screen capture
├── mcp/
│ └── server.py # FastMCP server (14 tools)
└── cli/
└── main.py # CLI (click-based)
Complementary MCP Tools
SkillMind works great alongside other MCP servers:
| MCP Server | What it adds | Install |
|---|---|---|
| Visibly AI MCP | SEO skills: keyword research, backlinks, site audit, GSC queries, on-page analysis | Hosted MCP — no install; add HTTP config to settings.json |
| Notion MCP | Read/write Notion pages, databases, todos | Built-in |
| Playwright MCP | Browser automation, screenshots, web scraping | Built-in |
Example: SEO Memory + Skills
# SkillMind installs locally; Visibly AI is a hosted MCP (no install needed)
pip install skillmind[pinecone,mcp]
{
"mcpServers": {
"skillmind": {
"command": "python",
"args": ["-m", "skillmind.mcp.server"],
"env": { "SKILLMIND_BACKEND": "pinecone", "PINECONE_API_KEY": "..." }
},
"visiblyai": {
"type": "http",
"url": "https://mcp.visibly-ai.com/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
SkillMind remembers your SEO preferences, client keywords, and audit findings. Visibly AI provides the live SEO data. Together: persistent SEO intelligence.
Used by
peec-ai-skills
A Claude Code skill repository for Peec AI (brand-visibility tracking in LLM search) that uses SkillMind as its cross-project memory layer. The skillmind-learner skill writes causal, evidence-backed patterns to SkillMind after a Peec AI growth-loop outcome is measured, and recalls matching patterns as priors for the growth-agent orchestrator on the next run — so lessons learned on project A inform decisions on project B.
See skills/skillmind-learner/SKILL.md for the full integration contract (read vs. write mode, required tags, pattern schema, handoff points from the other 5 Peec skills).
Contributing
PRs welcome! See CONTRIBUTING.md.
License
MIT — see LICENSE.
Built by Antonio Blago | skill-mind.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skillmind-0.3.3.tar.gz.
File metadata
- Download URL: skillmind-0.3.3.tar.gz
- Upload date:
- Size: 112.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
985a811b0346e0f581e5e9ecdbb4dc81eb4c890183695821bc4b4df61ef8572a
|
|
| MD5 |
0fe2c121eee73f2022d0f9db072c69ed
|
|
| BLAKE2b-256 |
fea60563a6867f862e78e4a44e4e695089019ac26ba023b9640ba26b3104dd9e
|
File details
Details for the file skillmind-0.3.3-py3-none-any.whl.
File metadata
- Download URL: skillmind-0.3.3-py3-none-any.whl
- Upload date:
- Size: 80.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acb94a5dccf3e0ffa178cd91f89bac4bb877b40bf4c02d9c4a59a0a03f2448e7
|
|
| MD5 |
e7fe41e1bb27594fdf7f417f89d9b063
|
|
| BLAKE2b-256 |
e36d5a81daab9cce7129b4990ee89c7986989d526ed367ac2d60e2d7a53fe020
|