# Dependency Inversion

> Trigger: dependency inversion, DIP, ports, interfaces, adapters. Detect concrete dependency risks at boundaries.

- Skill: `andresnator/dependency-inversion` (Agent Skill)
- Install (CLI): `npx skillmds@latest add andresnator/dependency-inversion`
- Raw SKILL.md: https://api.skillmd.com/api/skills/andresnator/dependency-inversion/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: andresnator (https://skillmd.com/u/andresnator)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/andresnator/dependency-inversion

---


## Activation Contract
Load this skill when reviewing refactor plans for: dependency inversion, DIP, ports, interfaces, adapters.

## Hard Rules

- Flag direct dependencies on frameworks, gateways, clients, persistence, or external systems when they hurt testing or coupling.
- Introduce ports/interfaces only for real variation, test seams, or architectural boundaries.
- Do not wrap stable internal classes by default.
- Preserve observable behavior; label functional changes as follow-up.
- Require evidence for every recommendation, or mark it as a hypothesis.

## Decision Gates

| Signal | Action |
|---|---|
| Concrete evidence exists | Create a finding with file, lines, symbol, benefit, validation, and rollback. |
| Evidence is incomplete | Mark as hypothesis and lower confidence. |
| Recommendation is cosmetic or speculative | Omit it unless maintainability benefit is clear. |

## Execution Steps

1. Inspect the target and nearby tests only as needed for this lens.
2. Identify findings that match this skill's responsibility.
3. Recommend the smallest safe behavior-preserving refactor.
4. Add validation and rollback steps for each recommendation.

## Output Contract

Return structured findings for the calling reviewer. Return `no_findings` when this lens has no material issue.

## References

None.

