What problem does it solve? NestJS applications fail at startup with "circular dependency" or "can't resolve dependencies" errors when modules import each other in a cycle. This Skill diagnoses the offending edge in the module graph and re-cuts the layering so the dependency graph stays a DAG, instead of papering over the cycle with forwardRef. ## Core Features & Use Cases - Cycle diagnosis: Distinguishes module-level cycles ("ModuleA -> ModuleB -> ModuleA") from provider-level cycles ("Nest can't resolve dependencies of the X (?)"), and greps for existing forwardRef usage as a smell. - Prioritized fix ladder: Applies five escalating strategies — re-check method ownership, pass data as arguments instead of importing modules, extract shared code downward into shared/ or infrastructure/, orchestrate cooperating leaves one level up, and only as a last resort use forwardRef on both sides with a documented justification. - Architecture enforcement: Verifies leaf modules (holdings, ledger, audit-events) never import operation modules (transfers, administrations, waste-records), keeping the dependency direction strictly downward. - Use Case: You add a cross-module service injection and the app fails to boot with a circular dependency error. Run the skill with the two module names to identify the backward edge and apply the correct restructuring. ## Quick Start Ask the AI to run the circular-deps check mode to scan the NestJS codebase for forwardRef usage and any leaf module importing an operation module.