CtrlK
BlogDocsLog inGet started
Tessl Logo

avoiding-blurry-ebitengine-rendering

Use when creating an Ebitengine application or changing layout, text, UI, image scaling, or final presentation, and when diagnosing blurry rendering. Covers display-resolution rendering, font rasterization, sampling filters, coordinate transforms, and optional mixed-resolution layers. Apply even to pixel-art games with sharp UI, without requiring a low-resolution game screen.

69

Quality

87%

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 high-quality, expert-level skill body: executable Go examples, precise formulas and API names, deliberate coverage of edge cases (fractional scaling, input mapping, deprecated APIs), and an explicit verification section. The main improvement areas are trimming a few redundant restatements of the core principle and considering splitting the ~155-line body into a reference file.

DimensionReasoningScore

Conciseness

The body is dense and assumes Ebitengine API familiarity with no basic-concept padding — every section delivers decision-relevant guidance and executable code. It is not a 5 because a few sentences restate the core principle ('A filter change cannot repair a low-resolution rasterization stage' repeats the opening theme, and several 'not a requirement for every game'-style qualifiers could be trimmed).

4 / 5

Actionability

Provides two complete, executable Go code blocks (the LayoutF implementation including the required panic-stub Layout, and text/v2 glyph drawing), exact formulas ('s = min(W/w, H/h)' and input inverse mapping 'x = (screenX-offsetX)/s'), and named APIs (FilterNearest, FilterPixelated, FilterLinear, FinalScreenDrawer) covering the common cases. This matches the 5 anchor: copy-adaptable code plus specific guidance across the common scenarios.

5 / 5

Workflow Clarity

Sections follow a coherent diagnostic sequence (screen resolution → layer placement → text rasterization → sampling → input mapping → verification), and the final section provides explicit validation checkpoints ('Check standard and high-density displays, fractional scaling, resizing...', 'Compile application changes against the target Ebitengine version'). It is not a 5 because the workflow is organized as thematic sections rather than an explicit ordered procedure with feedback loops, leaving minor checkpoint gaps in the middle sections.

4 / 5

Progressive Disclosure

No bundle files exist, so the skill is a single well-sectioned SKILL.md; the References section points one level deep to clearly labeled engine-source paths and one external guide ('UI sizing and game-relative text scaling'). The ~155-line body is borderline for full inlining — a sampling-filter or verification checklist could be split out — placing it just below the 5 anchor's ideal content split and above the 3 anchor's 'content that should be separate is inline'.

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 description: it explicitly states both when to use the skill and what it covers, uses natural trigger language ('blurry rendering', 'pixel-art games'), and occupies a clearly distinct Ebitengine niche. The only refinement available is packing the 'what' clause with more action-verb phrasing and a couple of common synonyms.

DimensionReasoningScore

Specificity

Names several concrete actions and subtopics ('changing layout, text, UI, image scaling', 'diagnosing blurry rendering', 'font rasterization, sampling filters, coordinate transforms') with comprehensive domain coverage. It falls short of the 5 anchor only because the 'what' leans toward topic listing rather than the dense action-verb enumeration of the top anchor, and it is clearly above the 'minor gaps' of 4... between 4 and 5, matching 4's coverage with slightly less action-verb density.

4 / 5

Completeness

Explicitly answers 'when' with concrete trigger clauses ('Use when creating an Ebitengine application or changing layout, text, UI, image scaling, or final presentation, and when diagnosing blurry rendering') and 'what' with specific scope ('Covers display-resolution rendering, font rasterization, sampling filters, coordinate transforms, and optional mixed-resolution layers'). Both are explicit with concrete triggers, matching the 5 anchor; the 4 anchor requires a weaker or less specific 'when', which does not apply.

5 / 5

Trigger Term Quality

Includes natural, user-sayable phrases like 'blurry rendering', 'pixel-art games', 'sharp UI', 'layout', 'text', and 'image scaling' alongside the domain keyword 'Ebitengine'. A few natural synonyms users might say ('fuzzy', 'crisp', 'Hi-DPI') are missing, placing it just below the comprehensive-synonyms anchor of 5 and clearly above the 3 anchor's 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

The description is anchored to a specific engine ('Ebitengine') with a clear niche (blurry rendering / resolution policy) and engine-specific trigger language, so it is clearly distinguishable from other skills with minimal conflict risk. It matches the 5 anchor's 'clear niche with distinct triggers'.

5 / 5

Total

18

/

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

relative_links

Relative link issues: 8 suspicious

Warning

Total

15

/

16

Passed

Repository
hajimehoshi/ebiten
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.