serena-impact-analysis

Analyze blast radius of port interface changes across codebases.

1|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/jrmatherly/shipit --skill serena-impact-analysis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: serena-impact-analysis
Source: https://github.com/jrmatherly/shipit/tree/main/.claude/skills/serena-impact-analysis
Command: npx skills add https://github.com/jrmatherly/shipit --skill serena-impact-analysis

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

When changing a port interface, small edits can cascade across implementations, use cases, presentation layers, and tests causing widespread breakage and missed updates; this Skill uncovers the full blast radius before any code is changed so you can plan a minimal, safe rollout.

Core Features & Use Cases

  • Locate interface definitions: Find the canonical interface source inside the application ports directory and record its file and symbol path.
  • Discover implementors and consumers: Identify infrastructure implementations, injected use cases, and presentation code that depend on the interface.
  • Assess transitive impact and tests: Use a code-review graph to reveal transitive dependencies and enumerate affected unit and integration tests to produce a prioritized change checklist.
  • Use Case: Preparing to add or change a method on an output port interface and needing an exact list of files and tests to update beforehand.

Quick Start

Ask Serena to analyze the interface IFeatureRepository at packages/core/src/application/ports/output/repositories/feature-repository.interface.ts and generate a layer-by-layer impact checklist listing implementors, consuming use cases, presentation references, and affected tests.

Frequently Asked Questions about serena-impact-analysis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I analyze the blast radius of a port interface change in my codebase?

Interface impact analysis identifies all affected implementations, injected use cases, presentation code, and tests before you modify a port. It uses a code-review graph to trace transitive dependencies, producing a prioritized layer-by-layer change checklist for safe refactoring.

How do I find all implementations and consumers of an output port interface?

You locate the canonical interface source inside the application ports directory to find its implementors and consumers. Dependency analysis then identifies infrastructure implementations, injected use cases, and presentation code relying on that specific output port interface.

How do I enumerate affected tests and mock factories when refactoring an interface?

To enumerate affected tests and mock factories when refactoring an interface, you assess transitive impact using a code-review graph. This reveals all dependent unit and integration test files, allowing you to generate a prioritized checklist of required test updates.

Does interface impact analysis work with Serena and a code-review-graph tool?

Yes, interface impact analysis works with Serena and a code-review-graph tool for transitive dependency analysis. This combination is required to locate interface definitions, discover implementors, and enumerate affected tests within the application ports directory structure.

What is the best way to plan a minimal safe rollout for an interface change?

The best way to plan a minimal safe rollout for an interface change is to produce a layer-by-layer change checklist beforehand. Mapping the blast radius ensures you locate all implementors, consuming use cases, and tests to update without missing critical dependencies.