CtrlK
BlogDocsLog inGet started
Tessl Logo

gdi-rendering-tests

Instructions for writing unit tests for Graphics, Bitmap, GraphicsPath, and Font rendering APIs in System.Drawing. Covers bitmap-based verification, integer/float overload testing, version-guarded test blocks, and FluentAssertions patterns for path-point validation.

64

Quality

81%

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 strong, highly actionable skill body: every section gives executable guidance with concrete code, exact file paths, and a validating checklist, and nothing wastes tokens explaining known concepts. The main improvements are trimming the repeated DrawRoundedRectangle example blocks and moving inlined helper source or extended examples into a references file.

Suggestions

Show the Graphics_DrawRoundedRectangle_Integer example once and reference it from sections 4 and 6 instead of repeating it three times.

Move the VerifyBitmapNotEmpty/VerifyBitmapEmpty source (or extended example matrices) into a references/ file, keeping only their usage contract inline.

DimensionReasoningScore

Conciseness

Rule-dense body with no explanations of concepts Claude already knows, but the identical Graphics_DrawRoundedRectangle_Integer example is repeated across sections 2, 4, and 6 (~40 redundant lines), and both VerifyBitmap helpers are shown in full when they differ by a single assertion. Matches anchor 4 (efficient, minor instances that could be trimmed); not 5 because the duplicated example blocks do not each earn their place.

4 / 5

Actionability

Fully executable, copy-paste-ready xUnit/FluentAssertions examples; a concrete test-file-location table, exact preprocessor guards, a naming convention, complete helper implementations, and a how-to procedure for capturing expected path points. The one elided example ('// … remaining expected points …') is explicitly justified by the section 5.2 workflow. Matches the fully-executable anchor.

5 / 5

Workflow Clarity

Topics are clearly sequenced (locate the test file → match the version guard → verify via bitmap → follow the naming convention), with a closing checklist as a validation checkpoint and a run-and-capture iteration loop in section 5.2. Not 5: there is no single end-to-end ordered flow for 'adding a new rendering API test' — the checklist validates the result rather than providing error-recovery feedback.

4 / 5

Progressive Disclosure

A single-file skill with well-organized numbered sections, a location table, and clear cross-references to sibling skills; navigation is easy. Not 5: at ~340 lines with repeated full examples and the inlined helper source (code that already exists in GraphicsTests.cs), some material would fit better in a references/ file, which keeps it at the 'good structure, minor organization gaps' anchor.

4 / 5

Total

17

/

20

Passed

Description

71%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 highly specific, well-scoped description that clearly states what the skill covers with concrete capability verbs and domain nouns. Its main weakness is the absence of any explicit 'Use when…' trigger clause, which caps completeness, and it omits the natural 'GDI+' trigger term used elsewhere in the skill.

Suggestions

Add an explicit trigger clause, e.g. 'Use when writing or updating unit tests for System.Drawing / GDI+ rendering APIs (Graphics, Bitmap, GraphicsPath, Font).'

Include the term 'GDI+' in the description — it is the most natural shorthand a user would say and already appears in the skill name and body title.

State the boundary with the sibling control-api-tests skill (e.g. 'For WinForms control API tests, see control-api-tests') to reduce overlap risk.

DimensionReasoningScore

Specificity

The description names the domain ("writing unit tests for Graphics, Bitmap, GraphicsPath, and Font rendering APIs in System.Drawing") and enumerates multiple concrete capabilities ("bitmap-based verification, integer/float overload testing, version-guarded test blocks, and FluentAssertions patterns for path-point validation"), matching the comprehensive-coverage anchor. Not 4: no coverage gaps — it states both what is tested and how it is verified.

5 / 5

Completeness

The 'what' is explicit and detailed, but there is no 'Use when…' clause or equivalent explicit trigger guidance — only "Instructions for writing unit tests…", which weakly implies the when at best. Per the judging guideline, a missing 'Use when' clause caps completeness at 3; not 4 because the 'when' is entirely unstated, not merely implicit.

3 / 5

Trigger Term Quality

Good natural keyword coverage ("unit tests", "Graphics", "Bitmap", "GraphicsPath", "Font", "System.Drawing", "rendering APIs"), but common user phrasings like "GDI+" (used in the skill's own name and body title) and "drawing APIs" are absent. Matches the 'good coverage, a few natural terms missing' anchor; not 5 because a very natural synonym is missing.

4 / 5

Distinctiveness Conflict Risk

The System.Drawing rendering-test niche is highly specific with distinct type names (GraphicsPath, Bitmap, FluentAssertions patterns), so overlap risk is low. Not 5: the description does not draw the boundary with the closely related `control-api-tests` sibling skill, so a generic 'write tests for this drawing API' request has minor overlap risk.

4 / 5

Total

16

/

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
dotnet/winforms
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.