CtrlK
BlogDocsLog inGet started
Tessl Logo

dpg-migration

Migration logic for Azure SDK for .NET data-plane libraries migrating from AutoRest/Swagger to TypeSpec-based generation. Uses MCP tools from the generator-agent server for automated deterministic fixes.

56

Quality

65%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/dpg-migration/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%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 content is highly actionable and workflow clarity is excellent with strong validation and feedback loops, but it is held back by redundant restatements of the same safety rules and a monolithic single-file structure that inlines reference material and contains a dangling file reference.

Suggestions

De-duplicate the 'Never edit Generated/' and 'regenerate after custom-file attribute changes' rules: state each once in the Safety Rules / Key Insight section and reference it from the other phases.

Create the referenced 'error-reference.md' bundle file (or remove the dangling reference) and move the large ApiCompat error table and MCP tool catalog into it, keeping SKILL.md as an overview with one-level-deep links.

Extract the migration-status.md template and the per-error-pattern catalog into separate reference files to reduce inline bulk.

DimensionReasoningScore

Conciseness

The body is dense and mostly domain-specific (not generic concepts Claude already knows), but several rules are restated multiple times — the 'Never edit Generated/' rule and the 'regenerate after custom-file changes' reminder each appear 3–4 times — which is tightening candidate padding.

3 / 5

Actionability

Provides copy-paste-ready commands ('dotnet build /t:GenerateCode', '/p:LocalSpecRepo=<localSpecsPath>'), complete C# backward-compat shim examples, MCP tool calls with their parameters, and SQL/git snippets covering the common cases.

5 / 5

Workflow Clarity

A 13-phase (Phase 0–12) workflow with explicit sequencing, validation checkpoints (build_and_classify, snapshot_generated, verify_generated_unchanged, post-generation checklist), a build-fix feedback loop with iteration caps, and escalation criteria — fully matching the validation/checklist/feedback-loop anchor.

5 / 5

Progressive Disclosure

No bundle files exist (references/scripts/assets absent), yet line 782 references a non-existent 'error-reference.md' (dangling reference), and large reference-style material (ApiCompat error table, MCP tool catalog, migration-status template) is inlined rather than split into separate files.

3 / 5

Total

16

/

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 clearly identifies a specific, well-bounded niche and names the core mechanism, but it lacks an explicit 'Use when' trigger clause and natural trigger-term variations, which leaves completeness and trigger quality at the midpoint. Adding concrete action verbs and a use-when clause would lift it into the top band.

Suggestions

Add an explicit 'Use when ...' clause naming concrete triggers such as 'migrate to TypeSpec', 'dpg migration', 'swagger to TypeSpec migration', 'data-plane migration'.

Replace the generic phrase 'automated deterministic fixes' with several specific actions (e.g., 'field renames, missing-usings fixes, type-pattern replacements, nullable annotations') so specificity reaches the top anchor.

Include natural synonyms users actually say ('dpg migration', 'upgrade generator') rather than only technical terms like 'generator-agent server'.

DimensionReasoningScore

Specificity

Names the domain ('Azure SDK for .NET data-plane libraries migrating from AutoRest/Swagger to TypeSpec-based generation') and one concrete action ('automated deterministic fixes'), but does not list several specific concrete actions like the field renames/usings/pattern replacements that appear only in the body.

3 / 5

Completeness

Clearly states what the skill does, but provides no 'when'/Use when' clause; per the rubric guideline a missing explicit trigger guidance caps completeness at 3.

3 / 5

Trigger Term Quality

Contains relevant domain keywords (migration, TypeSpec, AutoRest/Swagger, data-plane, MCP tools) but omits natural variations a user would say ('dpg migration', 'migrate to TypeSpec', 'swagger to TypeSpec') and has no 'Use when' trigger framing.

3 / 5

Distinctiveness Conflict Risk

Carves out a precise niche (Azure SDK for .NET data-plane AutoRest/Swagger→TypeSpec migration via the generator-agent MCP server) that is mostly distinct with only minor overlap risk against sibling Azure/TypeSpec skills.

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

Total

15

/

16

Passed

Repository
Azure/azure-sdk-for-net
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.