AgentStack
SKILL verified MIT Self-run

Trace Mcp Refactoring

skill-nikolai-vysotskyi-trace-mcp-trace-mcp-refactoring · by nikolai-vysotskyi

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.

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-nikolai-vysotskyi-trace-mcp-trace-mcp-refactoring

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Trace Mcp Refactoring? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

trace-mcp — Refactoring Workflow

Use this skill whenever you are about to rename, restructure, extract, or otherwise refactor code in a project indexed by trace-mcp. The goal is to never break cross-file references and never guess at what is affected.

When to Use

  • Renaming a class, function, method, variable, or file
  • Extracting a function or method
  • Restructuring a module or splitting a file
  • Changing a function signature
  • Any change that touches more than one call site

Refactoring Workflow

1. Assess before touching anything

assess_change_risk({ file_path: "src/foo.ts" })
# or
assess_change_risk({ symbol_id: "" })

This returns the risk level of the target change based on churn, complexity, fan-in/fan-out, and test coverage. Use it to decide whether to proceed, add tests first, or split the change.

2. Find what actually needs refactoring

get_refactor_candidates()

Do not guess. This surfaces high-complexity, high-churn, and anti-pattern-laden symbols that are the real refactor targets.

3. Know what will break

get_change_impact({ symbol_id: "" })

Returns the reverse-dependency graph: every file, symbol, and test that depends on the target. Review this list before editing.

4. Quantify complexity

get_complexity_report({ file_path: "src/foo.ts" })

Gives you a baseline so you can verify the refactor actually reduced complexity.

Renaming a Symbol — MANDATORY Flow

Never rename with Edit and replace_all. It silently misses import sites, re-exports, type references, and cross-file usages.

# 1. Collision detection first
check_rename({ symbol_id: "", target_name: "newName" })

# 2. Apply rename across ALL files (definition + every reference)
apply_rename({ symbol_id: "", new_name: "newName" })

apply_rename updates the definition, imports, re-exports, call sites, JSX usages, and tests in one atomic operation.

Extracting a Function

extract_function({
  file_path: "src/foo.ts",
  start_line: 42,
  end_line: 67,
  new_name: "computeTotals"
})

Let trace-mcp handle the variable capture analysis — manual extraction routinely misses closure variables.

After the Refactor

  1. register_edit on each edited file to reindex
  2. get_complexity_report again to confirm the reduction
  3. get_tests_for the changed symbols — run them
  4. check_quality_gates with scope: "changed" to verify no regressions

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.