claude-plugin
**Use MCP repo-map tools when:** - Searching for symbols by name pattern (faster than Grep) - Getting all symbols in a file (faster than Read + parsing)
What this skill does
# Context Tools Plugin - Usage Guide
## Dynamic Directory Support (v0.8.0+)
**GOOD NEWS:** MCP tools automatically adapt to the current working directory!
**How it works:**
```bash
cd /home/user/project-a
# MCP tools query/index project-a/.claude/repo-map.db
cd /home/user/project-b
# MCP tools now query/index project-b/.claude/repo-map.db ✅
```
**Behavior:**
- Tools check current working directory on each call
- If `.claude/repo-map.db` exists: query it
- If not: trigger indexing for current directory
- Logs show which directory is being queried
**Benefits:**
- No need to restart session when changing projects
- Can work with multiple projects in one session
- Each project maintains its own index
- Tools "just work" wherever you are
## Plugin Installation and Updates
**CRITICAL: When the user runs `/plugin install` or `/plugin update`:**
The MCP server configuration changes immediately, but the MCP server itself **does not restart automatically**. The new plugin features (especially MCP tools like `search_symbols`) will NOT be available until the session restarts.
**YOU MUST tell the user:**
```
The plugin has been installed/updated successfully. To use the MCP tools (search_symbols, get_file_symbols, etc.), you need to restart the session:
1. Exit this session (Ctrl+C or type 'exit')
2. Start a new session with: claude continue
The MCP server will restart with the new plugin configuration.
```
**When to give this instruction:**
- Immediately after the user runs `/plugin install context-tools`
- Immediately after the user runs `/plugin update context-tools`
- When the user tries to use MCP tools but they're not available (and you suspect they just installed)
**Why this matters:**
- MCP servers are started when Claude Code starts
- Plugin installation modifies MCP server configuration
- Changes only take effect on next Claude Code startup
- Users will be confused if tools don't work after installation
## Available MCP Tools
Once the session has been restarted after installation, the following MCP tools are available:
### mcp__repo-map__search_symbols
Search for symbols (functions, classes, methods) by name pattern.
**Faster than Grep/Search** - uses pre-built SQLite index.
Parameters:
- `pattern` (required): Glob pattern like `get_*`, `*Handler`, `Config*`
- `kind` (optional): Filter by `"class"`, `"function"`, or `"method"`
- `limit` (optional): Max results (default: 20)
Example:
```json
{
"pattern": "parse_*",
"kind": "function",
"limit": 10
}
```
### mcp__repo-map__get_file_symbols
Get all symbols defined in a specific file.
Parameters:
- `file` (required): Relative path from project root (e.g., `"src/models/user.py"`)
### mcp__repo-map__get_symbol_content
Get the source code content of a symbol by exact name.
**Faster than Grep/Search+Read** - directly retrieves function/class source code.
Parameters:
- `name` (required): Exact symbol name (e.g., `"MyClass"`, `"User.save"`)
- `kind` (optional): Filter by type if name is ambiguous
### mcp__repo-map__reindex_repo_map
Trigger a reindex of the repository symbols.
Parameters:
- `force` (optional): Force reindex even if cache is fresh (default: false)
### mcp__repo-map__repo_map_status
Get the current status of the repo map index.
Shows:
- Index status: `idle`, `indexing`, `completed`, or `failed`
- Symbol count
- Last indexed time
- Whether index is stale
- Indexing errors (if any)
### mcp__repo-map__wait_for_index
Wait for indexing to complete.
Parameters:
- `timeout_seconds` (optional): How long to wait (default: 60)
**Note:** Most tools automatically wait for indexing to complete, so this is rarely needed.
## Database Schema (.claude/repo-map.db)
**symbols table:**
- `name` (TEXT): Symbol name
- `kind` (TEXT): `class`, `function`, or `method`
- `file_path` (TEXT): Relative path from project root
- `line_number` (INTEGER): Start line (1-indexed)
- `end_line_number` (INTEGER): End line (nullable)
- `parent` (TEXT): Parent class/module (nullable)
- `docstring` (TEXT): First line of docstring (nullable)
- `signature` (TEXT): Function/method signature (nullable)
- `language` (TEXT): `python`, `cpp`, or `rust`
**metadata table (v0.7.0+):**
- `key` (TEXT PRIMARY KEY): Metadata key
- `value` (TEXT): Metadata value
Keys:
- `status`: `idle` | `indexing` | `completed` | `failed`
- `index_start_time`: ISO8601 timestamp when indexing started
- `last_indexed`: ISO8601 timestamp when last completed
- `symbol_count`: Total symbols indexed (string)
- `error_message`: Error message if status='failed'
## Indexing Status and Auto-Wait (v0.7.0+)
**First Use Behavior:**
- On first use, indexing starts automatically in background
- Tools automatically wait (up to 60s) if indexing is in progress
- If timeout, tools return helpful error asking user to retry
**Watchdog (v0.7.0+):**
- Detects hung indexing processes (>10 minutes)
- Automatically resets status to 'failed'
- Can be manually recovered with `reindex_repo_map`
**Multiprocess Architecture (v0.8.0+):**
- Indexing runs in separate subprocess
- MCP server remains responsive even if indexing hangs
- Watchdog can kill hung subprocess without affecting MCP server
- Resource limits (Unix/macOS): 4GB memory, 20 min CPU time
## When to Use MCP Tools vs Other Tools
**Use MCP repo-map tools when:**
- Searching for symbols by name pattern (faster than Grep)
- Getting all symbols in a file (faster than Read + parsing)
- Getting source code of a specific function/class (faster than Grep + Read)
- Need to search across multiple languages (Python, C++, Rust)
**Use other tools when:**
- Searching file contents (not symbol names) - use Grep
- Reading entire files - use Read
- Need to search files that aren't Python/C++/Rust
- Searching for non-code patterns (comments, strings, etc.)
## Project-Specific Files
**Automatically generated at session start:**
- `.claude/project-manifest.json` - Project structure and build commands
- `.claude/repo-map.md` - Human-readable code structure with duplicate detection
- `.claude/repo-map.db` - SQLite database for fast symbol queries (MCP server)
**Optional (created manually):**
- `.claude/learnings.md` - Project-specific learnings and discoveries
**Logs:**
- `.claude/logs/repo-map-server.log` - MCP server rotating log (1MB per file, 3 backups)
- Tool calls and results
- Indexing events and performance
- Watchdog actions and resource limit violations
- Server startup/shutdown
- Session start hook outputs are also logged for debugging
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.