CtrlK
BlogDocsLog inGet started
Tessl Logo

cswin32-interop

Guides CsWin32 P/Invoke interop in MSBuild. Consult when working with the PInvoke class, Windows.Win32 namespaces, FEATURE_WINDOWSINTEROP, HANDLE/HMODULE/HRESULT types, BufferScope<T>, replacing [DllImport] with CsWin32, or conditioning Windows-only code for source builds.

68

Quality

85%

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

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.

A dense, highly actionable interop reference with executable code, concrete paths, and a strong source-build verification workflow including feedback loops. It is well-structured with clearly signaled cross-references, with only minor conciseness and sequencing refinements possible.

Suggestions

Add an explicit numbered migration sequence (e.g. 1. replace [DllImport] with PInvoke.* 2. add FEATURE_WINDOWSINTEROP guard + IsWindows check 3. run source-build verification) so the workflow reads as a single ordered process rather than a rule list.

Tighten the prose in the Blittable signatures and Constant Replacements sections to bullet/terse form to lift token efficiency toward the lean anchor.

Consider extracting the Constant Replacements mapping table and CA1416 handling detail into a reference bundle file to improve progressive disclosure now that the single SKILL.md is fairly long.

DimensionReasoningScore

Conciseness

Lean, reference-style content that assumes Claude's competence and avoids explaining basic concepts, focusing on repo-specific conventions. A few explanatory prose passages (e.g. blittable-signature rationale, constant-replacement narrative) could be tightened, keeping it just below the lean 5-anchor.

4 / 5

Actionability

Fully executable guidance with copy-paste-ready build commands ('dotnet msbuild MSBuild.SourceBuild.slnf /p:DotNetBuildSourceOnly=true -v:q'), concrete code (Dual Guard Pattern, BufferScope<T> usage), specific file paths (NativeMethods.txt/json), and named analyzer/warning codes covering the common migration cases.

5 / 5

Workflow Clarity

The 'Source-Build Verification (REQUIRED before pushing)' section provides an explicit validation checkpoint, a warning-code checklist (IDE0005, IDE0051/IDE0052, CA1823, CS1587), and a fix-and-rebuild feedback loop. The overall DllImport-to-CsWin32 migration is presented as rules rather than a single numbered sequence, leaving minor sequencing gaps.

4 / 5

Progressive Disclosure

Well-organized into clear sections (Rules, Blittable signatures, Infrastructure, Gotchas, BufferScope) with well-signaled one-level-deep cross-references to the paired cswin32-com skill (anchored links) and concrete source files. No bundle files exist to split content into, so structure and signaling rather than file splitting drive the score.

4 / 5

Total

17

/

20

Passed

Description

87%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, specific description that clearly states both what the skill does and when to consult it, with concrete domain trigger terms. It is highly distinct from sibling skills and carries low activation-conflict risk.

DimensionReasoningScore

Specificity

Names the domain plus several concrete actions ('replacing [DllImport] with CsWin32', 'conditioning Windows-only code for source builds', 'Guides CsWin32 P/Invoke interop') alongside specific types (HANDLE/HMODULE/HRESULT, BufferScope<T>). It lists more than 1-2 concrete actions but is not as action-dense as the comprehensive 5-anchor example.

4 / 5

Completeness

Explicitly answers both 'what' ('Guides CsWin32 P/Invoke interop in MSBuild') and 'when' with concrete trigger phrases ('Consult when working with the PInvoke class... replacing [DllImport] with CsWin32, or conditioning Windows-only code for source builds'). The 'Consult when' clause is an explicit trigger guidance equivalent to 'Use when'.

5 / 5

Trigger Term Quality

Strong domain keyword coverage with terms a developer migrating interop would naturally reference (PInvoke class, Windows.Win32 namespaces, FEATURE_WINDOWSINTEROP, BufferScope<T>, [DllImport]). Good coverage, though jargon-dense and missing the synonym/extension variations the 5-anchor rewards.

4 / 5

Distinctiveness Conflict Risk

Clear niche (CsWin32 P/Invoke layer in MSBuild) with distinct triggers (FEATURE_WINDOWSINTEROP, PInvoke class, [DllImport] replacement) and minimal conflict risk; the closely related COM interop concern is explicitly delegated to a paired skill.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 9 suspicious

Warning

Total

14

/

16

Passed

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.