Skip to content
Development
Skill

/analyze-dependencies

Analyze project dependencies and evaluate architectural health. Trigger with "analyze dependencies", "detect circular dependencies", "architecture issues?", "check module coupling", "find layer violations". Generates dependency matrix, fan-in/fan-out analysis, and prioritized

From plugin
claude-code-cookbook
1.1k39 skills9 agents39 commands8 MCP
Install
$ npx -y skills add wasabeef/claude-code-cookbook --skill analyze-dependencies --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/analyze-dependencies

Context preview

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

Analyze project dependencies and evaluate architectural health. Trigger with "analyze dependencies", "detect circular dependencies", "architecture issues?", "check module coupling", "find layer violations". Generates dependency matrix, fan-in/fan-out analysis, and prioritized

SKILL.md

analyze-dependencies.SKILL.md
description: 'Analyze project dependencies and evaluate architectural health. Trigger with "analyze dependencies", "detect circular dependencies", "architecture issues?", "check module coupling", "find layer violations". Generates dependency matrix, fan-in/fan-out analysis, and prioritized improvement suggestions.'
allowed-tools:
  - Read
  - Grep
  - Glob

Analyze project dependencies and evaluate architectural health

Analyzes your project's dependencies and checks architecture health.

Usage

/dependency-analysis [options]

Options

  • `--visual`: Visually display dependencies
  • `--circular`: Detect only circular dependencies
  • `--depth <number>`: Specify analysis depth (default: 3)
  • `--focus <path>`: Focus on specific module/directory

Basic Examples

# Analyze dependencies for entire project
/dependency-analysis

# Detect circular dependencies
/dependency-analysis --circular

# Detailed analysis of specific module
/dependency-analysis --focus src/core --depth 5

What Gets Analyzed

1. Dependency Matrix

Shows how modules connect to each other:

  • Direct dependencies
  • Indirect dependencies
  • Dependency depth
  • Fan-in/fan-out

2. Architecture Violations

  • Layer violations (when lower layers depend on upper ones)
  • Circular dependencies
  • Excessive coupling (too many connections)
  • Orphaned modules

3. Clean Architecture Check

  • Is the domain layer independent?
  • Is infrastructure properly separated?
  • Do use case dependencies flow correctly?
  • Are interfaces being used properly?

Output Example

Dependency Analysis Report
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 Metrics Overview
├─ Total modules: 42
├─ Average dependencies: 3.2
├─ Maximum dependency depth: 5
└─ Circular dependencies: 2 detected

⚠️  Architecture Violations
├─ [HIGH] src/domain/user.js → src/infra/database.js
│  └─ Domain layer directly depends on infrastructure layer
├─ [MED] src/api/auth.js ⟲ src/services/user.js
│  └─ Circular dependency detected
└─ [LOW] src/utils/helper.js → 12 modules
   └─ Excessive fan-out

✅ Recommended Actions
1. Introduce UserRepository interface
2. Redesign authentication service responsibilities
3. Split helper functions by functionality

📈 Dependency Graph
[Visual dependency diagram displayed in ASCII art]

Advanced Usage Examples

# Automatic CI/CD checks
/dependency-analysis --circular --fail-on-violation

# Check against architecture rules
/dependency-analysis --rules .architecture-rules.yml

# See how dependencies changed
/dependency-analysis --compare HEAD~10

Configuration File Example (.dependency-analysis.yml)

rules:
  - name: "Domain Independence"
    source: "src/domain/**"
    forbidden: ["src/infra/**", "src/api/**"]

  - name: "API Layer Dependencies"
    source: "src/api/**"
    allowed: ["src/domain/**", "src/application/**"]
    forbidden: ["src/infra/**"]

thresholds:
  max_dependencies: 8
  max_depth: 4
  coupling_threshold: 0.7

ignore:
  - "**/test/**"
  - "**/mocks/**"

Tools We Use

  • `madge`: Shows JavaScript/TypeScript dependencies visually
  • `dep-cruiser`: Checks dependency rules
  • `nx`: Manages monorepo dependencies
  • `plato`: Analyzes complexity and dependencies together

Collaboration with Claude

# Check dependencies with package.json
cat package.json
/analyze-dependencies
"Find dependency issues in this project"

# Deep dive into a specific module
ls -la src/core/
/analyze-dependencies --focus src/core
"Check the core module's dependencies in detail"

# Compare design vs reality
cat docs/architecture.md
/analyze-dependencies --visual
"Does our implementation match the architecture docs?"

Notes

  • **Run from**: Project root directory
  • **Be patient**: Large projects take time to analyze
  • **Act fast**: Fix circular dependencies as soon as you find them

Best Practices

1. **Check weekly**: Keep an eye on dependency health 2. **Write rules down**: Put architecture rules in config files 3. **Small steps**: Fix things gradually, not all at once 4. **Track trends**: Watch how complexity changes over time

Read more
Ships withclaude-code-cookbook

A collection of commands, roles, and automation scripts for Claude Code. Automate your workflow without unnecessary confirmations, allowing you to focus on what matters.

Get the whole plugin

Other skills on claude-code-cookbook.