CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

database-performance

Database access patterns for performance. Separate read/write models, avoid N+1 queries, use AsNoTracking, apply row limits, and never do application-side joins. Works with EF Core and Dapper.

Quality

76%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/database-performance/SKILL.md
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 highly actionable, code-dense reference with executable examples and good decision tables, and minimal over-explanation. Its weaknesses are the absence of any validation/verification guidance for applying the patterns and a monolithic single-file structure where reference material is inlined.

Suggestions

Add a short verification step after each major pattern (e.g., confirm with a benchmark, EXPLAIN plan, or generated SQL log that the fix removed the N+1/unbounded query).

Split the long worked examples (Dapper store implementation, EF Core pagination/configuration) into reference files under references/ and keep SKILL.md as a lean overview with one-level-deep links.

Trim the Quick Reference table or the "Key structural differences illustrated" bullet list — one of the two duplications could be cut without losing information.

DimensionReasoningScore

Conciseness

The body assumes Claude's competence — no library introductions or basic-concept padding — and uses tight problem→code pairs. Minor duplication exists (the Quick Reference table restates every section, and "Key structural differences illustrated" bullets restate code comments), so it fits anchor 4 rather than 5's every-token-earns-its-place bar.

4 / 5

Actionability

Fully executable, idiomatic code throughout: complete store interfaces, cursor-paginated SQL with LIMIT, EF Core AsNoTracking/AsSplitQuery/projection, IEntityTypeConfiguration, and a full Dapper store implementation. The examples are copy-paste ready and cover the common cases, matching anchor 5; the few unnamed helper types (Paginator, PaginatedList) are domain placeholders consistent with the pattern style.

5 / 5

Workflow Clarity

The catalog is logically organized (when-to-use → principles → patterns → decision tables), but it is thematic reference material with no procedural sequence and no validation checkpoints such as verifying query performance or testing after applying a pattern. This fits anchor 3 (sequence present but checkpoints missing) rather than 4, which requires most checkpoints to be present.

3 / 5

Progressive Disclosure

No bundle files exist and all ~500 lines are inlined in SKILL.md. Headers and the summary table make it navigable, but content that could live in reference files (e.g., full Dapper store implementations, EF Core model configuration) is inline with no one-level-deep references — matching anchor 3 rather than 4, where most content is appropriately split.

3 / 5

Total

15

/

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 strong, specific description with concrete third-person actions and good technical keywords. Its main weakness is the missing "Use when..." trigger clause, which caps completeness, plus a few absent natural phrasings users might actually say (e.g., "slow query", "optimize").

Suggestions

Add an explicit trigger clause, e.g., "Use when designing data access layers, optimizing slow database queries, or choosing between EF Core and Dapper."

Include natural user phrasings such as "slow queries", "optimize SQL", or "query performance" among the trigger terms.

Clarify the technology scope up front (e.g., "for .NET data access") to further reduce overlap with generic database skills.

DimensionReasoningScore

Specificity

The description lists five concrete actions ("Separate read/write models, avoid N+1 queries, use AsNoTracking, apply row limits, and never do application-side joins") that comprehensively mirror the skill's core principles, in third-person voice. Coverage is comprehensive rather than gappy, matching the 5 anchor over the 4 anchor.

5 / 5

Completeness

The "what" is explicit and detailed, but there is no "Use when..." clause; "Works with EF Core and Dapper" is a scope statement rather than trigger guidance, which per the guidelines caps completeness at 3. It is not 2 because the "what" half is clear and concrete.

3 / 5

Trigger Term Quality

Natural keywords like "database", "performance", "N+1 queries", "EF Core", and "Dapper" are present and would be said by users, but common variations such as "slow query", "optimize query", or "SQL" are missing. This fits the 4 anchor (good coverage, a few natural terms missing) rather than 5 (which requires synonyms/extensions) or 3 (key terms present here).

4 / 5

Distinctiveness Conflict Risk

The niche is distinct with specific markers (AsNoTracking, N+1, read/write models), but "database access patterns for performance" could overlap with general query-tuning or ORM-related skills, giving minor overlap risk. This matches anchor 4 rather than 5's minimal-conflict bar.

4 / 5

Total

16

/

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.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (506 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

Aaronontheweb/dotnet-skills

Path

skills/database-performance/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.