CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

microsoft-extensions-configuration

Microsoft.Extensions.Options patterns including IValidateOptions, strongly-typed settings, validation on startup, and the Options pattern for clean configuration management.

Quality

73%

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/microsoft-extensions-configuration/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%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 a strong, executable pattern reference with excellent code coverage, a useful decision table, and concrete anti-patterns. Its main defects are a broken reference to a nonexistent advanced-patterns.md and a couple of sections that could be tightened or offloaded to reference files.

Suggestions

Add the missing advanced-patterns.md file (validators with dependencies, named options, AkkaSettings production example, validator testing) or remove the two references to it, since following them currently yields nothing.

Move the "Why Configuration Validation Matters" Problem/Solution narrative and possibly the anti-patterns section into the reference file to reduce the ~340-line body toward a leaner overview.

Trim Pattern 2's re-listing of SmtpSettings to show only the annotated properties that changed from Pattern 1.

DimensionReasoningScore

Conciseness

The body is dominated by complete, purposeful code examples with brief "Key Point" callouts; only minor trimming is needed (the Problem/Solution narrative in "Why Configuration Validation Matters" and re-listing SmtpSettings in Pattern 2 could be tightened).

4 / 5

Actionability

Every pattern ships copy-paste-ready, executable code: settings classes, registration chains with BindConfiguration/ValidateDataAnnotations/ValidateOnStart, appsettings.json examples, a full IValidateOptions implementation, and an IOptionsMonitor background worker.

5 / 5

Workflow Clarity

Patterns follow a coherent define → bind → validate → consume order with a decision table (Data Annotations vs IValidateOptions) and explicit anti-patterns; as a reference skill rather than a sequential workflow, minor sequencing gaps exist but no validation checkpoints are required for non-destructive guidance.

4 / 5

Progressive Disclosure

Section structure is good and references are clearly signaled ("Reference Files" section plus an inline pointer), but the sole referenced file advanced-patterns.md does not exist in the bundle — scoring against the actual bundle structure, the only external reference is broken.

3 / 5

Total

16

/

20

Passed

Description

57%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 clearly communicates a well-defined niche with concrete technical terms and no overlap risk, but it reads as a topic list rather than a capability statement. It lacks a "Use when..." trigger clause and the most natural .NET trigger phrases (IOptions, appsettings.json).

Suggestions

Add an explicit trigger clause, e.g. "Use when binding appsettings.json to strongly-typed classes, implementing IOptions/IOptionsSnapshot/IOptionsMonitor, or validating configuration at startup in .NET applications."

Convert topic labels into concrete actions: "Implement IValidateOptions<T> validators, bind configuration to strongly-typed settings classes, and enable startup validation with ValidateOnStart()."

Include natural user phrasings like "IOptions<T>", "appsettings.json", and ".NET configuration binding" to improve trigger term coverage.

DimensionReasoningScore

Specificity

Names the concrete domain and items ("IValidateOptions, strongly-typed settings, validation on startup") but these are topic labels rather than action verbs, matching the anchor for naming a domain with 1-2 concrete actions rather than a list of specific actions.

3 / 5

Completeness

The "what" is clear (Microsoft.Extensions.Options patterns with named features), but there is no "Use when..." clause or equivalent explicit trigger guidance, capping completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Relevant keywords like "Options pattern", "IValidateOptions", and "strongly-typed settings" are present, but common natural phrases users would say are missing, notably "IOptions", "appsettings.json", and "bind configuration".

3 / 5

Distinctiveness Conflict Risk

The description is tightly scoped to the Microsoft.Extensions.Options niche with distinct technical triggers (IValidateOptions, validation on startup), making conflict with other skills minimal.

5 / 5

Total

14

/

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: 2 missing

Warning

Total

15

/

16

Passed

Repository

Aaronontheweb/dotnet-skills

Path

skills/microsoft-extensions-configuration/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.