CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

package-management

Manage NuGet packages using Central Package Management (CPM) and dotnet CLI commands. Never edit XML directly - use dotnet add/remove/list commands. Use shared version variables for related packages.

Quality

76%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/package-management/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%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 highly actionable, executable reference whose commands and XML templates are copy-paste ready. Its weaknesses are the absence of validation/verification checkpoints in the package-change workflows (including an internal contradiction with its own 'never edit XML' golden rule) and a monolithic 450-line structure that should be split into reference files.

Suggestions

Add explicit verification steps after package changes, e.g. 'After add/remove, run `dotnet restore` and `dotnet build` to verify the change compiles; if restore fails, run `dotnet list package --include-transitive` to diagnose', resolving the feedback-loop gap.

Reconcile the Golden Rule with the Updating Packages section — either explain that CPM version bumps are the one sanctioned edit of Directory.Packages.props, or give a CLI-based update workflow.

Split the CLI Command Reference, Package Sources, and Troubleshooting sections into one-level-deep reference files (e.g., references/cli-reference.md, references/troubleshooting.md) and keep SKILL.md as a concise overview.

DimensionReasoningScore

Conciseness

The body is dominated by executable commands and XML templates with very little prose padding — every command block earns its place. Minor over-explanation remains: the ~50-line Akka/Aspire/OpenTelemetry version-variable block could be one short group, the 'Why:'/'Benefits:' bullet lists explain things Claude already knows, and the Anti-Patterns section restates the Golden Rule and CPM rules already covered. Not anchor 5 (some tokens could still be trimmed); not 3 (there are only minor instances, not several unnecessary sections).

4 / 5

Actionability

Fully executable, copy-paste-ready guidance throughout: concrete dotnet CLI invocations with flags ('dotnet add package Serilog --version 4.0.0', 'dotnet list package --vulnerable', 'dotnet restore --force'), complete XML templates for Directory.Packages.props, NuGet.config, and conditional/development-only PackageReferences, plus a Quick Reference table covering the common cases. Matches anchor 5.

5 / 5

Workflow Clarity

Sequences are shown (enable CPM → add package → result; clear-cache → restore → check lock files) but validation checkpoints are missing or only implicit — there is no 'run dotnet restore && dotnet build to verify' step after add/remove, and the CLI's validation benefit is asserted but never operationalized. Per the feedback-loops rule for XML/document manipulation, the missing verify-then-fix loop caps this at 3. It also contains an internal contradiction: the Golden Rule says 'Never edit XML directly' while the Updating Packages section instructs 'Edit the version in Directory.Packages.props'.

3 / 5

Progressive Disclosure

Good internal structure with clear ## / ### headers and a Quick Reference table, but the skill is a ~450-line monolith: the CLI Command Reference, Package Sources/NuGet.config, Troubleshooting, and Anti-Patterns sections are exactly the content that belongs in one-level-deep reference files (e.g., cli-reference.md, troubleshooting.md), and no references/, scripts/, or assets/ bundle exists to offload it. Matches anchor 3 ('content that should be separate is inline'); not 2 because section headers and navigation within the file are strong.

3 / 5

Total

15

/

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 specific, distinctive description that names concrete commands and the CPM/version-variable approach, written in imperative (third-person) voice. Its main weakness is the complete absence of a 'Use when...' trigger clause, which both caps completeness and slightly limits discoverability.

Suggestions

Add an explicit trigger clause, e.g. 'Use when adding, removing, updating, or troubleshooting NuGet packages, or when setting up Central Package Management (CPM) for a .NET solution.'

Include natural file-name triggers users would mention, such as '.csproj', 'Directory.Packages.props', or 'packages.lock.json', to broaden and sharpen trigger-term coverage.

Mention update/restore/troubleshooting among the concrete actions so the description's coverage matches the skill body's scope.

DimensionReasoningScore

Specificity

Lists several concrete actions ('Manage NuGet packages using Central Package Management (CPM) and dotnet CLI commands', 'use dotnet add/remove/list commands', 'Use shared version variables for related packages'), but coverage has gaps — no mention of updating, restoring, or troubleshooting, which the body shows are core parts of the skill. Not anchor 5 (not comprehensive); not 3 (more than 1-2 concrete actions are named).

4 / 5

Completeness

The 'what' is clear (manage NuGet packages via CPM and dotnet CLI), but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description, which caps completeness at 3 per the judging guidelines. Matches anchor 3 exactly: clear 'what' with 'when' missing.

3 / 5

Trigger Term Quality

Good natural keyword coverage ('NuGet packages', 'Central Package Management (CPM)', 'dotnet CLI', 'add/remove/list'), all terms a .NET user would say. Not anchor 5 because it lacks synonym/extension-style triggers such as '.csproj', 'Directory.Packages.props', or 'package reference' that users would naturally mention.

4 / 5

Distinctiveness Conflict Risk

Clear niche (NuGet package management with CPM and dotnet CLI) with distinct, domain-specific triggers; minimal overlap risk with other skills. More distinct than anchor 4's 'minor overlap risk with closely related skills' example — the triggers are unambiguous within the .NET ecosystem.

5 / 5

Total

16

/

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.

Repository

Aaronontheweb/dotnet-skills

Path

skills/package-management/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.