Skip to content

Commit 44c7f09

Browse files
committed
Sync .github/skills and eng/common from azure-sdk-tools PR #15210
Picks up new updates from Azure/azure-sdk-tools#15210 (azsdk-common skill rename and content updates). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 4f13652 commit 44c7f09

8 files changed

Lines changed: 125 additions & 43 deletions

File tree

.github/skills/README.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Azure SDK Shared Copilot Skills
2+
3+
Copilot skills that guide AI agents through the Azure SDK development and TypeSpec-to-SDK release workflow.
4+
These skills are consumed by GitHub Copilot (CLI, VS Code, and Coding Agent) when users work
5+
with TypeSpec API specifications and Azure SDK generation.
6+
7+
Shared skills (those distributed to other Azure SDK repositories) are identified by
8+
`distribution: shared` in their SKILL.md frontmatter metadata block and use the
9+
`azsdk-common-` directory prefix. This prefix enables the `sync-.github.yml` pipeline
10+
to match and distribute them to all subscribed language SDK repos.
11+
12+
---
13+
14+
## Available Skills
15+
16+
### Workflow & Utility Skills
17+
18+
| Skill | Triggers | Description |
19+
| ----- | -------- | ----------- |
20+
| [azsdk-common-generate-sdk-locally](azsdk-common-generate-sdk-locally/SKILL.md) | "generate SDK locally", "build SDK", "run SDK tests" | Generate, build, and test Azure SDKs locally from TypeSpec |
21+
| [azsdk-common-prepare-release-plan](azsdk-common-prepare-release-plan/SKILL.md) | "create release plan", "link SDK PR to plan" | Create and manage release plan work items |
22+
| [azsdk-common-apiview-feedback-resolution](azsdk-common-apiview-feedback-resolution/SKILL.md) | "APIView comments", "resolve API review feedback" | Retrieve and resolve APIView review feedback |
23+
| [azsdk-common-pipeline-troubleshooting](azsdk-common-pipeline-troubleshooting/SKILL.md) | "pipeline failed", "build failure", "CI check failing" | Diagnose and resolve SDK CI and generation pipeline failures |
24+
| [azsdk-common-sdk-release](azsdk-common-sdk-release/SKILL.md) | "release SDK", "trigger release pipeline" | Check release readiness and trigger SDK releases |
25+
26+
### Development & Meta Skills
27+
28+
These skills help with skill development itself:
29+
30+
| Skill | Triggers | Description |
31+
| ----- | -------- | ----------- |
32+
| [sensei](sensei/SKILL.md) | "run sensei", "improve skill", "fix frontmatter" | Iteratively improve skill frontmatter compliance using the Ralph loop |
33+
| [skill-authoring](skill-authoring/SKILL.md) | "create a skill", "new skill", "skill template" | Guidelines for writing Agent Skills per agentskills.io spec |
34+
| [markdown-token-optimizer](markdown-token-optimizer/SKILL.md) | "optimize markdown", "reduce tokens", "token count" | Analyze markdown files for token efficiency |
35+
36+
### Skill Anatomy
37+
38+
Each skill lives in `<name>/` and contains:
39+
40+
```
41+
<name>/
42+
├── SKILL.md # Skill definition: YAML frontmatter + steps + related skills
43+
├── references/ # Detailed reference docs (offloaded to keep SKILL.md under 500 tokens)
44+
│ └── *.md
45+
├── eval.yaml # Evaluation config (graders, timeouts, model)
46+
├── tasks/ # Eval task definitions (4-5 per skill)
47+
│ └── *.yaml
48+
└── fixtures/ # Domain-specific test fixtures
49+
└── <files>
50+
```
51+
52+
53+
---
54+
55+
## Tooling
56+
57+
| Tool | Purpose | Install |
58+
| ---- | ------- | ------- |
59+
| [**waza**](https://microsoft.github.io/waza/getting-started/) | Scaffold skills, run evals, check compliance | `go install github.com/microsoft/waza/cmd/waza@latest` |
60+
61+
### Testing Skills
62+
63+
```bash
64+
cd .github/skills
65+
66+
# Check all skills
67+
waza check
68+
69+
# Run evals
70+
waza run --discover
71+
```
72+
73+
---
74+
75+
## Project Configuration
76+
77+
- **`.waza.yaml`** — Default engine (`copilot-sdk`) and model (`claude-sonnet-4.6`) for evals
78+
- **`.gitignore`** — Excludes waza output directories and temp files
79+
80+
## Further Reading
81+
82+
- [agentskills.io spec](https://agentskills.io) — Skill frontmatter specification
83+
- [waza docs](https://microsoft.github.io/waza/getting-started/) — Scaffold, check, and eval skills

.github/skills/azsdk-common-apiview-feedback-resolution/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ license: MIT
44
metadata:
55
version: "1.0.0"
66
distribution: shared
7-
description: "Analyze and resolve APIView review feedback on Azure SDK PRs. **UTILITY SKILL**. USE FOR: APIView comments, API review feedback, SDK API surface changes. DO NOT USE FOR: general code review, non-APIView feedback. INVOKES: azure-sdk-mcp:azsdk_apiview_get_comments, azure-sdk-mcp:azsdk_typespec_customized_code_update."
7+
description: "Analyze and resolve APIView review feedback on Azure SDK PRs. **UTILITY SKILL**. USE FOR: APIView comments, API review feedback, SDK API surface changes. DO NOT USE FOR: general code review, non-APIView feedback. INVOKES: azure-sdk-mcp:azsdk_apiview_get_comments, azure-sdk-mcp:azsdk_customized_code_update."
88
compatibility:
99
requires: "azure-sdk-mcp server, SDK pull request with APIView review link"
1010
---
@@ -18,7 +18,7 @@ compatibility:
1818
| Tool | Purpose |
1919
|------|---------|
2020
| `azure-sdk-mcp:azsdk_apiview_get_comments` | Get APIView comments |
21-
| `azure-sdk-mcp:azsdk_typespec_customized_code_update` | Apply TypeSpec changes locally |
21+
| `azure-sdk-mcp:azsdk_customized_code_update` | Apply TypeSpec & code customization changes locally |
2222
| `azure-sdk-mcp:azsdk_typespec_delegate_apiview_feedback` | Delegate to CCA pipeline |
2323
| `azure-sdk-mcp:azsdk_run_typespec_validation` | Validate TypeSpec |
2424
| `azure-sdk-mcp:azsdk_package_generate_code` | Regenerate SDK |
@@ -27,7 +27,7 @@ compatibility:
2727

2828
1. **Retrieve** — Get APIView URL from SDK PR, run `azsdk_apiview_get_comments`.
2929
2. **Categorize** — Group as Critical/Suggestions/Informational per [feedback steps](references/feedback-resolution-steps.md).
30-
3. **Resolve** — Use `azsdk_typespec_customized_code_update` for TypeSpec changes; delegate via `azsdk_typespec_delegate_apiview_feedback` for complex cases.
30+
3. **Resolve** — Use `azsdk_customized_code_update` for TypeSpec changes; delegate via `azsdk_typespec_delegate_apiview_feedback` for complex cases.
3131
4. **Validate** — Run validation, regenerate SDK, build and test.
3232
5. **Confirm** — Verify all items addressed. If delegated, follow [post-delegation follow-up](references/feedback-resolution-steps.md#post-delegation-follow-up). Request re-review.
3333

.github/skills/azsdk-common-apiview-feedback-resolution/evals/eval.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ metrics:
1818
threshold: 0.7
1919
description: Did the skill stay within behavior limits?
2020
graders:
21-
- type: text
22-
name: no_fatal_errors
23-
config:
24-
regex_not_match:
25-
- (?i)fatal error
26-
- (?i)unhandled exception
27-
- '(?i)panic:'
21+
- type: text
22+
name: no_fatal_errors
23+
config:
24+
regex_not_match:
25+
- (?i)fatal error
26+
- (?i)unhandled exception
27+
- '(?i)panic:'
2828
tasks:
2929
- "tasks/*.yaml"

.github/skills/azsdk-common-generate-sdk-locally/SKILL.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ compatibility:
1515

1616
| Tool | Purpose |
1717
|------|---------|
18-
| `azsdk_verify_setup` | Verify environment |
19-
| `azsdk_package_generate_code` | Generate SDK |
20-
| `azsdk_package_build_code` | Build package |
21-
| `azsdk_package_run_check` | Validate package |
22-
| `azsdk_package_run_tests` | Run tests |
23-
| `azsdk_customized_code_update` | Apply customizations (includes regeneration and build) |
24-
| `azsdk_package_update_changelog_content` | Update changelog |
25-
| `azsdk_package_update_metadata` | Update metadata including ci.yml |
26-
| `azsdk_package_update_version` | Update version |
18+
| `azure-sdk-mcp:azsdk_verify_setup` | Verify environment |
19+
| `azure-sdk-mcp:azsdk_package_generate_code` | Generate SDK |
20+
| `azure-sdk-mcp:azsdk_package_build_code` | Build package |
21+
| `azure-sdk-mcp:azsdk_package_run_check` | Validate package |
22+
| `azure-sdk-mcp:azsdk_package_run_tests` | Run tests |
23+
| `azure-sdk-mcp:azsdk_customized_code_update` | Apply customizations (includes regeneration and build) |
24+
| `azure-sdk-mcp:azsdk_package_update_changelog_content` | Update changelog |
25+
| `azure-sdk-mcp:azsdk_package_update_metadata` | Update metadata including ci.yml |
26+
| `azure-sdk-mcp:azsdk_package_update_version` | Update version |
2727

2828
Prerequisites: azure-sdk-mcp server must be running. Without MCP, use `npx tsp-client` CLI.
2929

.github/skills/azsdk-common-generate-sdk-locally/eval.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ graders:
2222
name: no_fatal_errors
2323
config:
2424
regex_not_match:
25-
- (?i)error occurred
26-
- (?i)failed
27-
- (?i)re-run the tool
25+
- (?i)fatal error
26+
- (?i)unhandled exception
2827
tasks:
2928
- "tasks/*.yaml"

.github/skills/azsdk-common-pipeline-troubleshooting/evals/eval.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ metrics:
1818
threshold: 0.7
1919
description: Did the skill stay within behavior limits?
2020
graders:
21-
- type: text
22-
name: no_fatal_errors
23-
config:
24-
regex_not_match:
25-
- (?i)fatal error
26-
- (?i)unhandled exception
27-
- '(?i)panic:'
21+
- type: text
22+
name: no_fatal_errors
23+
config:
24+
regex_not_match:
25+
- (?i)fatal error
26+
- (?i)unhandled exception
27+
- '(?i)panic:'
2828
tasks:
2929
- "tasks/*.yaml"

.github/skills/azsdk-common-prepare-release-plan/evals/eval.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ metrics:
1818
threshold: 0.7
1919
description: Did the skill stay within behavior limits?
2020
graders:
21-
- type: text
22-
name: no_fatal_errors
23-
config:
24-
regex_not_match:
25-
- (?i)fatal error
26-
- (?i)unhandled exception
27-
- '(?i)panic:'
21+
- type: text
22+
name: no_fatal_errors
23+
config:
24+
regex_not_match:
25+
- (?i)fatal error
26+
- (?i)unhandled exception
27+
- '(?i)panic:'
2828
tasks:
2929
- "tasks/*.yaml"

.github/skills/azsdk-common-sdk-release/evals/eval.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ metrics:
1818
threshold: 0.7
1919
description: Did the skill stay within behavior limits?
2020
graders:
21-
- type: text
22-
name: no_fatal_errors
23-
config:
24-
regex_not_match:
25-
- (?i)fatal error
26-
- (?i)unhandled exception
27-
- '(?i)panic:'
21+
- type: text
22+
name: no_fatal_errors
23+
config:
24+
regex_not_match:
25+
- (?i)fatal error
26+
- (?i)unhandled exception
27+
- '(?i)panic:'
2828
tasks:
2929
- "tasks/*.yaml"

0 commit comments

Comments
 (0)