feat: add microsoft-foundry skills and tests from fork#1010
feat: add microsoft-foundry skills and tests from fork#1010tendau wants to merge 17 commits intomicrosoft:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds comprehensive Microsoft Foundry (Azure AI Foundry) skills and test infrastructure from a fork. The changes introduce end-to-end capabilities for deploying models, managing agents, troubleshooting issues, handling RBAC, and managing quotas within Azure AI Foundry projects.
Changes:
- Adds 5 new troubleshooting sub-skills with diagnostic workflows (429 errors, model availability, deployment health)
- Introduces agent creation skills supporting both Foundry Agent Service and Microsoft Agent Framework SDK
- Implements model deployment with intelligent routing (preset, customize, capacity discovery)
- Provides quota management, RBAC configuration, and resource creation capabilities
- Includes comprehensive test coverage (unit, trigger, integration tests with snapshots)
Reviewed changes
Copilot reviewed 72 out of 74 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/microsoft-foundry/unit.test.ts | Updated expectations to align with refactored skill structure and content |
| tests/microsoft-foundry/troubleshooting/* | Complete test suites for 3 troubleshooting skills (429 errors, availability, health) |
| tests/microsoft-foundry/resource/create/* | Resource creation test updates with path fixes |
| tests/microsoft-foundry/quota/* | Quota management integration test improvements |
| tests/microsoft-foundry/models/deploy/* | Model deployment tests for all deployment modes |
| tests/microsoft-foundry/agent/create/* | Agent framework creation tests with trigger/integration coverage |
| plugin/skills/microsoft-foundry/troubleshooting/references/* | Diagnostic references for rate limiting, scaling, model availability, deployment health |
| plugin/skills/microsoft-foundry/resource/create/* | Resource creation workflow documentation |
| plugin/skills/microsoft-foundry/quota/references/* | Quota optimization and capacity planning guides |
| plugin/skills/microsoft-foundry/project/* | Project creation and connection management |
| plugin/skills/microsoft-foundry/models/deploy-model/* | Model deployment skills with Anthropic support |
| plugin/skills/microsoft-foundry/agent/create/* | Agent creation with multiple frameworks and tools |
plugin/skills/microsoft-foundry/agent/create/agent-framework/SKILL.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/agent/create/agent-framework/SKILL.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/agent/create/agent-framework/references/workflow-basics.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/agent/create/agent-framework/references/workflow-basics.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/troubleshooting/references/RETRY_EXAMPLES.md
Outdated
Show resolved
Hide resolved
|
Your PR undo quite a few changes from a previous PR. Are those changes intentional? https://github.com/microsoft/GitHub-Copilot-for-Azure/pull/1004/changes#diff-c5d418f41ef49376666ef566805e989bf5a6f40ba0297088790da1acfc6e818a |
plugin/skills/microsoft-foundry/agent/create/agent-framework/references/agent-as-server.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/agent/create/agent-framework/references/agent-as-server.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/agent/create/agent-framework/references/agent-samples.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/agent/create/agent-framework/references/agent-samples.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/agent/create/agent-framework/references/debug-setup.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/agent/create/agent-framework/references/workflow-agents.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/troubleshooting/references/best-practices.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/troubleshooting/check-deployment-health.md
Outdated
Show resolved
Hide resolved
plugin/skills/microsoft-foundry/troubleshooting/diagnose-429-errors.md
Outdated
Show resolved
Hide resolved
…oft#1010 - Fix 12 broken language/python.md links in SKILL.md to reference references/sdk/foundry-sdk-py.md (resolves orphaned file too) - Convert static @azure/ai-projects import to dynamic import in integration.test.ts to fix TS2307 (package not in tests/package.json) - Fix 7 bare run() calls to agent.run() in quota/integration.test.ts to fix TS2304 errors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…oft#1010 - Fix 12 broken language/python.md links in SKILL.md to reference references/sdk/foundry-sdk-py.md (resolves orphaned file too) - Convert static @azure/ai-projects import to dynamic import in integration.test.ts to fix TS2307 (package not in tests/package.json) - Fix 7 bare run() calls to agent.run() in quota/integration.test.ts to fix TS2304 errors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…oft#1010 - Fix 12 broken language/python.md links in SKILL.md to reference references/sdk/foundry-sdk-py.md (resolves orphaned file too) - Convert static @azure/ai-projects import to dynamic import in integration.test.ts to fix TS2307 (package not in tests/package.json) - Fix 7 bare run() calls to agent.run() in quota/integration.test.ts to fix TS2304 errors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…oft#1010 - Fix 12 broken language/python.md links in SKILL.md to reference references/sdk/foundry-sdk-py.md (resolves orphaned file too) - Convert static @azure/ai-projects import to dynamic import in integration.test.ts to fix TS2307 (package not in tests/package.json) - Fix 7 bare run() calls to agent.run() in quota/integration.test.ts to fix TS2304 errors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tests/microsoft-foundry/models/deploy/deploy-model-optimal-region/integration.test.ts
Show resolved
Hide resolved
tests/microsoft-foundry/models/deploy/customize-deployment/integration.test.ts
Show resolved
Hide resolved
tests/microsoft-foundry/models/deploy/deploy-model-optimal-region/unit.test.ts
Show resolved
Hide resolved
tests/microsoft-foundry/models/deploy/capacity/integration.test.ts
Outdated
Show resolved
Hide resolved
|
@tendau Could you do us a favor by rebasing the main branch of microsoft/GitHub-Copilot-for-Azure to your branch before merging? |
Includes: - microsoft-foundry agent sub-skill - microsoft-foundry troubleshooting sub-skill - microsoft-foundry resource/create sub-skill - microsoft-foundry quota management skill - microsoft-foundry deploy-model with dynamic models and cross-region quota - RBAC management skills - Foundry integration and unit tests Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix 12 broken language/python.md links in SKILL.md pointing to references/sdk/foundry-sdk-py.md (also resolves orphaned file) - Use createRequire for @azure/ai-projects in integration.test.ts to avoid TS2307 (package not in tests/package.json) - Fix 7 bare run() calls to agent.run() in quota/integration.test.ts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add: agent-observability-loop skill as foundry-agent/observe Eval-driven optimization loop for Foundry agents: deploy, evaluate, cluster failures, optimize prompt, re-deploy, compare versions, iterate. - observe.md main skill file with 6 reference files - Minimal hook in deploy.md to reference observe skill after deployment - Sub-skill entry added to microsoft-foundry SKILL.md - Test scaffolding (triggers, unit, integration) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: standardize integration test describe names to match eslint pattern All top-level describe names now use template literal format: \\_<sub-name> - Integration Tests\ Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: add .env persistence and reposition After Deployment in deploy.md - Add 'Document Deployment Context' section after 'Display Agent Information' to persist AZURE_AI_PROJECT_ENDPOINT, AZURE_AI_AGENT_NAME, etc. to .env - Move 'After Deployment' (observe skill prompt) from end-of-file to right after deployment context, in the natural workflow flow - Ensures observe skill can auto-detect agent via .env values Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: improve observe skill discoverability with USE FOR triggers and DO NOT MANUALLY warning - Add 'When to Use This Skill' section with action-oriented trigger phrases - Add DO NOT MANUALLY warning against calling eval MCP tools without skill - Enhance parent SKILL.md observe sub-skill description with workflow emphasis - Remove Loop Overview (duplicated Entry Points table) to reduce token count Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: improve deploy skill discoverability with USE FOR triggers and DO NOT MANUALLY warning - Replace bullet-point 'When to Use' with action-oriented USE FOR trigger phrases - Add DO NOT MANUALLY warning against calling agent_update/az acr build individually - Enhance parent SKILL.md deploy sub-skill description with pipeline emphasis Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: add azd trigger phrases to deploy skill and parent SKILL.md - Add 'azd deploy agent', 'azd up agent', 'azd up for agent' to USE FOR - Add azd/azd deploy to DO NOT MANUALLY warning in deploy.md - Prevents AI from running manual azd commands instead of using the skill Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: improve compare-iterate.md by moving critical warning and adding required params table - Move displayName/state critical warning above the JSON example - Add required parameters table matching evaluate-step.md pattern - Prevents BadRequest errors from missing required fields Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * revert: remove eslint fixes to non-observe test files Upstream has addressed these separately. Only keep our observe test files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: standardize integration test describe names and quote style for eslint - Fix top-level describe names to match pattern: \\_<sub> - Integration Tests\ - Fix backtick-to-doublequote for non-template strings (quotes rule) - Fix single-to-doublequote in unit test (quotes rule) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ios. Also removing hardcoded code from the md files
* Trace skills * improve for evaluation results traces * improve * Fix * fix * fix * fix * Regenerate snapshots after rebase onto main Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove v1 tests (DefaultAzureCredential, AIProjectClient) that upstream removed. Switch from fs.appendFileSync pattern to softCheckSkill. Restore agent lifecycle test with shouldEarlyTerminate. Addresses review comment from JasonYeMSFT on PR microsoft#1010. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
__dirname is not available in ESM modules. Use the SKILLS_PATH global (set in jest.setup.ts) instead, matching upstream's pattern. Addresses review comment from JasonYeMSFT on PR microsoft#1010. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove fs.appendFileSync file-writing pattern and manual successCount tracking. Use softCheckSkill from evaluate.ts instead. Addresses review comment from JasonYeMSFT on PR microsoft#1010. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Includes: