CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

csharp-azure-spector-coverage-gaps

Discovers and implements gaps in Spector test coverage for the Azure C# HTTP client emitter. Use when asked to find missing Spector scenarios, add Spector test coverage, or implement a specific Spector spec for the Azure C# emitter. Can also compare coverage between the Azure dashboard and the Standard (TypeSpec core) dashboard.

67

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

—

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

63%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 dense, correctly sequenced, and highly actionable workflow grounded in repo-specific facts Claude could not infer (stubbed vs unstubbed generation, naming transformations, failing-specs policy, versioning special cases). Its main weaknesses are the repeated stubbing warnings, one incomplete pseudocode block in the core gap-discovery flow, and a monolithic structure with no reference files despite content that clearly warrants splitting.

Suggestions

Extract the C# test-pattern gallery, the existing-coverage directory inventory, and the CI coverage-upload details into reference files (e.g. references/test-patterns.md, references/coverage-map.md) and link them from SKILL.md — this addresses both the progressive_disclosure and conciseness issues in one move.

State the stubbed-vs-unstubbed behavior once (in the Step 3 area or a single dedicated section) and delete the repeated warnings at the Important note, the Step 3 note, and the Notes section, keeping one pointer to Test-Spector.ps1.

Complete the Step 1 gap-discovery PowerShell loop with the actual spec-to-test-path matching logic (underscore-prefixing, kebab-to-PascalCase, parent-vs-child coverage), since discovery is the skill's primary flow and is currently left as '# ... check if test exists' pseudocode.

DimensionReasoningScore

Conciseness

The body is dense with repo-specific, non-inferable facts (stubbing semantics, "$failingSpecs", kebab-to-PascalCase transformations), but "All committed Spector libraries are stubbed" plus the pointer to Test-Spector.ps1 is repeated roughly five times (the Important note, the stubbing section, the Step 3 note, and the Notes section), and the 30-line existing-coverage directory catalog is admitted to go stale ("The gap list evolves over time. Always re-run the comparison"). This fits 'mostly efficient but could be tightened' rather than score 4; it is not score 2 because nearly all of the content is high-value information Claude cannot already know.

3 / 5

Actionability

Commands are copy-paste ready throughout ("pwsh eng/scripts/Test-Spector.ps1 -filter \"http/encode/duration\"", "dotnet test ... --filter \"FullyQualifiedName~...\"", complete C# test templates and csproj snippets), but the skill's primary flow — programmatic gap discovery — ends in pseudocode: "# ... check if test exists". That is a concrete gap preventing a 5, while everything else is fully executable, keeping it above score 3.

4 / 5

Workflow Clarity

A 10-item workflow checklist is followed by sequenced Steps 1–8 with explicit checkpoints ("Verify the spec is not in the failing specs list", "Verify generation succeeded" with a check command, "Validate all tests pass") and Test-Spector.ps1's regenerate-run-restore cycle. Score 5 requires explicit error-recovery feedback loops, which are absent (no guidance for what to do when a test fails or generation errors); score 3 would understate the checkpoints that are clearly present, so this sits at 'clear sequence with most checkpoints; minor validation gaps'.

4 / 5

Progressive Disclosure

This is a single ~560-line SKILL.md with no bundle files at all, and substantial content that belongs in separate reference files is inlined: the C# test-pattern gallery (six full patterns), the existing-coverage directory inventory, and the CI coverage-upload command block. Internal section headers and the workflow checklist keep it navigable (above the score-2 'minimal structure' anchor), but with no references and content that should be split inline, it fits 'some structure but could be better organized' rather than score 4.

3 / 5

Total

14

/

20

Passed

Description

100%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 is a model third-person statement of what and when: concrete actions (discover gaps, implement missing tests, compare the two dashboards) paired with an explicit 'Use when' clause enumerating three natural trigger phrases. It is lean, uses domain-appropriate terminology, and poses no conflict risk with other skills.

DimensionReasoningScore

Specificity

"Discovers and implements gaps in Spector test coverage for the Azure C# HTTP client emitter" and "compare coverage between the Azure dashboard and the Standard (TypeSpec core) dashboard" list multiple concrete, domain-anchored actions that cover the skill's full scope (discover, implement, compare). This matches the anchor for comprehensive concrete actions; score 4 would require a minor coverage gap, but the body confirms these three modes are the skill's complete set.

5 / 5

Completeness

Both what and when are explicit: the first sentence states the capability, and "Use when asked to find missing Spector scenarios, add Spector test coverage, or implement a specific Spector spec..." gives three concrete trigger phrases plus a secondary use case. This matches the anchor for clearly and explicitly answering both what AND when; the missing-trigger cap of 3 does not apply.

5 / 5

Trigger Term Quality

Natural trigger phrases a repo maintainer would actually say are all present: "find missing Spector scenarios", "add Spector test coverage", "implement a specific Spector spec", "compare coverage", with synonyms covered (gaps / missing / coverage) plus the dashboard terms. Domain jargon (Spector, emitter) is exactly what users of this niche would use rather than a substitute for natural language.

5 / 5

Distinctiveness Conflict Risk

"Spector test coverage for the Azure C# HTTP client emitter" carves out a clear niche with distinct triggers; virtually no other skill would compete for these invocations. This is the minimal-conflict-risk anchor, not score 4, because there is no meaningful overlap even with closely related C#/TypeSpec skills.

5 / 5

Total

20

/

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

skill_md_line_count

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

Warning

Total

15

/

16

Passed

Repository

Azure/azure-sdk-for-net

Path

.github/skills/csharp-azure-spector-coverage-gaps/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.