CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

csharp-pro

Write modern C# code with advanced features like records, pattern matching, and async/await. Optimizes .NET applications, implements enterprise patterns, and ensures comprehensive testing.

Quality

55%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/csharp-pro/SKILL.md

The canonical home for this skill is csharp-pro in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

25%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 generic persona-and-topic-list skill: it names relevant C# technologies but provides no executable guidance, no real workflow, and defers all concrete examples to a referenced file that is missing from the bundle. It reads as template filler rather than expertise that adds value beyond what Claude already knows.

Suggestions

Add concrete, executable guidance: a short modern-C# code example (e.g., a record with pattern matching), a sample xUnit test with Moq, and specific commands or analyzer configurations — replacing the abstract "Approach" principles.

Fix or remove the broken reference: either ship `resources/implementation-playbook.md` (ideally under references/ with a clearly labeled link per section) or inline the key examples directly in SKILL.md.

Cut the boilerplate "Use this skill when / Do not use this skill when" sections and the persona line, and replace topic lists with non-obvious, opinionated guidance (e.g., when to prefer records vs. classes, pitfalls of async in ASP.NET Core) plus a validation step like running tests or `dotnet build` after changes.

DimensionReasoningScore

Conciseness

The body is noticeably padded with content Claude already knows: the boilerplate "Use this skill when / Do not use this skill when" sections ("Working on csharp pro tasks or workflows"), the persona line "You are a C# expert", and generic lists of focus areas (SOLID, ASP.NET Core, Entity Framework) that add no non-obvious information. It is not a 1 because the skill is short and does not launch into extended explanations of basic concepts, and not a 3 because the majority of sections are generic filler rather than mostly-efficient content with minor slack.

2 / 5

Actionability

The body offers only high-level hints — "Leverage modern C# features for clean, expressive code", "Optimize for performance with span, memory, and value types", "Maintain high test coverage with meaningful unit tests" — with no code, commands, or concrete steps anywhere. It rises above 1 only because specific tools and technologies are named (xUnit, NUnit, Moq, FluentAssertions, BenchmarkDotNet, EditorConfig), which gives minimal concrete pointers, but nothing is executable or stepwise.

2 / 5

Workflow Clarity

The numbered "Approach" list reads as a sequence but its items are parallel principles, not operational steps, and validation appears only as the vague "Apply relevant best practices and validate outcomes" with no checkpoints or error-recovery guidance. It is above 1 because a rough ordering and output expectations exist, but below 3 because no real sequenced workflow with checkpoints is defined.

2 / 5

Progressive Disclosure

The single external pointer — "If detailed examples are required, open `resources/implementation-playbook.md`" — references a file that does not exist in the bundle (there are no references/, scripts/, or assets/ directories), so navigation is broken at the one place detail is deferred to. Internal section headers do exist and the body is short, which keeps it above 1, but the dangling reference means content organization cannot be rated 3 or higher.

2 / 5

Total

8

/

20

Passed

Description

66%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 solid, domain-specific description with several concrete, named capabilities and good natural keywords. Its main weakness is the complete absence of a "Use when..." trigger clause, which caps completeness and slightly weakens distinctiveness.

Suggestions

Append an explicit trigger clause, e.g. "Use when writing, refactoring, or optimizing C#/.NET code, or when the user mentions C#, .NET, ASP.NET Core, or .cs files."

Name a few more concrete user-facing synonyms and extensions ("C sharp", "dotnet", ".cs") to raise trigger term coverage.

Sharpen the generic actions ("implements enterprise patterns", "ensures comprehensive testing") into specifics such as "implements repository/unit-of-work and DI patterns" and "writes xUnit/NUnit tests with Moq".

DimensionReasoningScore

Specificity

The description lists several concrete actions with named technologies — "Write modern C# code with advanced features like records, pattern matching, and async/await", "Optimizes .NET applications", "implements enterprise patterns", "ensures comprehensive testing" — which matches the anchor for several specific actions with minor gaps. It falls short of 5 because "implements enterprise patterns" and "ensures comprehensive testing" are generic actions without named specifics, and above 3 because it goes well beyond naming the domain with 1-2 actions.

4 / 5

Completeness

The "what" is clear (write modern C#, optimize .NET apps, implement enterprise patterns, ensure testing), but there is no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is above 2 because the "what" is concrete and multi-part rather than vague.

3 / 5

Trigger Term Quality

Good natural keyword coverage: users would plausibly say "C#", "modern C#", "records", "pattern matching", "async/await", ".NET", and "testing" when needing this skill. It misses a few common variations and synonyms ("C sharp", "csharp", "dotnet", ".cs files", ".NET Core"), which keeps it at 4 rather than 5, but coverage is clearly above the 3 anchor's "some relevant keywords".

4 / 5

Distinctiveness Conflict Risk

The C#/.NET niche is mostly distinct — terms like "C#", "records", "async/await", ".NET" would not trigger a Python or Java skill — with only minor overlap risk against closely related coding/testing skills. It is not 5 because the description lacks explicit trigger phrases and broad phrases like "enterprise patterns" and "comprehensive testing" could overlap with general software-engineering skills.

4 / 5

Total

15

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/csharp-pro/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.