Muse semantic-search
Zero-dependency TF-IDF search across MUSE memory, roles, and skills. Use when user wants to find information across their project context.
install
source · Clone the upstream repo
git clone https://github.com/myths-labs/muse
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/myths-labs/muse "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/core/semantic-search" ~/.claude/skills/myths-labs-muse-semantic-search && rm -rf "$T"
manifest:
skills/core/semantic-search/SKILL.mdsource content
Semantic Search
Search across your entire MUSE project context using TF-IDF ranking.
When to Use
- User asks "where did we discuss X?"
- User wants to find a past decision or lesson
- User needs to locate a specific skill
- Context recovery when resuming work
Usage
# Search everything ./scripts/search.sh "auth jwt oauth" # Search only memory files ./scripts/search.sh "database migration" --scope memory # Search only role files ./scripts/search.sh "dashboard" --scope roles --top 3 # Search only skills ./scripts/search.sh "testing" --scope skills --top 10
How It Works
- Tokenization: Query is split into lowercase terms
- TF (Term Frequency): For each file, count occurrences of each query term, normalized by file length
- IDF (Inverse Document Frequency): Terms that appear in fewer files get higher weight
- Score: TF × IDF summed across all query terms
- Ranking: Files sorted by score, top N shown with best-matching line as context snippet
Scopes
| Scope | Files Indexed |
|---|---|
(default) | memory/ + .muse/ + MEMORIES.md + skills/ |
| memory/*.md + MEMORIES.md |
| .muse/*.md |
| skills//SKILL.md + .agent/skills//SKILL.md |
Integration
When resuming a conversation, you can use search to quickly find relevant context:
# Before /resume — find what was done last week ./scripts/search.sh "migration deploy" --scope memory --top 3
Limitations
- Pure TF-IDF, no semantic understanding (no embeddings/vectors)
- Exact term matching only (no synonyms)
- Best for keyword-based queries with specific terms
- For semantic search, consider integrating with mem0 or memsearch