Skip to content
Development
Skill

/memtrace-impact

Compute the blast radius of modifying a symbol through transitive graph impact. Use when the user asks about blast radius, impact, what breaks, risk, upstream callers, downstream dependencies, or consequences of modifying a symbol, before or during source-code changes. Do not

From plugin
memtrace-public
44627 skills
Install
$ npx -y skills add syncable-dev/memtrace-public --skill memtrace-impact --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/memtrace-impact

Context preview

The summary Claude sees to decide when to auto-load this skill.

Compute the blast radius of modifying a symbol through transitive graph impact. Use when the user asks about blast radius, impact, what breaks, risk, upstream callers, downstream dependencies, or consequences of modifying a symbol, before or during source-code changes. Do not

SKILL.md

memtrace-impact.SKILL.md
name: memtrace-impact
description: "Compute the blast radius of modifying a symbol through transitive graph impact. Use when the user asks about blast radius, impact, what breaks, risk, upstream callers, downstream dependencies, or consequences of modifying a symbol, before or during source-code changes. Do not use Grep or manual reference search; Memtrace computes transitive graph impact. For a full risk-rated plan covering a multi-part change, use memtrace-change-impact-analysis."

Overview

Compute the blast radius of changing a specific symbol. Traces upstream (what depends on this) and downstream (what this depends on) through the knowledge graph to quantify risk before making modifications.

Quick Reference

| Tool | Purpose | |------|---------| | `get_impact` | Blast radius from a symbol **name** (`target`) | | `detect_changes` | Scope symbols affected by a diff/patch |

> **Parameter types:** MCP parameters are strictly typed. Numbers (`depth`, `limit`, etc.) must be JSON numbers — not strings.

Required parameters — `get_impact`

| Parameter | Required | Default | Notes | |---|---|---|---| | `repo_id` | yes | — | | | `target` | yes | — | Symbol name (e.g. `"validateToken"`) — **not** `symbol_id` | | `direction` | no | `"both"` | `"upstream"` \| `"downstream"` \| `"both"` | | `depth` | no | `5` | BFS depth (max 15) | | `as_of` | no | now | ISO-8601 for time-travel |

{ "repo_id": "memdb", "target": "validateToken", "direction": "both", "depth": 5 }

Full parameter spec for every Memtrace tool: `references/mcp-parameters.md` (bundled at the memtrace-skills plugin root).

Steps

1. Identify the symbol name

If you don't know the exact name:

  • `find_symbol(name="...")` for exact identifiers
  • `find_code(query="...")` for natural-language queries

Use the returned **`name`** (and optional `file_path` hint) — graph tools resolve by name, not internal IDs.

2. Run impact analysis

{
  "repo_id": "memdb",
  "target": "validateToken",
  "direction": "upstream",
  "depth": 5
}

3. Interpret the risk rating

| Risk | Meaning | Action | |------|---------|--------| | **Low** | Few dependents, leaf node | Safe to modify; minimal testing needed | | **Medium** | Moderate dependents | Test direct callers; review interface contracts | | **High** | Many dependents across modules | Coordinate changes; comprehensive test coverage | | **Critical** | Core infrastructure, many transitive dependents | Plan migration strategy; backward-compatible changes |

4. For diff-based analysis

When you have an actual code diff, use `detect_changes`:

{ "repo_id": "memdb", "diff": "<unified git diff text>" }

Or pass `changed_files: ["path/a.rs", "path/b.ts"]` when no diff text is available.

Decision Points

| Situation | Action | |-----------|--------| | Changing a single function | `get_impact` with `direction: "both"` | | Reviewing a PR or diff | `detect_changes` with the diff content | | Renaming/removing a public API | `get_impact` with `direction: "upstream"`, higher `depth` | | Refactoring internals | `get_impact` with `direction: "downstream"` |

Output

`get_impact` returns the blast radius for the target symbol:

| Field | Example / meaning | |---|---| | Risk rating | `High` — one of `Low` / `Medium` / `High` / `Critical` (interpret via step 3) | | Upstream | Transitive dependents (callers/importers) within `depth` hops — what breaks if the target changes | | Downstream | Transitive dependencies — what the target relies on |

`detect_changes` returns the set of symbols affected by the supplied `diff` / `changed_files`, plus the affected processes (execution flows).

Common Mistakes

| Mistake | Reality | |---------|---------| | Passing `symbol_id` or `name` | Required param is **`target`** | | Omitting `repo_id` | Both `repo_id` and `target` are required | | Defaulting `depth` to 3 | API default is **5** |

Read more
Ships withmemtrace-public

Structural memory for AI coding agents. Bi-temporal graph, MCP-native, zero LLM calls. Cursor · Claude Code · Codex · Hermes · VS Code · Windsurf.

Get the whole plugin

Other skills on memtrace-public.