dependency-graph-generator
// Generate module dependency graphs with circular dependency detection and coupling metrics
$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namedependency-graph-generator
descriptionGenerate module dependency graphs with circular dependency detection and coupling metrics
allowed-toolsBash,Read,Write,Glob,Grep
Dependency Graph Generator Skill
Overview
Generates module dependency graphs with circular dependency identification, coupling metrics calculation, and visualization output in Graphviz or D3 formats.
Capabilities
- Generate module dependency graphs
- Identify circular dependencies
- Calculate coupling metrics (afferent, efferent)
- Calculate instability metrics
- Visualize dependencies (Graphviz, D3)
- Package/module level analysis
- External dependency tracking
Target Processes
- microservices-decomposition
- refactoring-plan
- migration-strategy
Input Schema
{
"type": "object",
"required": ["entryPoints"],
"properties": {
"entryPoints": {
"type": "array",
"items": { "type": "string" },
"description": "Entry point files or directories"
},
"outputFormat": {
"type": "string",
"enum": ["dot", "json", "d3", "mermaid"],
"default": "dot"
},
"outputPath": {
"type": "string",
"description": "Output file path"
},
"options": {
"type": "object",
"properties": {
"depth": {
"type": "number",
"default": -1,
"description": "Maximum depth (-1 for unlimited)"
},
"includeExternal": {
"type": "boolean",
"default": false
},
"groupByPackage": {
"type": "boolean",
"default": true
},
"detectCircular": {
"type": "boolean",
"default": true
}
}
}
}
}
Output Schema
{
"type": "object",
"properties": {
"graph": {
"type": "object",
"properties": {
"nodes": { "type": "array" },
"edges": { "type": "array" }
}
},
"circularDependencies": {
"type": "array",
"items": {
"type": "array",
"items": { "type": "string" }
}
},
"metrics": {
"type": "object",
"properties": {
"totalModules": { "type": "number" },
"totalDependencies": { "type": "number" },
"averageCoupling": { "type": "number" }
}
},
"outputPath": {
"type": "string"
}
}
}
Usage Example
{
kind: 'skill',
skill: {
name: 'dependency-graph-generator',
context: {
entryPoints: ['src/index.ts'],
outputFormat: 'dot',
outputPath: 'docs/dependencies.dot',
options: {
groupByPackage: true,
detectCircular: true
}
}
}
}