Skip to content

Add credential-free-dev skill#196

Open
ArLucaID wants to merge 2 commits intomicrosoft:mainfrom
ArLucaID:credential-free-dev-skill
Open

Add credential-free-dev skill#196
ArLucaID wants to merge 2 commits intomicrosoft:mainfrom
ArLucaID:credential-free-dev-skill

Conversation

@ArLucaID
Copy link
Contributor

Core skill for eliminating secrets from Azure apps using managed identities, workload identity federation, and Azure Identity SDK.

What's included

  • SKILL.md (155 lines): Core principles, credential type decision table, DefaultAzureCredential chain, RBAC role quick reference, WIF patterns, common pitfalls
  • references/migration-patterns.md: Before/after migration code for Azure SQL, Storage, Cosmos DB, Service Bus, Event Hubs, Key Vault, App Configuration across Python, .NET, TypeScript, Java
  • references/acceptance-criteria.md: Correct/incorrect patterns for auth, client init, RBAC, MI selection, WIF
  • tests/scenarios/credential-free-dev/scenarios.yaml: 6 test scenarios, 100% pass rate
  • Symlinks in python/dotnet/typescript/java/rust entra categories
  • README.md updated: total 132->133, Core 9->10, test coverage updated

Test results

Scenarios: 6 | Passed: 6 | Pass Rate: 100.0% | Average Score: 100.0

…ranting

Addresses 6 gaps in the entra-agent-id skill:

1. Runtime token exchange — Added fmi_path two-step exchange pattern (parent
   token via client_credentials + fmi_path, then client_assertion exchange for
   Graph-scoped Agent Identity token). Covers both autonomous (app-only) and
   OBO (delegated) modes with complete code samples.

2. fmi_path parameter — Documented the fmi_path parameter on the standard
   /oauth2/v2.0/token endpoint that targets a specific Agent Identity. Clarified
   this is NOT RFC 8693 token exchange (which returns AADSTS82001).

3. OBO/delegated flow — Added Blueprint API configuration (identifierUris,
   oauth2PermissionScopes, preAuthorizedApplications, optionalClaims), user
   token audience requirements, and complete OBO exchange code.

4. Cross-tenant guidance — Documented that fmi_path works cross-tenant when
   the Blueprint is multi-tenant. Critical rule: step 1 must target the Agent
   Identity's home tenant, not the Blueprint's (AADSTS700211 otherwise).

5. Permission granting — Added appRoleAssignments for autonomous mode and
   oauth2PermissionGrants for OBO mode, with per-agent scoping examples.

6. oauth2-token-flow.md completion — Option B now shows the full two-step
   exchange (was incomplete — stopped at Blueprint token). Added Option C for
   OBO flow. Added cross-tenant exchange section.

Updated acceptance-criteria.md with sections 9-12 covering runtime exchange,
OBO, cross-tenant, and permission grant patterns (correct/incorrect examples).

Added Troubleshooting table with 8 common errors and fixes.

Tested patterns verified against live Entra endpoints (same-tenant autonomous,
cross-tenant fmi_path exchange, OBO with delegated permissions).
Core skill for eliminating secrets from Azure apps using managed identities, workload identity federation, and Azure Identity SDK.

- SKILL.md (155 lines) with principles, credential type table, RBAC roles, WIF patterns

- references/migration-patterns.md: before/after code for 7 services, 4 languages

- references/acceptance-criteria.md: correct/incorrect patterns

- 6 test scenarios, 100% pass rate

- Symlinks in python/dotnet/typescript/java/rust entra categories
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant