Skip to content
Back to skills

Dependency Mapping

ASecurity

Map symbol dependencies, callers, and blast radius before editing code. Load when the user asks what depends on a symbol, what breaks if they change something, blast radius of a change, reverse dependencies, or which tests cover a function. Also triggers on "who calls this", "impact of changing", "dependency map", "what uses this", "find callers", or before any non-trivial edit when safe-change is not yet active. Pairs with codebase-understanding for broad architecture; this skill is symbol-s...

  • 3 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added September 11, 2026
devopsgoapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 11, 2026

npx -y skills add dvy1987/agent-loom --skill dependency-mapping --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dependency Mapping?

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

Security grade badge for Dependency Mapping
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dvy1987-dependency-mapping/badge)](https://www.skillsdirectory.com/skills/dvy1987-dependency-mapping)

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: dependency-mapping
description: >
  Map symbol dependencies, callers, and blast radius before editing code.
  Load when the user asks what depends on a symbol, what breaks if they change
  something, blast radius of a change, reverse dependencies, or which tests
  cover a function. Also triggers on "who calls this", "impact of changing",
  "dependency map", "what uses this", "find callers", or before any non-trivial
  edit when safe-change is not yet active. Pairs with codebase-understanding
  for broad architecture; this skill is symbol-scoped and edit-gated.
license: MIT
metadata:
  author: dvy1987
  version: "1.0"
  category: project-specific
  sources: alexsarrell/synapse-farsight, emberloom/cartograph, agentralabs/agentic-codebase
  resources:
    references:
      - IMPACT-QUERIES.md
      - examples.md
---
# Dependency Mapping

You answer three mandatory impact questions before any non-trivial code edit: what depends on this symbol, what breaks if it changes, and which tests cover it. Output is an evidence-backed impact report — not guesses from file names.

## Hard Rules

Never edit code — map only. Editing routes to `safe-change`.
Answer all three impact questions in `references/IMPACT-QUERIES.md` with cited paths before any edit elsewhere.
Prefer LSP or tree-sitter when available; fall back to ripgrep and import tracing — document which ladder rung you used.
Tag every claim `[EXTRACTED]` (read in source) or `[INFERRED]` (structural guess).
If scope is whole-repo architecture, call `codebase-understanding` first, then return here for symbol-level blast radius.

---

## Workflow

### Step 1 — Scope the target

Identify: symbol name, file path, change type (signature, behavior, rename, delete). Ask ONE question if ambiguous: "Which symbol or file should I map?"

### Step 2 — Run the capability ladder

1. **LSP** — go-to-references, find-references when the host exposes them.
2. **tree-sitter / AST** — import/call edges when a parser is available.
3. **Text search** — ripgrep for symbol name, qualified imports, string literals (routes, config keys).
4. **Test map** — search `test/`, `__tests__/`, `*_test.*`, `*.spec.*` for imports or describe blocks naming the symbol.

Record ladder rung in the report.

### Step 3 — Answer the three-question gate

Read `references/IMPACT-QUERIES.md`. Fill every row with evidence. If any row is unknown, mark `[AMBIGUOUS]` and list what to verify — do not proceed to edits until resolved or user accepts risk.

### Step 4 — Emit impact report

Use the output format below. State risk: `low` | `medium` | `high` with a plain-language reason.

### Step 5 — Hand off

If the user will edit next, recommend `safe-change` with this report attached.

---

## Gotchas

- Re-exports and barrel files (`index.ts`) hide real callers — trace through export chains.
- Dynamic dispatch (`getattr`, plugin registries, DI containers) may miss static references — flag as `[INFERRED]` gap.
- Generated code and lockfiles are not callers — exclude them.
- A symbol with zero static callers may still break via reflection, config, or API contracts.

---

## Output Format

```markdown
## Impact report — [symbol] in [file]

Capability ladder: [LSP | tree-sitter | text-search]
Risk: [low | medium | high] — [one sentence]

| Question | Answer | Evidence |
|----------|--------|----------|
| What depends on this? | [callers/importers] | [paths] |
| What breaks if I change it? | [breaking surfaces] | [paths] |
| Which tests cover it? | [test files] | [paths or NONE] |

Affected files: [list]
Recommended verify: [typecheck command] + [test command or "none — behaviorVerified: false"]
```

---

## Examples

Teaser: User asks "what breaks if I rename `validateSkill`?" → report lists 4 importers in eval-pipeline + 2 tests; risk medium.

Full pairs: `references/examples.md`

---

## Common Rationalizations

| Excuse | Reality |
|--------|---------|
| "File name tells me enough" | Blast radius needs import/call evidence. |
| "I'll find callers after I edit" | That's how builds break. |
| "No tests means low risk" | No tests means **unverified** risk — flag `behaviorVerified: false`. |
| "Whole repo scan is faster" | Symbol scope only; use codebase-understanding for architecture. |
| "Dynamic calls don't matter" | Flag them — they are the #1 missed breakage. |

## Verification

- [ ] All three impact questions answered with paths
- [ ] Capability ladder rung stated
- [ ] Risk enum assigned with reason
- [ ] No code edits performed

## Red Flags

- Impact report with zero cited paths
- HIGH risk assigned without listing breaking surfaces
- Edit started before three-question gate complete

## Prune Log
Last pruned: 2026-07-05
- Initial release from high-leverage skill spec (Skill 2 family)

## Impact Report

```
Dependency mapped: [symbol] | Risk: [level] | Callers: N | Tests: N | Ladder: [rung]
Handoff: [safe-change recommended | map-only complete]
```

Files in this skill

  • SKILL.md4.9 KB
  • references/IMPACT-QUERIES.md2 KB
  • references/examples.md1.5 KB

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.