Skip to content
Back to skills

Memtrace Impact

ASecurity

Always use before or during source-code changes when the user asks about blast radius, impact, what breaks, risk, upstream callers, downstream dependencies, or consequences of modifying a symbol. Do not use Grep or manual reference search; Memtrace computes transitive graph impact.

  • 487 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 26, 2026
developmentnodetestingrefactoringapi

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add syncable-dev/memtrace-public --skill memtrace-impact --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Memtrace Impact?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Memtrace Impact
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/syncable-dev-memtrace-impact/badge)](https://www.skillsdirectory.com/skills/syncable-dev-memtrace-impact)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: memtrace-impact
description: "Always use before or during source-code changes when the user asks about blast radius, impact, what breaks, risk, upstream callers, downstream dependencies, or consequences of modifying a symbol. Do not use Grep or manual reference search; Memtrace computes transitive graph impact."
---

## 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 specific symbol (by ID) |
| `detect_changes` | Scope symbols affected by a diff/patch |

> **Parameter types:** MCP parameters are strictly typed. Numbers (`limit`, `depth`, `min_size`, `last_n`, etc.) must be JSON numbers — not strings. Use `limit: 20`, never `limit: "20"`. Passing a string yields `MCP error -32602: invalid type: string, expected usize`.


## Steps

### 1. Identify the symbol

If you have a symbol name but not its ID:
- Use `find_symbol` for exact names
- Use `find_code` for natural-language queries

### 2. Run impact analysis

Use the `get_impact` MCP tool:
- `symbol_id` — the symbol you plan to change (required)
- `direction` — `upstream` (what depends on me), `downstream` (what I depend on), or `both` (default)
- `depth` — traversal hops (default 3)

### 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; consider backward-compatible changes |

### 4. For diff-based analysis

When you have an actual code diff (not just a symbol), use `detect_changes`:
- Scopes all symbols affected by the diff
- Returns blast radius AND affected processes (execution flows)
- Useful for PR reviews or pre-commit checks

## 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`, high depth |
| Refactoring internals | `get_impact` with `direction: downstream` to check what you depend on |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.