CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ilspy-decompile

Understand implementation details of .NET code by decompiling assemblies. Use when you want to see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries.

Quality

82%

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

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 tight, executable single-file skill whose commands and assembly-location patterns are directly usable. The weak spots are the Core workflow section — whose steps are generic and one ("List types") lacks any backing command — and minor duplication between Quick start and Commands.

Suggestions

Back the "List types" workflow step with the actual command (e.g. the ilspycmd option that enumerates types) or remove the step if no such flag exists.

De-duplicate Quick start and Commands: show basic invocation once and let Commands cover the flag variations (-t, -p, -lv, -il).

Add a light verification checkpoint to the workflow, e.g. grep the decompiled output for the target type or confirm the output folder is non-empty before analyzing.

DimensionReasoningScore

Conciseness

The body is lean, command-driven, and avoids explaining concepts Claude already knows (no "what is .NET" filler), with genuinely non-obvious notes like "Reference assemblies do not contain implementations" and ReadyToRun/trimming caveats. It stays at 4 rather than 5 because the Quick start and Commands sections duplicate the same basic invocations ("ilspycmd MyLibrary.dll", "-o") and the dnx/ilspycmd duality is explained twice. Not 3 — the padding is minor and easily trimmed.

4 / 5

Actionability

Mostly executable guidance: concrete install command ("dotnet tool install --global ilspycmd"), real invocations with flags (-o, -p, -t, -lv, -il), and copy-pasteable path patterns for NuGet caches and build output. Not 5 because the workflow's "List types" step has no corresponding command shown, and the -t example gives no hint for namespaces/nested types. Not 3 because everything shown runs as written.

4 / 5

Workflow Clarity

The "Core workflow" lists a sequence (identify → locate → list types → decompile) but the steps are generic and unbacked by commands — "List types" has no matching ilspycmd invocation anywhere in the body, and there are no checkpoints (e.g., confirm the type exists before decompiling, or check output was produced). This matches anchor 3 (sequence present, checkpoints missing); the read-only nature avoids the destructive-cap, but it falls short of anchor 4's embedded per-step commands.

3 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and none are needed: the single SKILL.md is compact with clear, well-ordered sections (Prerequisites, Quick start, Locations, Commands, Notes, Legal) and zero reference chains. Every section is one glance away and nothing that belongs in a separate file is inlined, matching the well-organized-sections ideal for a self-contained skill.

5 / 5

Total

16

/

20

Passed

Description

82%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 with an explicit what-and-when structure and a well-defined .NET decompilation niche. Its main flaws are the second-person "you want" in the trigger clause (voice penalty) and missing a few natural synonyms and file extensions (.dll, IL, source code).

Suggestions

Rewrite the trigger clause in third person, e.g. "Use when the user wants to see how a .NET API works internally...", to avoid the second-person voice penalty.

Add common synonyms and file extensions such as ".dll", "IL code", or "library source code" to broaden natural trigger coverage.

DimensionReasoningScore

Specificity

The description lists several concrete capabilities — "see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries" — which is 4-level coverage, but the second-person phrasing "Use when you want to see" triggers the rubric's voice penalty (−1), landing it at 3. It sits below 4 because the penalty applies and above 2 because the domain and multiple concrete actions are explicitly named.

3 / 5

Completeness

Clearly answers both: what ("Understand implementation details of .NET code by decompiling assemblies") and when ("Use when you want to see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries") with concrete trigger phrases. This matches the 5 anchor exactly.

5 / 5

Trigger Term Quality

Good natural keyword coverage: ".NET", "decompiling", "assemblies", "NuGet package", "framework implementation", "compiled .NET binaries" — phrases users would plausibly say. Not 5 because common variations like ".dll", "IL", or "source code" are missing; not 3 because coverage goes well beyond a single generic keyword.

4 / 5

Distinctiveness Conflict Risk

A clear niche — .NET assembly decompilation — with distinct triggers ("decompiling assemblies", "NuGet package source", "compiled .NET binaries") unlikely to fire for unrelated skills. Only marginally overlapping with generic code-reading requests, which keeps it at 5 rather than 4.

5 / 5

Total

17

/

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/ilspy-decompile/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.