CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dotnet-inspect-sourcelink

Locate .NET source files and Member spans through Portable PDB and SourceLink data, then read checksum-matched content locally or remotely while preserving provenance and availability boundaries.

Quality

77%

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/sourcelink/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The content is a strong, example-driven CLI reference: every section pairs precise behavioral semantics with executable commands, and failure/validation behavior is consistently surfaced. Weaknesses are minor — a few dense prose passages that could be tightened, and some reference-grade detail that could be split into bundle files now that the document exceeds a single-screen overview. No bundle files exist in references/, scripts/, or assets/, so progressive disclosure was scored on the body's own structure.

DimensionReasoningScore

Conciseness

The body is information-dense with almost no explanation of concepts Claude already knows — every paragraph covers tool-specific semantics like "The PDB span is executable source, not a complete member boundary" and "PDBs *carry* SourceLink data; they are not SourceLink themselves". Not 5 because a few convoluted passages (e.g. the "For one package with exactly `SourceLink: Files` selected..." paragraph and the provenance-boundary sentences in the intro) could be tightened or trimmed.

4 / 5

Actionability

Five command blocks give fully executable, copy-paste-ready invocations covering the common cases — `dnx dotnet-inspect -y -- library System.Text.Json -S "SourceLink: Files"`, `member JsonSerializer --platform System.Text.Json Serialize:1 -S "PDB Source"`, and `--print --row 1` variants — with concrete flags (--urls, --paths, --json-array) explained inline. Not 4 because the examples span locate/fetch/print workflows and specific packages rather than leaving minor gaps.

5 / 5

Workflow Clarity

Sections follow a clear sequence — "Find where the source lives" → "Fetch PDB source" → "Inspect or print authored member parts" → "URL forms" — and validation behavior is described (checksum verification of fetched bodies, "Unavailable parts fail rather than selecting a substitute", missing printable documents are reported). Not 5 because the checkpoints are stated as tool behavior rather than explicit validate-then-proceed steps with error-recovery guidance; not 3 because the ordering and failure semantics are consistently made explicit.

4 / 5

Progressive Disclosure

The body is well-organized into focused one-level sections with no nested references and no monolithic wall of text; cross-references to the complementary `decompiler` and `signals` skills are named with their purpose. Not 5 because the document is ~135 lines with detail-heavy passages (row-selection semantics, part-name lists, URL-form options) that could live in reference files, and the sibling-skill mentions lack paths or links.

4 / 5

Total

17

/

20

Passed

Description

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

The description is specific and highly distinctive within the .NET diagnostics niche, naming concrete capabilities like locating Member spans and checksum-verified source reads. Its main weakness is the complete absence of "when to use" trigger guidance, plus reliance on technical jargon over the natural phrases (source code, symbols) a user might say. Adding an explicit "Use when..." clause with user-facing trigger terms would raise both completeness and trigger quality.

Suggestions

Add an explicit trigger clause, e.g. "Use when you need the original source file or line span for a .NET type or method from its PDB, when checking whether a NuGet package has SourceLink, or before decompiling."

Include natural synonyms users would actually say — "source code", "debugging symbols", "PDB files", "NuGet package source" — alongside the technical terms like Portable PDB and SourceLink.

Replace the abstract tail "while preserving provenance and availability boundaries" with a concrete capability statement (e.g. "verifies fetched content against the PDB checksum and reports which documents are missing or unverifiable").

DimensionReasoningScore

Specificity

Quotes several concrete actions — "Locate .NET source files and Member spans", "read checksum-matched content locally or remotely" — anchored to a named domain (Portable PDB, SourceLink). It falls below 5 because the trailing clause "preserving provenance and availability boundaries" is abstract rather than a concrete capability, leaving minor gaps in coverage.

4 / 5

Completeness

The "what" is clear (locate source files and member spans via PDB/SourceLink, read checksum-matched content), but there is no "Use when..." clause or equivalent explicit trigger guidance, capping completeness at 3 per the rubric. Not 4 because the "when" is entirely missing rather than merely implicit.

3 / 5

Trigger Term Quality

Relevant keywords like ".NET", "source files", "Portable PDB", and "SourceLink" are present, but common natural variations users would say — "source code", "symbols", "decompile", "NuGet package" — are absent. Not 4 because the coverage of everyday synonyms is thin; not 2 because the terms present are ones a user with this need would plausibly say.

3 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche — Portable PDB checksum-verified .NET source retrieval through SourceLink — with trigger terms unlikely to fire for unrelated skills. Not 4 because the specialized terminology (PDB, SourceLink, Member spans) makes overlap with generic source-reading skills minimal.

5 / 5

Total

15

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

richlander/dotnet-inspect

Path

skills/sourcelink/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.