CtrlK
BlogDocsLog inGet started
Tessl Logo

dotnet-inspect-performance

Whole-assembly call-graph leverage ranking and performance triage for libraries (experimental).

48

Quality

53%

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/performance/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.

The body delivers excellent copy-paste-ready command coverage and a sensible sectioned workflow with confirmation steps, but it is a 374-line monolith: dense internal edge-case prose that belongs in reference files is inlined, hurting token efficiency and progressive disclosure. Splitting the shape catalog, provenance field reference, and correlation rules into references/ files would address the two weakest dimensions at once.

Suggestions

Move the triage-shape catalog (the ~30 lines enumerating capturing-delegate, small-array, linq-scan-in-loop, etc. with per-shape caveats) into references/shapes.md and keep only the 5-6 most common shapes inline with a pointer.

Extract the runfaster correlation rules (MVID ambiguity, supersession, site-cap, string-materialization confirmation rules — roughly 60 lines of dense paragraphs) into references/correlation.md, leaving a short summary plus the two commands in SKILL.md.

Trim run-on sentences in the Priority/Confidence, Once Paths, and provenance paragraphs to declarative statements of what to do, cutting roughly half the edge-case detail that the CLI output itself already reports.

DimensionReasoningScore

Conciseness

At 374 lines the body is noticeably verbose: multi-paragraph enumerations of correlation edge cases (MVID ambiguity, supersession rules, type-level ambiguity site caps) and long run-on sentences state product-internal design detail that Claude does not need to act. This matches anchor 2 ('several unnecessary explanations or padded sections') rather than anchor 3's occasional-could-be-tightened level.

2 / 5

Actionability

The body is saturated with copy-paste-ready commands ('dnx dotnet-inspect -y -- library MyLib.dll -S "Top Leverage"', '--triage-shape scan-method-in-loop-call', 'diff --package MyLib@1.4.0..1.5.0 --finding analysis.allocation') covering ranking, triage, filtering, correlation, diff confirmation, and drilling. Fully executable with concrete example values, matching anchor 5.

5 / 5

Workflow Clarity

Sections are sequenced into a coherent flow (rank by leverage → triage against rewrite shapes → correlate with an allocation trace → confirm when an allocation appeared → trace cause → drill) with explicit validation checkpoints ('Confirm a candidate with a representative allocation trace or benchmark before changing it'; the diff probe-then-confirm-adjacent-pair pattern). It falls short of anchor 5 because the overall flow is never summarized up front and some checkpoints (e.g. validating triage.json export) are implicit.

4 / 5

Progressive Disclosure

Section headers are clear and well-ordered, but the skill ships no reference files at all: the triage-shape catalog, the provenance/JSON field reference, and the runfaster correlation edge-case rules are exactly the material that belongs in separate references/ files and is instead inlined in SKILL.md. Anchor 3 ('content that should be separate is inline') fits; it is not 4 because references are entirely absent, not merely unclear.

3 / 5

Total

14

/

20

Passed

Description

42%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 states a clear, specific capability pair (leverage ranking and performance triage) in third person, but omits any 'when to use' trigger guidance and is written in internal jargon that omits even the '.NET' platform name, so it will not match natural user requests well. It is distinguishable from generic skills only partially.

Suggestions

Add an explicit 'Use when...' clause with concrete triggers, e.g. 'Use when optimizing or hardening a .NET library, finding high-leverage members to optimize, or triaging allocation or string-materialization hotspots.'

State the platform explicitly (.NET/C# assemblies) and include natural user phrasings like 'optimize', 'find allocation hotspots', 'performance triage', and 'call-graph analysis' instead of only internal terms like 'whole-assembly call-graph leverage ranking'.

Trim the parenthetical '(experimental)' jargon or move the experimental caveat to the body, keeping the description focused on what it does and when to use it.

DimensionReasoningScore

Specificity

Names the domain ("performance triage for libraries") and two concrete actions ("call-graph leverage ranking", "performance triage"), matching the '1-2 concrete actions, not comprehensive' anchor; it never reaches the several-specific-actions level of anchor 4.

3 / 5

Completeness

The 'what' is clear (leverage ranking + performance triage), but there is no 'Use when...' or equivalent trigger clause at all, which caps completeness at 3 per the rubric guideline. Anchor 3 fits exactly; it is not 4 because 'when' is wholly absent rather than merely implicit-but-present.

3 / 5

Trigger Term Quality

The only triggers are internal jargon ("whole-assembly call-graph leverage ranking", "Root Reach"-style terminology); the natural phrases a user would say — .NET, C#, optimize, allocations, slow code — are absent, and the description never even mentions the platform. Matches anchor 2 (missing the natural phrases users say) rather than anchor 3's basic relevant-keyword coverage.

2 / 5

Distinctiveness Conflict Risk

"call-graph leverage ranking" is a distinct niche, but "performance triage for libraries" without a platform qualifier (the word .NET never appears) could overlap with general profiling or optimization skills, matching anchor 3 ('somewhat specific but could still overlap') rather than anchor 4's mostly-distinct bar.

3 / 5

Total

11

/

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