← ClaudeAtlas

dependency-analysislisted

Understanding and controlling what a codebase depends on - internal module coupling and cycles, and external package risk, versions, and upgrade cost. Use before adding a dependency, when an upgrade breaks things, when build times or binary sizes grow, when modules cannot be built or tested in isolation, and when auditing a project you did not write.
ibrohim1234567881717/game-dev-ai-skills · ★ 0 · AI & Automation · score 71
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Dependency Analysis ## Purpose Dependencies are the main determinant of how expensive a codebase is to change. They come in two kinds, and both need attention: - **Internal**: which module may reference which. Cycles and excessive coupling make code untestable, unbuildable in isolation, and resistant to change. - **External**: third-party packages and plugins. They are code you ship without having reviewed, carrying versions, vulnerabilities, licences, and their own dependencies. ## When to use - Before adding any external dependency. - Orienting in an unfamiliar codebase — the dependency graph is the fastest map. - When a small change requires edits in many unrelated places. - When modules cannot be tested without instantiating the world. - When an upgrade breaks the build, or an upgrade is being avoided out of fear. - When build times, package sizes, or cook/asset sizes grow unexpectedly. - During a security review, since vulnerabilities are version-specific. ## When NOT to use - Designing the boundaries themselves. Use `software-architecture`; this skill analyses the graph, that one decides what it should be. - Runtime performance. Use `performance-profiling-method`. - Restructuring for its own sake, with no cost being paid. ## Required context | Fact | Why it matters | |---|---| | The module or assembly boundaries | Defines the internal graph's nodes | | The manifest **and** the lockfile | The manifest states ranges; the lockfile states what is installe