CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

60

Quality

76%

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 ./.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.

This is a highly actionable, well-sequenced migration workflow with exceptional concrete detail — exact commands, tool contracts, code examples, and validation loops throughout. Its weaknesses are the monolithic structure (nearly all reference-grade detail inlined in SKILL.md, with a dangling error-reference.md pointer to a nonexistent file) and repetitive restatement of the same safety rules across multiple sections.

Suggestions

Fix the dangling reference: the body cites error-reference.md but no references/ directory or such file exists in the bundle — either add the file or remove the pointer.

Move reference-grade detail out of SKILL.md into bundled reference files (e.g., the ApiCompat error table and detailed C# examples, the migration-status.md template, and the MCP tool catalog), keeping the phase workflow as the overview with clearly signaled one-level-deep links.

Consolidate the repeated safety rules (never edit Generated/, regenerate after custom-file changes, never use tsp-client update) into the Safety Rules section and reference them from the phases instead of restating them 3-4 times.

DimensionReasoningScore

Conciseness

The body is dense operational content with almost no explanation of concepts Claude already knows, but it repeats the same safety rules multiple times (never edit Generated/ stated three times, regenerate-after-custom-file-change restated 3-4 times, the tsp-client prohibition three times) and inlines the full 60-line migration-status.md template. More than minor over-explanation; it could be tightened by consolidating the duplicated rules into the Safety Rules section.

3 / 5

Actionability

Fully executable guidance throughout: exact commands ("dotnet build /t:GenerateCode /p:LocalSpecRepo=<localSpecsPath>"), named MCP tools with when-to-use conditions, copy-paste-ready C# backward-compat shim examples, exact YAML field structures, and specific PR title templates. Specific examples cover the common cases comprehensively.

5 / 5

Workflow Clarity

A clearly sequenced 13-phase workflow (Phase 0-12) with explicit validation checkpoints (build_and_classify loop, snapshot_generated, verify_generated_unchanged), feedback loops with escalation criteria (error count not decreasing after 3 iterations, max 10 iterations, 5 consecutive failures), resume support via migration-status.md, and checklists (post-generation checklist, phase tracker).

5 / 5

Progressive Disclosure

Section structure and navigation are strong, but the bundle contains no references/ or scripts/ files while the body cites "error-reference.md" (line 782), which does not exist in the bundle — a dangling reference. Nearly all detail (the MCP tool catalog, the ApiCompat error table plus ~200 lines of examples, the status-file template) is inlined in one monolithic ~860-line SKILL.md, content that clearly belongs in separate reference files.

3 / 5

Total

16

/

20

Passed

Description

65%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 distinct, well-scoped niche and uses third-person voice, but it omits any explicit trigger guidance ("Use when...") and under-represents the natural shorthand terms users would say, most notably "dpg". Adding a trigger clause and the concrete actions performed (regeneration, build-fix, PR creation) would raise both completeness and specificity.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to migrate a data-plane (DPG) library from Swagger/AutoRest to TypeSpec, mentions dpg migration, or asks for generator-assisted migration fixes."

List the concrete actions performed so specificity rises beyond a single capability, e.g. "Regenerates code with the TypeSpec emitter, fixes build and ApiCompat errors, and creates spec/SDK/generator PRs."

Include the natural shorthand users actually say for this workflow — "dpg", "data-plane migration", "swagger to TypeSpec" — since the body's own trigger-phrase list leads with these.

DimensionReasoningScore

Specificity

The description names the domain ("Azure SDK for .NET data-plane libraries") and 1-2 concrete actions ("migrating from AutoRest/Swagger to TypeSpec-based generation", "automated deterministic fixes" via MCP tools), but does not list several specific actions as the level-4 anchor requires. The single action stated is specific rather than generic, so it sits above level 2.

3 / 5

Completeness

The "what" is clearly stated (migration logic for data-plane libraries from AutoRest/Swagger to TypeSpec), but there is no "Use when..." clause or equivalent explicit trigger guidance, which caps this dimension at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Good natural keyword coverage: "migration", "data-plane", "TypeSpec", "AutoRest", "Swagger", "Azure SDK for .NET". A few natural terms are missing — notably "dpg" (the body's own trigger list leads with "dpg migration") and "generator" — so it does not reach comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

Highly specific niche — Azure SDK for .NET data-plane AutoRest/Swagger to TypeSpec migration with a named MCP server — with essentially zero overlap risk against any other skill. Clear niche with distinct triggers and minimal conflict risk.

5 / 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

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

Path

.github/skills/dpg-migration/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.