Skip to content

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

Open
jpalvarezl wants to merge 5 commits intomainfrom
jpalvarezl/feature/workflow_skills
Open

Add Copilot CLI skill definitions for azure-ai packages#48270
jpalvarezl wants to merge 5 commits intomainfrom
jpalvarezl/feature/workflow_skills

Conversation

@jpalvarezl
Copy link
Member

@jpalvarezl jpalvarezl commented Mar 5, 2026

Summary

Adds reusable Copilot CLI skill definitions under \sdk/ai/.skills/\ to provide domain-specific guidance for common Azure SDK for Java workflows.

Skills included

Skill Purpose
\codegen\ TypeSpec code generation via tsp-client
\dup-classes\ Verify generated classes against \openai-java\ models
\github\ GitHub interactions via gh CLI
\release-notes\ Update CHANGELOG.md and README.md from a PR
\run-tests\ Run Maven tests with mode and secret support
\search-m2\ Search Maven local repo for classes/JARs
\test-proxy\ Push test-proxy recordings
\tsp-naming-collision\ Fix TypeSpec naming collisions in Java codegen
\tsp-type-override\ Override TypeSpec types with Java-native types
\wr-load\ Manage Azure KeyVault work resources

Notes

  • Each skill is a markdown file (\SKILL.md) with structured instructions for Copilot CLI agents.
  • No code changes — these are documentation/tooling files only.
  • Reviewed for personal data leaks before committing.

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
Copy link
Contributor

Copilot AI left a comment

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.

- **JPMS/module-path errors** (e.g., `okio` module issues): add `-Dsurefire.useModulePath=false`
- **Build plugins block the run**: add skip flags as needed, e.g. `-Denforcer.skip=true -Dcodesnippet.skip=true -Dcheckstyle.skip=true`
- **Reactor blocking errors in async tests** (Netty thread): add `$env:AZURE_TEST_HTTP_CLIENTS = "okhttp"`
- **SSL handshake / PKIX path building failed** (`SSLHandshakeException`, `unable to find valid certification path to requested target`): the JVM's trust store is missing the corporate root CA. Add `-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT` to use the Windows certificate store instead. This is common on corporate networks with proxy/firewall TLS interception.
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

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

-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT is Windows-specific. This troubleshooting bullet should explicitly call out that it only applies on Windows (and suggest an alternative or omit it for non-Windows shells) to avoid sending Linux/macOS users down a dead end.

Suggested change
- **SSL handshake / PKIX path building failed** (`SSLHandshakeException`, `unable to find valid certification path to requested target`): the JVM's trust store is missing the corporate root CA. Add `-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT` to use the Windows certificate store instead. This is common on corporate networks with proxy/firewall TLS interception.
- **SSL handshake / PKIX path building failed** (`SSLHandshakeException`, `unable to find valid certification path to requested target`): the JVM's trust
store is missing the corporate root CA. On **Windows**, you can add `-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT` to use the Windows certificate store
instead. On **Linux/macOS**, work with your IT team to import the corporate root CA into the JVM trust store (or configure a custom trust store via
`-Djavax.net.ssl.trustStore` / `-Djavax.net.ssl.trustStorePassword`). This is common on corporate networks with proxy/firewall TLS interception.

Copilot uses AI. Check for mistakes.
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.

3 participants