CtrlK
BlogDocsLog inGet started
Tessl Logo

dotnet-aot-compat

Make .NET projects compatible with Native AOT and trimming by systematically resolving IL trim/AOT analyzer warnings. USE FOR: making projects AOT-compatible, fixing trimming warnings, resolving IL warnings (IL2026, IL2070, IL2067, IL2072, IL3050), adding DynamicallyAccessedMembers annotations, enabling IsAotCompatible. DO NOT USE FOR: publishing native AOT binaries, optimizing binary size, replacing reflection-heavy libraries with alternatives. INVOKES: no tools — pure knowledge skill.

72

Quality

88%

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

The canonical home for this skill is dotnet-aot-compat in dotnet/skills

SKILL.md
Quality
Evals
Security

Quality

Content

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced AOT-compatibility procedure with strong validation feedback loops and copy-paste recipes per warning code. Its weaknesses are mild conceptual redundancy and a monolithic inline body that underuses progressive disclosure despite one cleanly externalized reference.

Suggestions

Trim the 'Background: What AOT Compatibility Means' section to the non-obvious bits (the IsAotCompatible property behavior, ILXXXX codes) and drop general reflection/trimming explanation Claude already knows, reducing conciseness redundancy.

Move the 'Common Gotchas' detail and/or Strategy C's batch-update walkthrough into a references file (e.g. references/serialization-fix.md), keeping SKILL.md as an overview that links one level deep.

De-duplicate the 'never suppress IL warnings' guidance so it appears authoritatively once (Critical Rules) rather than being restated in the checklist and Step prose.

DimensionReasoningScore

Conciseness

Mostly dense and actionable, but the 'Background' section explains reflection/trimming concepts Claude largely knows and the suppression warnings are restated across 'Critical Rules' and the checklist — could be tightened. Not a 3 due to this conceptual redundancy, not a 1 because the bulk is lean fix recipes.

2 / 3

Actionability

Fully executable: csproj XML, a concrete build/grep command, and before/after C# for each strategy — copy-paste ready with specific warning-code recipes.

3 / 3

Workflow Clarity

A clearly sequenced Step 1–6 procedure with explicit validation checkpoints (rebuild after 5–10 fixes, Step 6 validate all TFMs, '0 Warning(s)' exit), feedback loops, and a Stop Signals section. Not a 2 because checkpoints are explicit rather than implicit.

3 / 3

Progressive Disclosure

The one reference (polyfills.md) is correctly one-level-deep and well-signaled, but the ~250-line body keeps strategies, gotchas, and conceptual material inline that could be split out. Not a 3 because content that should be separate remains in the monolithic body; not a 1 because the existing reference and section organization are clean.

2 / 3

Total

10

/

12

Passed

Description

100%

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 precise, third-person description that clearly states capabilities, lists natural trigger terms, and disambiguates scope with USE FOR / DO NOT USE FOR clauses. It hits every anchor for the top level with no over-claims or fluff.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'making projects AOT-compatible, fixing trimming warnings, resolving IL warnings (IL2026, IL2070...), adding DynamicallyAccessedMembers annotations, enabling IsAotCompatible' — matching the 'multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicitly answers both what ('Make .NET projects compatible with Native AOT and trimming by systematically resolving IL trim/AOT analyzer warnings') and when ('USE FOR:' triggers plus 'DO NOT USE FOR:' disambiguation).

3 / 3

Trigger Term Quality

Natural developer-facing terms a user would actually say ('AOT-compatible', 'trimming warnings', 'IL warnings', 'IsAotCompatible') with good coverage including specific IL codes; not a 2 because common variations are all present.

3 / 3

Distinctiveness Conflict Risk

A narrow .NET AOT/trimming niche with distinct triggers and an explicit DO NOT USE FOR list; very unlikely to fire for the wrong skill.

3 / 3

Total

12

/

12

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
dotnet/msbuild
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.