CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dependency-analysis

Analyze package, lockfile, import/module, build, runtime-service, and third-party dependency relationships, risks, upgrades, and supply-chain health. Use when dependencies themselves are the primary object. Do not use for a broad security audit or whole-architecture review.

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/dependency-analysis/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 dense, expert-level methodology with a clear five-step sequence, concrete evidence rules, a verbatim output contract, and well-signaled one-level-deep references for the material that belongs in separate files. Its two real weaknesses are boilerplate redundancy (routing repeated three times, plus framework/workflow-integration sections that pad a self-declared standalone skill) and ten dangling shared/base and shared/workflow-contract.md links that the bundle does not actually contain.

Suggestions

Resolve the ten missing shared/base/*.md and shared/workflow-contract.md links: either ship the files in the bundle or replace the 'Base Framework' policy-manifest section with the one or two policy rules that actually matter inline.

Deduplicate routing: keep one canonical 'Routing Boundary' section and drop the sibling-skill list from 'Purpose and activation' (and the standalone 'Optional Workflow Integration' boilerplate) — this would lift conciseness from 3 to 4 without losing guidance.

Fix the garbled step-3 heading ('Diagnose package, build, and weight risk' -> 'dependency-weight risk') and add one or two inline example commands (e.g. `npm ls --all`, `cargo tree -i <crate>`) so the body is executable without opening references.

DimensionReasoningScore

Conciseness

The body is information-dense rather than tutorial-style (no 'what is a lockfile' padding), but it contains several padded/boilerplate sections: routing guidance is repeated three times (frontmatter description, 'Purpose and activation' listing sibling skills, and again in 'Routing Boundary'), the 'Base Framework' section carries a policy-link manifest plus precedence boilerplate, and 'Optional Workflow Integration' spends ~8 lines on integration for a skill that declares itself 'fully standalone'. This matches the score-3 anchor 'Mostly efficient but includes some unnecessary explanation or could be tightened'; it is not score 4 because these redundancies are structural sections to trim, not minor instances, and not score 2 because the core guidance itself is terse, expert-level, and free of concept explanations Claude already knows.

3 / 5

Actionability

For an instruction-only analysis skill, the guidance is concrete throughout: precise inspection targets ('manifest-lock alignment, declared/imported/missing/wrong-scope packages, duplicate/conflicting/peer versions'), a verbatim copy-paste-ready output template ('Use this exact structure'), an exact findings-field list ('ID, category, severity, confidence, exact location/path/version/graph edge...'), and executable tool names delegated to the real references/ecosystem-tools.md (npm ls, pip-audit, go mod graph). This matches the score-4 anchor 'Mostly executable guidance... minor gaps'. It falls short of score 5 because no example commands or worked micro-examples appear inline in the body, and one heading is garbled ('Diagnose package, build, and weight risk' appears to mean 'dependency-weight risk'), which slightly muddies execution.

4 / 5

Workflow Clarity

The five workflow steps are clearly sequenced (scope/inventory -> build graphs -> package risk -> architecture/runtime -> supply chain/upgrade readiness) each with concrete inputs, and validation checkpoints exist: 'Verify unused candidates across all non-static use sites before removal', evidence-gating severity ('Use HIGH only with direct manifests/locks/imports/scanners/config/runtime evidence'), 'Unable to determine - evidence needed' as an explicit no-evidence outcome, and a final quality checklist. This matches the score-4 anchor 'Clear sequence with most checkpoints present; minor validation gaps'. Not score 5 because checkpoints are distributed in prose rather than attached as explicit per-step gates, and there is no validate-then-proceed loop inside any step; not score 3 because validation is clearly articulated, and the skill's destructive operations (auto-removal, mass upgrade) are explicitly prohibited with required test/rollback plans.

4 / 5

Progressive Disclosure

Per the guideline to score against the actual bundle structure: the four references/ files (ecosystem-tools.md, risk-and-upgrades.md, architecture-and-runtime.md, examples.md) exist, are well-signaled with markdown links at the relevant workflow step, and are one level deep — good. However, ten referenced paths do not exist in the bundle: all nine shared/base/* policy files linked as 'Required packaged policies' and shared/workflow-contract.md are missing, so navigation breaks for a third of the body's links. This fits the score-3 anchor 'Some structure but could be better organized' — the structure and signaling are present but the bundle does not resolve its own required references. Not score 2 because substantial, genuinely well-split reference files exist and the body itself is sectioned; not score 4 because unresolved required-policy links are more than a minor organization gap.

3 / 5

Total

14

/

20

Passed

Description

78%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.

A strong description: it names concrete dependency-analysis targets, includes a natural and reasonably complete trigger vocabulary, and answers both 'what' and 'when' with explicit negative triggers that sharply reduce conflict risk. The main limitation is that the 'when' clause is stated abstractly rather than as concrete user-side trigger phrases, and trigger coverage misses common ecosystem-specific synonyms.

Suggestions

Make the 'Use when' clause concrete with user-side phrases, e.g. 'Use when the user asks to analyze dependencies, check a lockfile, plan an upgrade, or assess supply-chain risk' instead of the abstract 'when dependencies themselves are the primary object'.

Add one or two ecosystem-specific trigger terms users naturally say (e.g. 'npm/pip packages', 'outdated dependencies', 'transitive dependencies') to strengthen natural-keyword coverage.

DimensionReasoningScore

Specificity

Quotes: "Analyze package, lockfile, import/module, build, runtime-service, and third-party dependency relationships, risks, upgrades, and supply-chain health" — this names several concrete analysis targets (relationships, risks, upgrades, supply-chain health) across multiple dependency types, matching the score-4 anchor 'Lists several specific actions; minor gaps in coverage'. It falls short of the score-5 anchor because the action set rests on a single verb ('Analyze') rather than multiple distinct concrete actions, and it is not above 4 since coverage of the domain is genuinely broad with only minor gaps.

4 / 5

Completeness

Quotes: what — "Analyze package, lockfile, ... dependency relationships, risks, upgrades, and supply-chain health"; when — "Use when dependencies themselves are the primary object. Do not use for a broad security audit or whole-architecture review." Both 'what' and an explicit 'Use when...' trigger are present, so it is above the score-3 cap. It sits at score 4 rather than 5 because the 'when' clause is stated abstractly ('dependencies themselves are the primary object') instead of concrete user-side trigger phrases like 'when the user mentions lockfiles or asks about upgrades', though the paired exclusion clause partially compensates.

4 / 5

Trigger Term Quality

Quotes: "package", "lockfile", "dependency", "upgrades", "supply-chain", "import/module" — these are natural words a user would say when needing this skill ('analyze my dependencies', 'check the lockfile', 'is it safe to upgrade'). It matches the score-4 anchor 'Good keyword coverage; a few natural terms missing': common variations users actually say are absent, e.g. ecosystem names (npm, pip, Maven), 'outdated/abandoned packages', 'transitive dependencies', and file extensions like package.json or requirements.txt. Not score 5 for that reason; clearly above score 3 because the core natural terms are all present.

4 / 5

Distinctiveness Conflict Risk

Quotes: "Do not use for a broad security audit or whole-architecture review" combined with the niche framing "Use when dependencies themselves are the primary object". This carves a clear niche (dependency-centric analysis) and explicitly redirects the two most confusable neighboring skills (security audit, architecture review), matching the score-5 anchor 'Clear niche with distinct triggers; minimal conflict risk'. Neighboring anchor 4 ('minor overlap risk') is a worse fit since the exclusions address exactly those overlaps.

5 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 10 missing, 9 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 2 missing

Warning

Total

14

/

16

Passed

Repository

Noorkhalel/saas-ai-skills

Path

skills/dependency-analysis/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.