Claude Skill

trace-mcp

Use trace-mcp tools for code navigation, impact analysis, and framework-aware queries instead of Read/Grep/Glob/Bash. Activate whenever the agent needs to explore, understand, or modify a codebase that has trace-mcp indexed.

LLM Mart · 0 points · 14 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download nikolai-vysotskyi-trace-mcp-skills_trace-mcp-1cca06d.zip · 2 KB
Part of nikolai-vysotskyi/trace-mcp — 5 skills

Install

skills CLI npx skills add https://github.com/nikolai-vysotskyi/trace-mcp/tree/master/skills/trace-mcp
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install nikolai-vysotskyi-trace-mcp@llmmart
Git git clone https://github.com/nikolai-vysotskyi/trace-mcp.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole nikolai-vysotskyi/trace-mcp collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

trace-mcp — Code Intelligence Routing

trace-mcp is a framework-aware code intelligence MCP server. It exposes 182 tools that return semantic, structured results over a cross-language dependency graph. When trace-mcp is available, it is almost always cheaper and more accurate than native file tools.

When to Use

Activate this skill whenever you need to:

  • Find a function, class, method, route, component, or any symbol
  • Understand a file, module, or feature before editing
  • Determine what breaks if you change something
  • Trace a request flow, call graph, or data flow
  • Audit architecture, dead code, tests, or security

Do not use Read, Grep, Glob, or shell ls/find/cat/head/tail for exploring source code (.ts, .js, .py, .php, .go, .rb, .java, etc.). Use trace-mcp tools instead. Native tools stay allowed only for non-code files (.md, .json, .yaml, configs) or immediately before an Edit on a known file.

Start-of-Session Checklist

  1. get_project_map with summary_only=true — orient yourself to the project structure
  2. get_task_context with task: "<natural-language description>" — gather all relevant code in a single call instead of chaining search → get_symbol → Read

Decision Matrix

Task trace-mcp tool Instead of
Find a symbol by name search Grep
Understand a file before editing get_outline Read (full file)
Read one symbol's source get_symbol Read (full file)
Multiple symbols + shared imports get_context_bundle chained get_symbol
What breaks if I change X get_change_impact guessing
Who calls this / what does it call get_call_graph Grep
All usages of a symbol find_usages Grep
Implementations of an interface get_implementations Grep / ls
Classes implementing X search with implements filter Grep
Tests for a symbol or file get_tests_for Glob + Grep
Project overview get_project_map (summary_only) Bash ls/find
Context for a task get_task_context / get_feature_context reading many files
HTTP request flow get_request_flow reading route + controller files
DB model relationships get_model_context reading model + migrations
Component tree get_component_tree reading component files
Circular dependencies get_circular_imports manual tracing
Dead code / dead exports get_dead_code (mode: "exports_only") Grep for unused
Project health / coverage gaps self_audit manual inspection
Complexity / hotspots get_complexity_report / get_risk_hotspots guessing

Token-Efficiency Rules

  1. Batch independent queries. Use batch when you need 2+ independent tool calls:
    batch({ calls: [
      { tool: "get_outline", args: { path: "src/foo.ts" } },
      { tool: "get_outline", args: { path: "src/bar.ts" } },
      { tool: "search",      args: { query: "handleRequest", kind: "function" } }
    ]})
    
  2. Never read the same file twice. Use get_outline once, then get_symbol for specific pieces.
  3. Prefer get_context_bundle over chained get_symbol calls — it deduplicates shared imports.
  4. Read-before-Edit optimization. When you must Read a file to edit it:
    • Call get_outline first to find the line range of the target symbol.
    • Read only that range with offset + limit. Never read a 500-line file to edit 5 lines.
  5. Do not delegate code exploration to subagents. Agent subprocesses carry ~50k tokens of overhead before doing anything. Use trace-mcp tools in the main conversation instead.

After Editing a File

  • Call register_edit with the edited file_path to reindex just that file and invalidate caches. This is much lighter than a full reindex and keeps subsequent queries accurate.
  • If the response includes _duplication_warnings, review the referenced symbols — you may be duplicating existing logic.
  • Do not re-read the file to "verify" the edit. The Edit tool already confirmed success.

Before Creating New Symbols

  • Call check_duplication with { name, kind } to verify no similar symbol exists. Prevents reinventing existing logic.

Health Checks (Once Per Session)

  • audit_config — stale references in CLAUDE.md / settings
  • self_audit — dead exports, untested code, hotspots
  • get_tech_debt — per-module tech-debt grades
  • get_optimization_report — detects repeated reads, Bash grep usage, missed trace-mcp opportunities

Related Skills

  • trace-mcp-refactoring — safe refactoring workflow (risk assessment → rename → impact check)
  • trace-mcp-codemod — bulk mechanical changes via apply_codemod
  • trace-mcp-pre-commit — security, quality-gate, and antipattern checks before commit
Files (trace-mcp)
  • SKILL.md 5 KB
    ---
    name: trace-mcp
    description: Use trace-mcp tools for code navigation, impact analysis, and framework-aware queries instead of Read/Grep/Glob/Bash. Activate whenever the agent needs to explore, understand, or modify a codebase that has trace-mcp indexed.
    ---
    
    # trace-mcp — Code Intelligence Routing
    
    trace-mcp is a framework-aware code intelligence MCP server. It exposes 182 tools that return semantic, structured results over a cross-language dependency graph. When trace-mcp is available, it is almost always cheaper and more accurate than native file tools.
    
    ## When to Use
    
    Activate this skill whenever you need to:
    - Find a function, class, method, route, component, or any symbol
    - Understand a file, module, or feature before editing
    - Determine what breaks if you change something
    - Trace a request flow, call graph, or data flow
    - Audit architecture, dead code, tests, or security
    
    **Do not use** `Read`, `Grep`, `Glob`, or shell `ls`/`find`/`cat`/`head`/`tail` for exploring source code (`.ts`, `.js`, `.py`, `.php`, `.go`, `.rb`, `.java`, etc.). Use trace-mcp tools instead. Native tools stay allowed only for non-code files (`.md`, `.json`, `.yaml`, configs) or immediately before an `Edit` on a known file.
    
    ## Start-of-Session Checklist
    
    1. `get_project_map` with `summary_only=true` — orient yourself to the project structure
    2. `get_task_context` with `task: "<natural-language description>"` — gather all relevant code in a single call instead of chaining `search` → `get_symbol` → `Read`
    
    ## Decision Matrix
    
    | Task | trace-mcp tool | Instead of |
    |---|---|---|
    | Find a symbol by name | `search` | Grep |
    | Understand a file before editing | `get_outline` | Read (full file) |
    | Read one symbol's source | `get_symbol` | Read (full file) |
    | Multiple symbols + shared imports | `get_context_bundle` | chained `get_symbol` |
    | What breaks if I change X | `get_change_impact` | guessing |
    | Who calls this / what does it call | `get_call_graph` | Grep |
    | All usages of a symbol | `find_usages` | Grep |
    | Implementations of an interface | `get_implementations` | Grep / ls |
    | Classes implementing X | `search` with `implements` filter | Grep |
    | Tests for a symbol or file | `get_tests_for` | Glob + Grep |
    | Project overview | `get_project_map` (summary_only) | Bash ls/find |
    | Context for a task | `get_task_context` / `get_feature_context` | reading many files |
    | HTTP request flow | `get_request_flow` | reading route + controller files |
    | DB model relationships | `get_model_context` | reading model + migrations |
    | Component tree | `get_component_tree` | reading component files |
    | Circular dependencies | `get_circular_imports` | manual tracing |
    | Dead code / dead exports | `get_dead_code` (`mode: "exports_only"`) | Grep for unused |
    | Project health / coverage gaps | `self_audit` | manual inspection |
    | Complexity / hotspots | `get_complexity_report` / `get_risk_hotspots` | guessing |
    
    ## Token-Efficiency Rules
    
    1. **Batch independent queries.** Use `batch` when you need 2+ independent tool calls:
       ```
       batch({ calls: [
         { tool: "get_outline", args: { path: "src/foo.ts" } },
         { tool: "get_outline", args: { path: "src/bar.ts" } },
         { tool: "search",      args: { query: "handleRequest", kind: "function" } }
       ]})
       ```
    2. **Never read the same file twice.** Use `get_outline` once, then `get_symbol` for specific pieces.
    3. **Prefer `get_context_bundle`** over chained `get_symbol` calls — it deduplicates shared imports.
    4. **Read-before-Edit optimization.** When you must `Read` a file to edit it:
       - Call `get_outline` first to find the line range of the target symbol.
       - Read only that range with `offset` + `limit`. Never read a 500-line file to edit 5 lines.
    5. **Do not delegate code exploration to subagents.** Agent subprocesses carry ~50k tokens of overhead before doing anything. Use trace-mcp tools in the main conversation instead.
    
    ## After Editing a File
    
    - Call `register_edit` with the edited `file_path` to reindex just that file and invalidate caches. This is much lighter than a full `reindex` and keeps subsequent queries accurate.
    - If the response includes `_duplication_warnings`, review the referenced symbols — you may be duplicating existing logic.
    - Do **not** re-read the file to "verify" the edit. The `Edit` tool already confirmed success.
    
    ## Before Creating New Symbols
    
    - Call `check_duplication` with `{ name, kind }` to verify no similar symbol exists. Prevents reinventing existing logic.
    
    ## Health Checks (Once Per Session)
    
    - `audit_config` — stale references in CLAUDE.md / settings
    - `self_audit` — dead exports, untested code, hotspots
    - `get_tech_debt` — per-module tech-debt grades
    - `get_optimization_report` — detects repeated reads, Bash grep usage, missed trace-mcp opportunities
    
    ## Related Skills
    
    - `trace-mcp-refactoring` — safe refactoring workflow (risk assessment → rename → impact check)
    - `trace-mcp-codemod` — bulk mechanical changes via `apply_codemod`
    - `trace-mcp-pre-commit` — security, quality-gate, and antipattern checks before commit
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related