CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dependency-triage

Scan package manifests and lockfiles for outdated packages and known CVEs. Groups updates by risk (patch, minor, major). Use in dependency sweeper loops.

Quality

78%

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 ./starters/dependency-sweeper/.claude/skills/dependency-triage/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

80%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 tight, well-structured instruction skill with a concrete output contract and explicit decision rules; token efficiency and organization are excellent for a single-file skill. The two real gaps are the unspecified scan mechanics (how to detect outdated packages/CVEs) and the absence of explicit validation checkpoints for its batch update workflow, the latter capping workflow clarity at 3 per the rubric.

Suggestions

Add the scan commands per ecosystem (e.g. `npm outdated && npm audit --json`, `pip-audit -r requirements.txt`, `govulncheck ./...`) so the input step is executable rather than assumed.

Sequence the workflow explicitly and include a validation checkpoint after any applied bump (e.g. run the package's tests or the loop verifier before proposing patch-in-worktree), which would lift the batch-operation cap on workflow clarity.

State where `dependency-sweeper-state.md` lives and how to read denylist/human-override entries from it, since that file drives classification decisions but its location and format are not specified.

DimensionReasoningScore

Conciseness

The ~41-line body is lean and assumes competence: a copy-ready output template, terse classification rules, and operational rules with zero concept explanations or padding. Even the untrusted-input block carries only rule content, matching the 'every token earns its place' anchor.

5 / 5

Actionability

Guidance is mostly executable: a concrete per-package output template with enumerated values ("patch | minor | major", "patch-in-worktree | escalate-human | skip"), explicit rules ("Prefer the smallest safe bump", "Never bundle unrelated package updates"), and a named state file for overrides. It falls short of anchor 5 because no scan mechanics are given — no commands or tools (e.g. npm outdated, pip-audit, govulncheck) for actually detecting outdated packages and CVEs, leaving the skill's core input step unspecified.

4 / 5

Workflow Clarity

This is a batch operation (scanning many packages, auto-applying patch bumps in worktrees), and the rubric explicitly caps such skills at 3 without validation steps. Decision checkpoints exist (escalate-human gates, denylist, peer-dep conflict escalation) and "minor: cautious, verifier required" gestures at verification, but no explicit validate-after-change or test step is sequenced within the skill, and the overall scan → classify → output → act sequence is only implied.

3 / 5

Progressive Disclosure

The skill is under 50 lines with no bundle files and clear section organization (Output per package, Classification Rules, Rules, Untrusted input), which the rubric's simple-skill note says can score 5 with just well-organized sections. The only external mentions are the loop's runtime state file and a generator-comment for the untrusted-input block — neither is a nested or buried reference.

5 / 5

Total

17

/

20

Passed

Description

70%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 concise, third-person description that clearly states what the skill does and includes an explicit use clause with good natural trigger keywords. Its weaknesses are limited action coverage (scan + group, with the post-triage behavior unstated) and a "when" clause phrased as internal loop jargon rather than user-facing triggers.

Suggestions

Broaden the 'what' with one more concrete action, e.g. 'Proposes the smallest safe bump per package and flags human-gated updates', to lift specificity toward comprehensive coverage.

Replace or augment the jargon-only trigger with natural user phrasing, e.g. 'Use when the user mentions outdated dependencies, vulnerable packages, or lockfile updates'.

Add common synonyms such as 'vulnerabilities', 'security advisories', or manifest filenames (package.json, requirements.txt, go.mod) to widen trigger-term coverage.

DimensionReasoningScore

Specificity

"Scan package manifests and lockfiles for outdated packages and known CVEs" and "Groups updates by risk (patch, minor, major)" name the domain and two concrete actions, but coverage is not comprehensive — it never states what happens after grouping (e.g., proposing updates, reporting, applying patches), which keeps it at the 1-2-concrete-actions anchor rather than the several-actions anchor at 4.

3 / 5

Completeness

Both parts are present: the "what" is concrete (scan manifests/lockfiles for outdated packages and CVEs, group by risk) and an explicit trigger clause exists ("Use in dependency sweeper loops"). The "when" is narrower than anchor 5 because "dependency sweeper loops" is internal jargon rather than concrete user-facing trigger phrases, but it is explicit, so it clears the missing/weakly-implied anchor at 3.

4 / 5

Trigger Term Quality

Good natural keyword coverage: "outdated packages", "known CVEs", "lockfiles", "dependency", "patch, minor, major", "dependency sweeper loops" — terms a user would plausibly say. A few common synonyms are missing ("vulnerabilities", "security advisories", "upgrade", extensions like package.json/requirements.txt), so it does not reach the comprehensive-synonyms anchor at 5.

4 / 5

Distinctiveness Conflict Risk

The niche is clear — dependency triage against manifests/lockfiles with CVE-aware patch/minor/major risk grouping — and largely distinct. Minor overlap risk remains with closely related skills such as generic dependency-update or security-audit skills, which matches the "mostly distinct" anchor rather than the minimal-conflict anchor at 5.

4 / 5

Total

15

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

cobusgreyling/loop-engineering

Path

starters/dependency-sweeper/.claude/skills/dependency-triage/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.