CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

generate-code-cs

Generate the code from typespec for C#. Parameter: C# SDK repository root location <cs_root>.

52

Quality

66%

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

Fix and improve this skill with Tessl

tessl review fix ./sdk/ai/.github/skills/azure-ai-projects-generate-code/SKILL.md
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.

This is a genuinely actionable, well-sequenced operational runbook with real commands, error recovery, and validation checkpoints. Its main weaknesses are token waste from duplicated powershell/bash blocks (often identical), broken cross-shell details (backslash paths in bash, a missing --output-dir separator), and a broken reference to a non-existent references/customization.md with heavy detail inlined.

Suggestions

Collapse duplicated command blocks: where the powershell and bash variants are identical (e.g. 'git diff', 'dotnet build /t:GenerateCode'), show a single block; only split them when the commands actually differ.

Fix cross-shell correctness: use forward-slash paths in bash blocks, add the missing separator in '--output-dir<cs_root>', and note that Export-API.ps1/Update-Snippets.ps1 require PowerShell regardless of shell.

Create the referenced references/customization.md (the file does not exist) and move the long sample-format tutorial and alpha-release details into it, keeping SKILL.md as the overview.

DimensionReasoningScore

Conciseness

The body is command-driven with little concept padding, but every command block is duplicated as powershell and bash versions that are frequently verbatim-identical (e.g. 'git diff', 'dotnet build /t:GenerateCode'), and a ~55-line C# sample is inlined, so it 'could be tightened' rather than being efficient.

3 / 5

Actionability

Concrete, mostly copy-paste-ready commands with exact paths, filenames, and CodeGenType stub entries, but bash blocks contain Windows backslash paths ('<cs_root>\\eng\\common/tsp-client', 'eng\\scripts\\Export-API.ps1'), '--output-dir<cs_root>' lacks a separator, and .ps1 scripts are invoked under bash, leaving minor gaps that keep it from fully executable.

4 / 5

Workflow Clarity

The multi-phase sequence (update tsp-location, generate, post-process, samples, changelog, optional PR/release, pack) is clearly ordered with explicit validation ('check that it compiles without errors', 'make sure that all projects build') and an EPERM error-recovery loop, but step 4 of 'Updating the code' shows differing powershell and bash command sets, creating minor incoherence.

4 / 5

Progressive Disclosure

Sections are clearly headed, but ~240 lines of sample-generation, changelog, PR, release, and packaging detail are inlined in one file, and the only reference, 'references/customization.md', does not exist in the bundle, fitting 'some structure but references not clearly backed and content that should be separate is inline'.

3 / 5

Total

14

/

20

Passed

Description

53%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 states a clear, well-scoped 'what' with a useful parameter convention, but provides zero 'when to use' trigger guidance and no coverage of the skill's actual sub-tasks (post-processing, changelog, PR, packaging). It is serviceable but under-sells the skill and limits discoverability.

Suggestions

Add a 'Use when...' clause naming trigger scenarios, e.g. 'Use when the user asks to regenerate, update, or generate C# SDK code from TypeSpec/azure-rest-api-specs for the Azure.AI.* packages.'

Enumerate the concrete actions the skill performs (update tsp-location commit, generate code, fix compile errors, update changelog, create PR, build alpha package) so specificity reflects the skill's real scope.

Include natural trigger synonyms such as 'regenerate', 'TypeSpec', and the package names (Azure.AI.Projects, Azure.AI.Extensions.OpenAI) to improve keyword coverage.

DimensionReasoningScore

Specificity

"Generate the code from typespec for C#" names the domain (typespec-to-C# codegen) and one concrete action, but lists no further actions (update, post-process, package, changelog), matching 'names domain and 1-2 concrete actions' rather than the several-action anchor at 4.

3 / 5

Completeness

The 'what' is clear (generate C# code from typespec) but there is no 'when' clause or equivalent trigger guidance anywhere, which caps completeness at 3 per the rubric guidelines; it is not a 4 because 'when' is entirely absent rather than merely implicit.

3 / 5

Trigger Term Quality

"typespec", "C#", and "SDK repository" are relevant keywords a user would say, but common variations and synonyms ("TypeSpec", "regenerate", "Azure SDK for .NET") are missing, fitting 'some relevant keywords but missing common variations'.

3 / 5

Distinctiveness Conflict Risk

TypeSpec-to-C# generation is a mostly distinct niche, but with no 'when' guidance it risks overlapping sibling language-variant skills (the name 'generate-code-cs' implies a family), fitting 'mostly distinct; minor overlap risk' rather than the minimal-conflict anchor at 5.

4 / 5

Total

13

/

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

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

Azure/azure-sdk-for-net

Path

sdk/ai/.github/skills/azure-ai-projects-generate-code/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.