CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

sqlite-adonet

Implementation details for the Microsoft.Data.Sqlite ADO.NET provider. Use when changing files under `src/Microsoft.Data.Sqlite.Core/`.

65

Quality

82%

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

86%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.

The body is an exemplary lean knowledge skill: every sentence records non-obvious, project-specific implementation behavior (weak-reference command ownership, retry semantics, rollback-during-dispose) with concrete directives and decision rules for testing. The only mild improvement would be pointing to the specific source files where these behaviors live.

DimensionReasoningScore

Conciseness

The body is lean and dense with project-specific facts Claude cannot know generically (reflective `SQLitePCL.Batteries_V2.Init()` in the static constructor, T4-generated `CreateFunction()`/`CreateAggregate()` overloads, weak-reference command tracking). Every sentence carries non-obvious information with no padding or explanation of known concepts.

5 / 5

Actionability

Concrete, executable guidance throughout: "Do not call `Complete()` or add transaction-level retries", "keep `Complete()` in its `finally`", "Test failed commit separately from failed `Dispose()`/`DisposeAsync()`", and a clear decision rule for when to add a regression test. Per the rubric's instruction-only provision, absent code is not penalized; minor gaps (no pointers to the specific source files where these behaviors live) keep it below 5.

4 / 5

Workflow Clarity

This is a single-purpose diagnostic-guidance skill, and the direction is unambiguous with implicit checkpoints: "Add a regression test only when the reported behavior remains reachable after following this lifecycle" and "verify disposal permits a subsequent transaction" act as validation gates. No explicit step sequence exists, but for a simple skill the single action is clear — minor implicitness keeps it at 4.

4 / 5

Progressive Disclosure

The skill is under 50 lines, needs no external references (none exist in the bundle), and is cleanly organized into three well-labeled sections (Notable Implementation Details, Command Lifecycle, Transaction Completion). Per the rubric's simple-skill note, well-organized sections alone justify a 5.

5 / 5

Total

18

/

20

Passed

Description

68%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.

The description has an excellent, concrete trigger clause ("Use when changing files under `src/Microsoft.Data.Sqlite.Core/`") and is highly distinctive, but its capability statement is generic — "Implementation details" names the domain without saying what the skill actually covers. Naming 1–2 concrete capabilities would lift both specificity and completeness.

Suggestions

Replace the generic "Implementation details" with 1-2 concrete capabilities, e.g. "Documents the command lifecycle (weak-reference tracking, disposal on close) and transaction completion behavior of the Microsoft.Data.Sqlite ADO.NET provider."

Surface the body's key topics (command close/reopen lifecycle, failed COMMIT retry behavior) as trigger phrases in the description so users reporting connection close or transaction bugs naturally match this skill.

Add common natural terms such as "SQLite" or ".NET data access" alongside the provider name to widen trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain ("Microsoft.Data.Sqlite ADO.NET provider") but its capability statement is the generic phrase "Implementation details" — no concrete actions or capabilities are listed. This matches the anchor 'Names the domain but actions are minimal or generic' rather than level 3, which requires 1–2 concrete actions to be named.

2 / 5

Completeness

Both parts are present: a "what" ("Implementation details for the Microsoft.Data.Sqlite ADO.NET provider") and an explicit, highly concrete "when" ("Use when changing files under `src/Microsoft.Data.Sqlite.Core/`"). It falls short of 5 because the "what" is a generic capability label without concrete trigger phrases describing what the skill covers.

4 / 5

Trigger Term Quality

Strong natural trigger terms: "Microsoft.Data.Sqlite", "ADO.NET provider", and the concrete path "src/Microsoft.Data.Sqlite.Core/" — exactly what someone working in this repo would say. A few natural variations ("SQLite", ".NET") are missing, keeping it just below comprehensive coverage.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche — this specific ADO.NET provider with a specific source path — and the body even distinguishes it from EF Core. Conflict risk with other skills (generic SQLite, EF Core provider) is minimal.

5 / 5

Total

15

/

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/efcore

Path

.agents/skills/sqlite-adonet/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.