Skip to content

Add Copilot CLI skill definitions for azure-ai packages#48270

Merged
jpalvarezl merged 12 commits into
mainfrom
jpalvarezl/feature/workflow_skills
Mar 16, 2026
Merged

Add Copilot CLI skill definitions for azure-ai packages#48270
jpalvarezl merged 12 commits into
mainfrom
jpalvarezl/feature/workflow_skills

Conversation

@jpalvarezl

@jpalvarezl jpalvarezl commented Mar 5, 2026

Copy link
Copy Markdown
Member

This pull request introduces new workflow documentation files for several developer skills related to code generation, model de-duplication, duplicate class verification, and GitHub CLI usage. These documents provide step-by-step guides, best practices, and troubleshooting advice for working with TypeSpec codegen, suppressing duplicate Java models, comparing generated classes to openai-java models, and interacting with GitHub via the gh CLI. The most important changes are grouped by theme below.

TypeSpec code generation and workflow documentation:

  • Added SKILL.md for the codegen skill, detailing how to run tsp-client workflows, update commit hashes, and handle errors when generating code from TypeSpec definitions.

Model de-duplication and duplicate class verification:

  • Added SKILL.md for the dedup-openai skill, providing a comprehensive guide for suppressing generated Java classes that duplicate openai-java models, including step-by-step instructions, serialization bridge patterns, codegen survival rules, and common pitfalls.
  • Added SKILL.md for the dup-classes skill, describing how to verify whether generated Java classes duplicate openai-java models by comparing fields and types, and categorizing matches for actionable suppression.

GitHub CLI integration:

  • Added SKILL.md for the github skill, documenting how to use the gh CLI for PRs, issues, workflow runs, advanced API queries, installation, authentication, and structured output filtering.

Spell checking configuration:

  • Added cspell.yaml for workflow docs, importing the global cspell config and adding custom words relevant to the documentation and skills.

Add reusable skill files under sdk/ai/.skills/ to provide Copilot CLI
agents with domain-specific guidance for common Azure SDK for Java
workflows including TypeSpec codegen, test execution, release notes,
duplicate class verification, and secret management.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 5, 2026 11:25
@jpalvarezl jpalvarezl requested review from a team, dargilco and trrwilson as code owners March 5, 2026 11:25
@github-actions github-actions Bot added the AI label Mar 5, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a set of reusable Copilot CLI skill definition markdown files under sdk/ai/.skills/ to provide domain-specific guidance for common Azure SDK for Java workflows (TypeSpec codegen/customization, testing, release notes, GitHub CLI usage, etc.).

Changes:

  • Introduces multiple SKILL.md definitions for AI-related developer workflows (TypeSpec generation/customization, test execution, release note drafting).
  • Adds skills for operational tooling (GitHub gh, test-proxy publishing, Maven local repo inspection, Key Vault work-resources secret management).
  • Adds a skill for comparing generated models vs openai-java model shapes.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
sdk/ai/.skills/codegen/SKILL.md Skill instructions for tsp-client update/sync/generate workflows.
sdk/ai/.skills/dup-classes/SKILL.md Skill instructions for field-by-field model shape comparison vs openai-java.
sdk/ai/.skills/github/SKILL.md Skill instructions for GitHub interactions via gh CLI.
sdk/ai/.skills/release-notes/SKILL.md Skill instructions for drafting/updating CHANGELOG/README content from a PR.
sdk/ai/.skills/run-tests/SKILL.md Skill instructions for running Maven tests (modes, secrets, troubleshooting).
sdk/ai/.skills/search-m2/SKILL.md Skill instructions for locating classes/JARs in ~/.m2/repository.
sdk/ai/.skills/test-proxy/SKILL.md Skill instructions for pushing test-proxy recordings/assets.
sdk/ai/.skills/tsp-naming-collision/SKILL.md Skill instructions for resolving TypeSpec → Java codegen naming collisions (suffix 1).
sdk/ai/.skills/tsp-type-override/SKILL.md Skill instructions for @@alternateType overrides and validation/testing guidance.
sdk/ai/.skills/wr-load/SKILL.md Skill instructions for managing secrets via work-resources (wr-*) CLI.

Comment thread sdk/ai/.skills/wr-load/SKILL.md Outdated
Comment thread sdk/ai/.skills/wr-load/SKILL.md Outdated
Comment thread sdk/ai/.skills/run-tests/SKILL.md Outdated
Comment thread sdk/ai/.skills/run-tests/SKILL.md Outdated
Comment thread sdk/ai/.workflow_docs/tsp-type-override/SKILL.md
Comment thread sdk/ai/.skills/wr-load/SKILL.md Outdated
@ronniegeraghty

Copy link
Copy Markdown
Member

Hi @jpalvarezl,
Thanks for putting this together. Having reusable skills documented like this is a great direction.

One thing I wanted to flag is that some of these skills overlap with work we are doing as part of the Azure SDK Tools Agent effort. We are currently defining a shared set of skills that will be pushed across Azure SDK repos and designed to work with the tools agent. The goal is for those skills to be language-agnostic, while the agent itself handles the language-specific logic.

Because of that, we want to avoid having overlapping skills in individual repos that could potentially confuse coding agents. At first glance, the following look like they may overlap with the shared skills we are defining:

  • codegen
  • github
  • release-notes
  • run-tests
  • test-proxy

@samvaity, can you look over the others as well and follow up if any additional ones overlap with our skills or MCP tools?

For context, here is the documentation for the tools agent:
https://aka.ms/azsdk/agent

And here is the current PR where we are defining the shared skills:
Azure/azure-sdk-tools#14285

It would probably be good for us to align on these before we land repo-specific versions so we do not end up with multiple competing skills for the same workflows.

@jpalvarezl

Copy link
Copy Markdown
Member Author

We've renamed the container folder to prevent this from being presented as any form of "default skills" for this project to any consuming agent, hopefully avoiding confusion. That being said, if things should break in the future, we are more than happy to consolidate with the general tooling.

However, as currently defined, the skills in this PR are specifically designed for our use case and make certain assumptions in our setup which, as far as I understand, may not apply to the majority of other client libraries in this repository.

@jpalvarezl jpalvarezl merged commit b033b47 into main Mar 16, 2026
19 checks passed
@jpalvarezl jpalvarezl deleted the jpalvarezl/feature/workflow_skills branch March 16, 2026 09:47
browndav-msft pushed a commit to browndav-msft/azure-sdk-for-java that referenced this pull request Mar 17, 2026
* Add Copilot CLI skill definitions for azure-ai packages

Add reusable skill files under sdk/ai/.skills/ to provide Copilot CLI
agents with domain-specific guidance for common Azure SDK for Java
workflows including TypeSpec codegen, test execution, release notes,
duplicate class verification, and secret management.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* cspell

* path

* path

* fix

* Skill polish

* Moved files to avoid using reserved word for name

* Skill update

* More word exceptions

* Polish union-type-wrappers: change BinaryData getter/setter to package-private

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants