Skip to content
cccskills
FreePublished on GitHub

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md6.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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

Tasktrace-mcp toolInstead of
Find a symbol by namesearchGrep
Understand a file before editingget_outlineRead (full file)
Read one symbol's sourceget_symbolRead (full file)
Multiple symbols + shared importsget_context_bundlechained get_symbol
What breaks if I change Xget_change_impactguessing
Who calls this / what does it callget_call_graphGrep
All usages of a symbolfind_usagesGrep
Implementations of an interfaceget_implementationsGrep / ls
Classes implementing Xsearch with implements filterGrep
Tests for a symbol or fileget_tests_forGlob + Grep
Project overviewget_project_map (summary_only)Bash ls/find
Context for a taskget_task_context / get_feature_contextreading many files
HTTP request flowget_request_flowreading route + controller files
DB model relationshipsget_model_contextreading model + migrations
Component treeget_component_treereading component files
Circular dependenciesget_circular_importsmanual tracing
Dead code / dead exportsget_dead_code (mode: "exports_only")Grep for unused
Project health / coverage gapsself_auditmanual inspection
Complexity / hotspotsget_complexity_report / get_risk_hotspotsguessing
List env keys / what config existsget_env_vars (keys + types/formats only, never values)os.environ dump, cat of a .env file

Environment Variables (Safe Path)

  • Task "list env keys / what config exists" → get_env_vars. It returns keys plus inferred types/formats only — never values, so it is safe for secrets.
  • get_env_vars { "pattern": "DB_" } filters by key prefix. get_env_vars { "file": ".env", "redacted": true } gives a line-by-line redacted per-file view (keys + type hints, no values, preserves order/comments; requires file).
  • Config file discovery goes via search / get_symbol / get_outline / get_task_context — never by importing a module to see what it touches.

FORBIDDEN — never use these for env/config discovery (values leak into model context):

  • never dump the environment: python -c "import os; print(os.environ)" or any os.environ / process.env printout
  • never import-diff the environment: before = dict(os.environ), import a module, then diff os.environ to see what it touched
  • never print(module.__file__) for file discovery
  • never cat or directly Read a .env file for discovery

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use trace-mcp through bb to search indexed code and recall project decisions with compact context.

The English summary is being prepared. Showing the original description.

nikolai-vysotskyi/trace-mcp193Updated Oct 22, 2026

Use trace-mcp apply_codemod for any bulk mechanical change instead of repeated Edit calls. Activate whenever the same edit pattern would be applied 2+ times, across one file or many.

The English summary is being prepared. Showing the original description.

nikolai-vysotskyi/trace-mcp193Updated Oct 22, 2026

Run trace-mcp security, quality-gate, and antipattern checks before committing or opening a PR. Activate when the agent is about to create a commit or pull request in a project indexed by trace-mcp.

The English summary is being prepared. Showing the original description.

nikolai-vysotskyi/trace-mcp193Updated Oct 22, 2026

Safe refactoring workflow using trace-mcp — assess risk, find candidates, check impact, and rename symbols across all files without missing import sites or cross-file references.

The English summary is being prepared. Showing the original description.

nikolai-vysotskyi/trace-mcp193Updated Oct 22, 2026

See all skills by nikolai-vysotskyi

Report a problem with this skill