CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/madge-deps

Run Madge against a JS/TS production source tree to detect circular dependencies, find orphan modules, and visualize the module graph. Scoped to production code via `excludeRegExp` for test files. Use when a build compiles but throws `Cannot read property X of undefined` on a module that is clearly imported, or when a repo needs a CI gate that blocks new import cycles.

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

90%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, highly actionable CLI skill: copy-paste commands, complete config, a CI gate with exit-code semantics, and an anti-patterns table that preempts real failure modes. The only gaps are minor — no post-detection guidance for interpreting/breaking a found cycle, and all detail lives in the single file.

DimensionReasoningScore

Conciseness

Every section is load-bearing: commands with one-line purposes, a compact per-OS Graphviz table, an anti-patterns table pairing each failure with its fix, and two genuine limitations (static imports only, ESM resolver caveat). No concept explanations Claude already knows; the only trimmable token is the repeated "Per the [Madge README]" link. Not 4: there is no over-explanation to trim.

5 / 5

Actionability

Fully executable throughout: install commands, `madge --circular src/index.ts`, `--orphans`/`--leaves`/`--depends`/`--dot`, a complete `.madgerc` JSON with a correct `tsConfig` pointer, and copy-paste GitHub Actions YAML with exit-code semantics ("Exit code: 0 if none found, 1 if any circular path exists"). Not 4: the examples cover the common cases end-to-end with real commands and config.

5 / 5

Workflow Clarity

A clear six-step sequence (install → detect → orphans → visualize → configure → CI gate) with real checkpoints: exit codes for CI gating, "verify usage outside source tree ... before removal" for orphan deletion, and the explicit blocking-vs-advisory distinction (`|| true`). Not 5: no guidance on interpreting or acting on madge's cycle output once a cycle is found (how to read the cycle path, how to break it). Not 3: the destructive orphan-deletion path does include explicit verification, so the destructive-cap does not apply.

4 / 5

Progressive Disclosure

A single well-sectioned SKILL.md with clean headers and one clearly signaled, one-level-deep reference ([Madge README], linked in context and again in References). No bundle files exist. Not 5: the ~130-line body keeps everything inline (anti-patterns table, full .madgerc reference) where a reference file could carry the detail, and the under-50-line simple-skill exception doesn't apply. Not 3: structure and navigation are clean and references are clearly signaled.

4 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: concrete actions, an explicit dual-scenario trigger clause including the exact runtime error users hit, and a well-defined niche. Third-person imperative voice and tight length; only minor synonym coverage is missing.

DimensionReasoningScore

Specificity

"detect circular dependencies, find orphan modules, and visualize the module graph" lists multiple concrete actions, and the description adds the production-scoping mechanism ("Scoped to production code via `excludeRegExp` for test files") and a CI-gate use case, giving comprehensive coverage of the tool's capabilities. Not 4: the actions span the tool's full capability set with no gaps.

5 / 5

Completeness

Explicitly answers what ("Run Madge ... to detect circular dependencies, find orphan modules, and visualize the module graph") and when ("Use when a build compiles but throws `Cannot read property X of undefined` on a module that is clearly imported, or when a repo needs a CI gate that blocks new import cycles"). Not 4: the when-clause is fully explicit with two concrete trigger scenarios, not merely present or generic.

5 / 5

Trigger Term Quality

Strong natural terms users would say: "circular dependencies", "orphan modules", "module graph", "import cycles", "JS/TS", "CI gate", and the raw error text "Cannot read property X of undefined". Not 5: common variants like "circular imports" or "dependency cycle" are absent and file extensions are only implied via "JS/TS" rather than stated.

4 / 5

Distinctiveness Conflict Risk

A clear niche (Madge-based dependency-cycle analysis for JS/TS production trees) with a highly specific runtime-symptom trigger that no adjacent skill would claim. Not 4: there is no meaningful overlap risk with closely related skills.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

On this page