From trace-mcp
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/trace-mcp:trace-mcp-refactoringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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.
assess_change_risk({ file_path: "src/foo.ts" })
# or
assess_change_risk({ symbol_id: "<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.
get_refactor_candidates()
Do not guess. This surfaces high-complexity, high-churn, and anti-pattern-laden symbols that are the real refactor targets.
get_change_impact({ symbol_id: "<id>" })
Returns the reverse-dependency graph: every file, symbol, and test that depends on the target. Review this list before editing.
get_complexity_report({ file_path: "src/foo.ts" })
Gives you a baseline so you can verify the refactor actually reduced complexity.
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: "<id>", target_name: "newName" })
# 2. Apply rename across ALL files (definition + every reference)
apply_rename({ symbol_id: "<id>", new_name: "newName" })
apply_rename updates the definition, imports, re-exports, call sites, JSX usages, and tests in one atomic operation.
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.
register_edit on each edited file to reindexget_complexity_report again to confirm the reductionget_tests_for the changed symbols — run themcheck_quality_gates with scope: "changed" to verify no regressionsnpx claudepluginhub nikolai-vysotskyi/trace-mcp --plugin trace-mcpPerforms safe, incremental refactoring with test verification at each step. Supports targeting specific files/functions, sweeping complexity hotspots across a project, and extracting methods, classes, or modules.
Renames, extracts, splits, moves, or restructures code safely using graph-aware impact analysis and automated rename tools. Covers checklists for each refactoring type.
Executes large-scale code refactoring with risk assessment, patterns like extract/inline/move/rename, strangler migrations, impact analysis, and test-driven safety rules for JS/TS/Python codebases.