Sync .github/skills directory with azure-sdk-tools for PR 16634 - #48510
Sync .github/skills directory with azure-sdk-tools for PR 16634#48510azure-sdk-automation[bot] wants to merge 13 commits into
Conversation
|
Azure Pipelines: 11 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Pull request overview
Note
Copilot could not run the full agentic suite for this review because it was automatically requested on a bot-authored pull request. Request a review from Copilot under Reviewers to retry with the full agentic suite. Improved support for bot-authored pull requests is coming soon.
Adds a new “azsdk-common-sdk-breaking-change” skill and a CI-gate evaluation, and updates the existing “generate-sdk-locally” skill documentation to align with the new workflow separation.
Changes:
- Introduced
azsdk-common-sdk-breaking-changeskill documentation and an eval trigger file. - Added an eval that checks skill invocation for breaking-change detection/mitigation prompts.
- Updated
azsdk-common-generate-sdk-locallyskill triggers/steps to remove “fix breaking changes” phrasing and clarify “generate only” stopping behavior.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.
| File | Description |
|---|---|
| .github/skills/azsdk-common-sdk-breaking-change/evals/trigger.eval.yaml | Adds a capability eval to validate the breaking-change skill is invoked for a trigger prompt. |
| .github/skills/azsdk-common-sdk-breaking-change/SKILL.md | Documents the new breaking-change detection/mitigation skill and its MCP tool usage. |
| .github/skills/azsdk-common-generate-sdk-locally/SKILL.md | Adjusts triggers/examples and adds a “generate only” stop note in the workflow steps. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
| @@ -0,0 +1,26 @@ | |||
| name: azsdk-common-sdk-breaking-change-trigger-eval | |||
| description: Trigger and anti-trigger tests for theazsdk-common-sdk-breaking-change skill | |||
| @@ -0,0 +1,26 @@ | |||
| name: azsdk-common-sdk-breaking-change-trigger-eval | |||
| description: Trigger and anti-trigger tests for theazsdk-common-sdk-breaking-change skill | |||
| stimuli: | ||
| - name: trigger-detect-sdk-breaking-changes-for-service | ||
| prompt: "Detect and mitigate SDK breaking changes for the service webpubsub" | ||
| graders: | ||
| - type: skill-invocation | ||
| config: | ||
| required: ["azsdk-common-sdk-breaking-change"] |
| metadata: | ||
| version: "1.0.0" | ||
| distribution: shared | ||
| description: 'Detect and mitigate SDK Breaking changes for a SDK package which is generated from TypeSpec. WHEN: "Detect SDK breaking changes for a service", "Detect SDK breaking changes for an SDK package", "Detect and mitigate SDK breaking changes for a service", "Detect and mitigate SDK breaking changes for an SDK package". INVOKES: skill: azsdk-common-generate-sdk-locally; MCP tools: azsdk_customized_code_update, azsdk_package_detect_breaking_change.' |
| - For each selected language in step 1, execute steps 2 through 6 **one language at a time** — fully complete all steps for one language before starting the next. Process multiple selected languages in the same order they appear in the list above. | ||
|
|
||
| 2. Follow `azsdk-common-generate-sdk-locally` skill to generate SDK only. | ||
| 3. **Detect SDK breaking Changes** - Run `azure-sdk-mcp:azsdk_package_detect_breaking_change` |
| 5. **Prompt the user to choose breaking changes to mitigate** — Present the list from step 3 as a multiple-choice selection. | ||
| 6. **Mitigate SDK breaking changes** - Run `azure-sdk-mcp:azsdk_customized_code_update` with parameters: | ||
|
|
||
| - packagePath: The SDk package path |
| 6. **Mitigate SDK breaking changes** - Run `azure-sdk-mcp:azsdk_customized_code_update` with parameters: | ||
|
|
||
| - packagePath: The SDk package path | ||
| - customizationRequest: resolve the 'breakingChanges' chosen in step 5, it is an array | ||
| - tspProjectPath : the typespec project path | ||
| - editScope: 2 if in `azure-rest-api-specs`, 1 if in an SDK language repo |
| 5. **Generate** — Run `azure-sdk-mcp:azsdk_package_generate_code` with the config file path. | ||
| 6. **Build** — Run `azure-sdk-mcp:azsdk_package_build_code`. If build succeeds, proceed to step 8. | ||
| 7. **Customize** — If build fails, or if user requests SDK modifications, run `azure-sdk-mcp:azsdk_customized_code_update` with the build errors or user request. The tool handles the full workflow internally: it classifies the issue, applies TypeSpec decorators and/or code patches, regenerates the SDK, and builds — all in one call. See [customization workflow](references/customization-workflow.md). | ||
| 7. **Customize** — If build fails, or if user requests SDK modifications, run `azure-sdk-mcp:azsdk_customized_code_update` with the build errors or user request. The tool handles the full workflow internally: it classifies the issue, applies TypeSpec decorators and/or code patches, regenerates the SDK, and builds — all in one call. See [customization workflow](references/customization-workflow.md)._(If the user requested "generate only", stop here — skip steps 8–11.)_ |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
13a1570 to
e3a75b8
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
Suppressed comments (4)
.github/skills/azsdk-common-generate-sdk-locally/SKILL.md:53
- The “generate only” stop condition is attached to step 7, but step 7 is only reached on build failure (or modification requests). If the build succeeds, the workflow skips from step 6 to step 8, so “generate only” won’t stop as intended. Move the “generate only” stop condition to the end of step 5 (Generate) and/or step 6 (Build) so it applies regardless of build outcome.
6. **Build** — Run `azure-sdk-mcp:azsdk_package_build_code`. If build succeeds, proceed to step 8.
7. **Customize** — If build fails, or if user requests SDK modifications, run `azure-sdk-mcp:azsdk_customized_code_update` with the build errors or user request. The tool handles the full workflow internally: it classifies the issue, applies TypeSpec decorators and/or code patches, regenerates the SDK, and builds — all in one call. See [customization workflow](references/customization-workflow.md)._(If the user requested "generate only", stop here — skip steps 8–11.)_
.github/skills/azsdk-common-generate-sdk-locally/SKILL.md:53
- There’s no space between the sentence ending and the italic note (
workflow.md)._(If...), which can render awkwardly in Markdown. Add a space before the italicized note (e.g.,workflow.md). _(If ...)_) to keep formatting consistent/readable.
7. **Customize** — If build fails, or if user requests SDK modifications, run `azure-sdk-mcp:azsdk_customized_code_update` with the build errors or user request. The tool handles the full workflow internally: it classifies the issue, applies TypeSpec decorators and/or code patches, regenerates the SDK, and builds — all in one call. See [customization workflow](references/customization-workflow.md)._(If the user requested "generate only", stop here — skip steps 8–11.)_
.github/skills/azsdk-common-sdk-breaking-change/SKILL.md:7
- Capitalization is inconsistent (“SDK Breaking changes”, “breaking Changes”) compared to the rest of the doc (“breaking changes”). Normalize to a single form (typically sentence case: “breaking changes”) in both the front-matter description and the step title for clarity and consistent triggering phrasing.
description: 'Detect and mitigate SDK Breaking changes for an SDK package which is generated from TypeSpec. WHEN: "Detect SDK breaking changes for a service", "Detect SDK breaking changes for an SDK package", "Detect and mitigate SDK breaking changes for a service", "Detect and mitigate SDK breaking changes for an SDK package". INVOKES: skill: azsdk-common-generate-sdk-locally; MCP tools: azsdk_customized_code_update, azsdk_package_detect_breaking_change.'
.github/skills/azsdk-common-sdk-breaking-change/SKILL.md:29
- Capitalization is inconsistent (“SDK Breaking changes”, “breaking Changes”) compared to the rest of the doc (“breaking changes”). Normalize to a single form (typically sentence case: “breaking changes”) in both the front-matter description and the step title for clarity and consistent triggering phrasing.
3. **Detect SDK breaking Changes** - Run `azure-sdk-mcp:azsdk_package_detect_breaking_change`
Sync .github/skills directory with azure-sdk-tools for PR Azure/azure-sdk-tools#16634 See eng/common workflow