CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

41

Quality

41%

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/csharp-pro/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

17%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill is essentially a role description rather than actionable guidance. It lists topics Claude already knows about (C# features, SOLID principles, testing frameworks) without providing any concrete code examples, specific patterns, or executable workflows. The complete absence of code in a programming skill is a fundamental weakness that undermines its purpose.

Suggestions

Add concrete, executable C# code examples for the key patterns mentioned (e.g., a record with pattern matching, a proper async/await implementation, a unit test with FluentAssertions).

Replace the abstract 'Approach' list with a concrete workflow: e.g., 1. Create project with `dotnet new`, 2. Add analyzers, 3. Write code, 4. Run `dotnet test`, 5. Run `dotnet format` to validate.

Remove sections that explain concepts Claude already knows (Focus Areas is just a topic list) and replace with specific anti-patterns to avoid or project-specific conventions.

Either provide the referenced 'resources/implementation-playbook.md' bundle file or remove the reference and inline the most critical guidance directly.

DimensionReasoningScore

Conciseness

The content is noticeably verbose with several sections that explain concepts Claude already knows well (SOLID principles, what records and pattern matching are, what xUnit/NUnit are). The 'Use this skill when' and 'Do not use this skill when' sections are generic filler. The 'Focus Areas' and 'Approach' sections largely restate the description without adding actionable value.

2 / 5

Actionability

The skill provides zero concrete code examples, no executable commands, no specific patterns, and no copy-paste ready snippets. Everything is abstract direction like 'Leverage modern C# features' and 'Follow SOLID principles' — these are vague platitudes rather than actionable instructions. For a skill about writing modern C# code, the complete absence of any code is a critical failure.

1 / 5

Workflow Clarity

The 'Approach' section provides a rough numbered list but the steps are abstract principles rather than a concrete workflow. There are no validation checkpoints, no feedback loops, and no clear sequencing of actual development tasks. The 'Instructions' section has generic steps like 'Clarify goals' and 'Apply relevant best practices' that provide no real workflow guidance.

2 / 5

Progressive Disclosure

There is a reference to 'resources/implementation-playbook.md' but no bundle files are provided, so this reference is unverifiable and potentially broken. The content that is present is a flat list of topics with no meaningful structure or navigation. The skill would benefit from splitting detailed guidance into referenced files, but as-is it's neither a good overview nor a detailed guide.

2 / 5

Total

7

/

20

Passed

Description

66%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 does a reasonable job listing concrete C# and .NET capabilities with specific language features, making it fairly specific and distinctive. Its main weakness is the absence of an explicit 'Use when...' clause, which limits completeness and makes it harder for Claude to know exactly when to select this skill. Some trigger terms like 'dotnet', '.cs', or specific framework names are missing.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about C#, .NET, dotnet, or .cs files, or needs help with async programming, dependency injection, or unit testing in C#.'

Include additional natural trigger terms and synonyms such as 'dotnet', '.cs files', 'LINQ', 'Entity Framework', 'xUnit/NUnit' to improve keyword coverage.

Make vague phrases like 'enterprise patterns' and 'comprehensive testing' more concrete, e.g., 'implements dependency injection, repository pattern, and CQRS' and 'writes xUnit/NUnit tests with mocking'.

DimensionReasoningScore

Specificity

Lists several specific actions and features: records, pattern matching, async/await, .NET optimization, enterprise patterns, and testing. However, 'enterprise patterns' and 'comprehensive testing' are somewhat vague and could be more concrete (e.g., which patterns, which testing frameworks).

4 / 5

Completeness

The 'what' is reasonably clear—writing modern C# code with specific features and optimizing .NET apps. However, there is no explicit 'when' clause (e.g., 'Use when...'), which per the rubric should cap this dimension at 3.

3 / 5

Trigger Term Quality

Includes good natural keywords like 'C#', 'records', 'pattern matching', 'async/await', '.NET', 'enterprise patterns', and 'testing'. Missing some common variations like '.cs files', 'dotnet', 'LINQ', 'Entity Framework', or 'NuGet' that users might naturally mention.

4 / 5

Distinctiveness Conflict Risk

Fairly distinct due to the specific mention of C# and .NET, along with language-specific features like records and pattern matching. Minor overlap risk with a generic coding skill or a broader .NET skill, but the feature-level specificity helps differentiate it.

4 / 5

Total

15

/

20

Passed

Validation

90%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.