Installs into .claude/skills of the current project.
Are you the author of Cm Deep Search?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tody-agent-cm-deep-search-codymaster)
---
name: cm-deep-search
description: "Optional power-up — detects oversized codebases/docs and suggests tobi/qmd for local semantic search. Bridges cm-continuity (working memory) with long-term document retrieval. Zero-config detection, non-intrusive suggestion."
---
# Deep Search — Semantic Memory Power-Up
> **When your project outgrows AI's context window, bring the search engine to your docs.**
> Optional integration with [tobi/qmd](https://github.com/tobi/qmd) — BM25 + Vector + LLM re-ranking, 100% local.
## When to Trigger
**This skill is NOT invoked directly.** It is triggered automatically by other skills when they detect an oversized project.
### Detection Thresholds
During codebase scan (Phase 1a of `cm-brainstorm-idea`, Step 2 of `cm-dockit`, etc.), check:
```
TRIGGER if ANY of these are true:
→ docs/ folder contains >50 markdown files
→ Project has >200 source files total
→ User mentions "meeting notes", "historical PRDs", "old specs"
→ User asks "find that file that talked about X from before"
→ cm-dockit just generated >30 doc files
```
### What to Say (Non-Intrusive)
When threshold is met, suggest naturally — DO NOT block or force:
```markdown
💡 **Pro Tip: Deep Search**
This project has [X doc files / Y source files] — quite large for AI to read directly.
You can install **[qmd](https://github.com/tobi/qmd)** to create semantic search
across all your documentation, helping AI find the right context faster.
Quick install:
\`\`\`bash
npm install -g @tobilu/qmd
qmd collection add ./docs --name project-docs
qmd context add qmd://project-docs "Project documentation for [project-name]"
qmd embed
\`\`\`
Then AI can search using: `qmd query "your question"`
```
---
## Setup Guide (when user agrees to install)
### Step 1: Install
```bash
# Node.js
npm install -g @tobilu/qmd
# Or Bun
bun install -g @tobilu/qmd
```
### Step 2: Index project docs
```bash
# Add collections
qmd collection add ./docs --name docs
qmd collection add ./src --name source --mask "**/*.{ts,tsx,js,jsx,py,go,rs}"
# Add context (helps AI understand each collection's purpose)
qmd context add qmd://docs "Technical documentation for [project-name]"
qmd context add qmd://source "Source code for [project-name]"
# Create vector embeddings
qmd embed
```
### Step 3: Setup MCP Server (for Claude/Cursor/Antigravity)
Add to MCP config:
```json
{
"mcpServers": {
"qmd": {
"command": "qmd",
"args": ["mcp"]
}
}
}
```
Or run HTTP mode for shared server:
```bash
qmd mcp --http --daemon
```
### Step 4: Verify
```bash
# Check index
qmd status
# Test search
qmd query "authentication flow"
```
---
## Usage with CodyMaster Skills
### With `cm-brainstorm-idea` (Phase 1: DISCOVER)
When AI needs to understand the full picture of a large project:
```bash
# Find all docs related to the topic being brainstormed
qmd query "user authentication redesign" --json -n 10
# Get full content of important docs
qmd get "docs/architecture.md" --full
```
### With `cm-planning` (Phase A: Brainstorm)
When searching for specs, PRDs, or past decisions related to the feature being planned:
```bash
qmd query "payment integration decisions" --files --min-score 0.4
```
### With `cm-dockit` (Post-generation)
After `cm-dockit` finishes generating docs, index them so AI can search from any session:
```bash
qmd collection add ./docs --name project-knowledge
qmd embed
```
### With `cm-continuity` (Tier 4: External Memory)
`cm-continuity` manages working memory (500 words). `qmd` extends it with long-term semantic search:
```
Tier 1: Sensory Memory → temporary variables in session (not persisted)
Tier 2: Working Memory → CONTINUITY.md (~500 words)
Tier 3: Long-Term Memory → learnings.json, decisions.json
Tier 4: External Semantic → qmd (optional, text search for large docs)
Tier 5: Structural Code → CodeGraph (optional, AST graph for code — see cm-codeintell)
```
> **qmd** finds text across docs/code. **CodeGraph** finds symbols, call graphs, and impact.
> They complement each other — use both for maximum intelligence on large projects.
---
## 🛑 Staleness Prevention
The biggest risk of Semantic Search is **stale index / new source**. If AI reads outdated docs and generates incorrect code, the consequences are severe.
CodyMaster handles this with 3 mechanisms:
### 1. The "Post-Execution" Sync
Whenever AI completes a task that changes/creates a large number of files (e.g., `cm-dockit` generates docs, `cm-execution` refactors source code):
```bash
# This runs quickly because qmd only embeds changed files (incremental)
qmd embed
```
> **AI Rule:** If the project has qmd enabled, AI must automatically run `qmd embed` via terminal before finishing a task.
### 2. The "Pre-Flight" Check
Before starting `cm-brainstorm-idea` or `cm-planning` on a project using qmd, AI calls the MCP tool to perform a health check:
```json
// AI auto-runs this MCP tool
{
"name": "status",
"arguments": {}
}
```
If status reports files pending/un-embedded, AI will run `qmd embed` in terminal before searching.
### 3. Git Hook (Recommended for User)
For 100% safety beyond AI's control (when end-user modifies code directly):
AI should suggest the user install a **Git Post-Commit Hook**:
```bash
# Add file .git/hooks/post-commit
#!/bin/sh
qmd embed > /dev/null 2>&1 &
```
This ensures every commit triggers QMD to silently update the index in the background.
---
## Position in CodyMaster Lifecycle
```
cm-continuity (memory) ─────────────── always active
cm-deep-search (search) ──── optional ─┤
├── feeds context to ──→ cm-brainstorm-idea
│ ──→ cm-planning
cm-dockit (generate docs) ── produces ─┤ ──→ cm-execution
```
## Integration
| Skill | Relationship |
|-------|-------------|
| `cm-continuity` | COMPLEMENT: continuity = RAM, qmd = semantic disk search |
| `cm-brainstorm-idea` | TRIGGERED BY: Phase 1a codebase scan detects large corpus |
| `cm-dockit` | TRIGGERED AFTER: docs generated, suggest indexing |
| `cm-planning` | CONSUMER: uses qmd results for context during planning |
| `cm-execution` | CONSUMER: searches for related code/docs during execution |
---
## Requirements
```
System: macOS / Linux / Windows (WSL)
Runtime: Node.js 20+ or Bun 1.0+
VRAM: ~2-4GB for GGUF models (embedding + reranking)
Disk: ~2-5GB for models (downloaded on first run)
```
## Rules
```
✅ DO:
- Suggest qmd ONLY when detection threshold is met
- Keep suggestion non-intrusive (Pro Tip format, never blocking)
- Always include context command (qmd context add) — this is qmd's killer feature
- Guide user to setup MCP server for seamless AI integration
❌ DON'T:
- Force installation on every project
- Suggest qmd for small projects (<50 docs, <200 src files)
- Replace cm-continuity — they solve DIFFERENT problems
- Assume qmd is installed — always check first
```
## The Bottom Line
**`cm-continuity` = "remembers what you're doing." `cm-deep-search` = "finds what was written before." Together = complete memory system.**