CtrlK
BlogDocsLog inGet started
Tessl Logo

auto-build-repair

Headless, bounded repair of custom-code build failures in an already-generated Azure SDK PR. Thin wrapper over the shared azure-sdk-mcp:azsdk_customized_code_update engine in custom-code-only scope (editScope: CustomCode); the skill owns the iterate-until-green loop, capped by a per-language `maxIterations` read from repair-config.yml. WHEN: Copilot cloud agent runs on a release-planner Auto SDK PR labeled `auto-sdk-build-fix` that fails to build because of custom (non-generated) code. DO NOT USE FOR: full TypeSpec migrations, spec edits, API design review, manual fixing. INVOKES: azure-sdk-mcp:azsdk_customized_code_update.

63

Quality

75%

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/auto-build-repair/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%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.

An exceptionally well-engineered headless workflow: concrete call shape, bounded iteration loop, explicit stop conditions, and deterministic reporting. The main costs are heavy restatement of the same guardrails across five sections and references to three bundle files that are not actually present in the skill.

Suggestions

Ship the referenced bundle files (repair-config.yml, emit-repair-report.ps1, telemetry-schema.v1.json) or remove the links — every referenced path currently resolves to nothing.

Consolidate the repeated guardrails: state 'editScope: CustomCode / never touch spec inputs / never hand-edit' once authoritatively (e.g. in Hard Rules) and reference it from Scope/Bounds/Stop Conditions instead of restating it five times.

Show the exact azsdk CLI command that invokes azsdk_customized_code_update and the add_comment invocation so the reporting step is copy-paste executable like the rest of the workflow.

DimensionReasoningScore

Conciseness

The body is dense and free of concept padding (no explanations of what Azure SDKs or build systems are), but it is noticeably repetitive for a self-described 'thin wrapper': 'editScope: CustomCode', 'never edit spec inputs / never move the pinned commit', and 'do not hand-edit / do not use any other fix engine' are each restated four to five times across the intro, Scope, Bounds, Stop Conditions, and Hard Rules. That fits anchor 3 ('mostly efficient... could be tightened') better than anchor 4, whose 'minor instances' understates the duplication.

3 / 5

Actionability

Guidance is largely executable: a concrete call shape with parameters ('editScope: "CustomCode", packagePath: "<failing SDK package dir>", customizationRequest: "<the build errors...>"'), precise commands ('azsdk -o json … > result-<n>.json', 'emit-repair-report.ps1 ... -ResultsDir ... -PreRepairErrorsFile', 'cd "$GITHUB_WORKSPACE"'), and a numbered workflow. It falls short of anchor 5 only because the actual azsdk CLI invocation of the tool and the add_comment call are described but not shown as copy-paste-ready commands.

4 / 5

Workflow Clarity

The workflow (steps 0–5) is clearly sequenced with explicit validation checkpoints and a feedback loop: inspect the structured result, branch on 'Build green → commit', 'Still failing but the error set shrank and attempts remain → re-invoke', 'SpecChangeRequired / RegenerateFailed → STOP', plus the commit-only-on-green guard and the Hard Rules recap serving as a checklist. This matches anchor 5 ('clear sequence with explicit validation steps; feedback loops for error recovery; checklists'), not anchor 4, which only requires 'most' checkpoints.

5 / 5

Progressive Disclosure

Sectioning is good and references are clearly signaled and one level deep, but the body points to three co-located bundle files — repair-config.yml ('next to this SKILL.md'), emit-repair-report.ps1 ('co-located'), and telemetry-schema.v1.json ('the canonical contract') — none of which exist in the skill directory (no references/, scripts/, or assets/, and none beside SKILL.md). References that resolve to nothing are a navigation failure beyond anchor 4's 'minor organization gaps', landing at anchor 3 ('references present but' broken as a navigational structure).

3 / 5

Total

15

/

20

Passed

Description

80%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 strong, highly specific description that answers what, when, and what-not with a concrete tool, scope, and iteration bound. Its only weakness is that the natural trigger phrasing sits in the body rather than the description, leaving keyword coverage good but not comprehensive.

Suggestions

Fold one or two natural trigger phrases (e.g. 'fix the SDK PR build', 'auto build repair') into the description itself so the skill surfaces without the label being present.

Optionally add a clause for the reporting outcome ('posts a deterministic PR summary comment') so the description covers the skill's full behavior.

DimensionReasoningScore

Specificity

The description lists several concrete actions — 'Headless, bounded repair of custom-code build failures in an already-generated Azure SDK PR', 'Thin wrapper over the shared azure-sdk-mcp:azsdk_customized_code_update engine in custom-code-only scope (editScope: CustomCode)', and 'owns the iterate-until-green loop, capped by a per-language maxIterations read from repair-config.yml' — all naming the exact tool, scope parameter, and loop bound. It stops short of anchor 5 because coverage is not comprehensive: the reporting/renderer half of the skill and the stop conditions are absent from the description.

4 / 5

Completeness

Both halves are explicit: the 'what' is stated up front ('Headless, bounded repair of custom-code build failures in an already-generated Azure SDK PR... owns the iterate-until-green loop'), and the 'when' is given verbatim ('WHEN: Copilot cloud agent runs on a release-planner Auto SDK PR labeled auto-sdk-build-fix that fails to build because of custom (non-generated) code'), plus negative guidance ('DO NOT USE FOR: full TypeSpec migrations, spec edits, API design review, manual fixing'). This matches the anchor-5 example structure of what + explicit when + exclusions.

5 / 5

Trigger Term Quality

Relevant keywords are present ('repair', 'build failures', 'custom (non-generated) code', 'Auto SDK PR', 'auto-sdk-build-fix') but the natural trigger phrases users would actually say ('auto build repair', 'fix the SDK PR build') live in the body's 'When Invoked' section rather than the description, and common synonyms like 'fix build' / 'build fix' are only partially covered. It fits anchor 3 ('some relevant keywords but missing common variations') better than anchor 4, which expects fuller natural-term coverage in the description itself.

3 / 5

Distinctiveness Conflict Risk

The description carves a clear niche — one named tool (azure-sdk-mcp:azsdk_customized_code_update), one scope (editScope: CustomCode), one trigger label (auto-sdk-build-fix on Auto SDK PRs) — and the 'DO NOT USE FOR' clause explicitly fences off the nearest neighbors (full TypeSpec migrations, spec edits, API design review, manual fixing), which is stronger than the anchor-4 'minor overlap risk' example.

5 / 5

Total

17

/

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

relative_links

Relative link issues: 4 missing

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.