Skip to content

Investigate and Track Addition of Azure Skills Plugin (@microsoft/azure-skills) #13

@arnaudlh

Description

@arnaudlh

Summary

Investigate integration of the @microsoft/azure-skills plugin into the git-ape platform engineering framework, ensuring behavioral consistency across all supported runtimes.

Today, git-ape is packaged as a Copilot CLI plugin with custom agents and skills under .github/ (see plugin.json and the Included Components section of the README). Bringing in @microsoft/azure-skills needs to be evaluated against this existing skill surface to avoid duplication and drift.

Notably, @microsoft/azure-skills ships multi-runtime manifests (.claude-plugin, .cursor-plugin, gemini-extension.json, plugin.json, .mcp.json) which is directly relevant to the runtime-consistency goal.

Context / Current State

  • git-ape plugin manifest: plugin.json
  • Existing git-ape skills under .github/skills/:
    azure-naming-research, azure-resource-availability, azure-security-analyzer, azure-deployment-preflight, azure-role-selector, azure-cost-estimator, azure-drift-detector, azure-integration-tester, azure-resource-visualizer, git-ape-onboarding (see README.md#L129-L141).
  • Agents under .github/agents/ orchestrate these skills (see README.md#L229-L246).
  • Execution modes (README.md#L212-L214):
    • Interactive — VS Code Copilot Chat with az login
    • Headless — Copilot Coding Agent + CI workflows (git-ape-plan.yml, git-ape-deploy.yml, git-ape-destroy.yml, git-ape-verify.yml)

Candidate Skills from @microsoft/azure-skills

Full inventory from microsoft/azure-skills/skills/, mapped to the git-ape deployment lifecycle:

Strong candidates (fill gaps in git-ape today)

Upstream skill Purpose (candidate fit) git-ape stage
azure-prepare Prerequisite / environment prep Complements /prereq-check
azure-validate Template / config validation Stage 2 (Template & Analysis)
azure-deploy Deployment execution Stage 3 (Resource Deployer)
azure-diagnostics Post-deploy diagnostics / troubleshooting Stage 4 (Validate) — new capability
azure-upgrade Resource/SDK upgrade guidance Operations — new capability
azure-cloud-migrate Migration to Azure Onboarding — new capability
azure-compliance Compliance checks Security gate — complements azure-security-analyzer
azure-enterprise-infra-planner Landing-zone / enterprise infra planning Stage 1 (Requirements) — new capability
entra-app-registration Entra app/SP creation Onboarding — overlaps with git-ape-onboarding OIDC flow (docs/ONBOARDING.md)

Direct overlap (evaluate replace vs. coexist)

Upstream skill Existing git-ape skill Action to decide
azure-cost azure-cost-estimator Keep upstream, deprecate local?
azure-rbac azure-role-selector Merge or delegate
azure-quotas azure-resource-availability (SKU/quota) Split responsibilities
azure-resource-visualizer azure-resource-visualizer Name collision — must resolve
azure-resource-lookup (partial: IaC Exporter agent) Complementary

Workload-specific skills (opt-in per deployment)

Upstream skill Use case in git-ape
azure-compute VM / compute deployments
azure-kubernetes AKS deployments
azure-storage Storage accounts
azure-messaging Service Bus / Event Grid / Event Hubs
azure-kusto ADX / Kusto workloads
azure-ai Azure AI services
azure-aigateway AI gateway pattern
microsoft-foundry Foundry-based agent workloads
azure-hosted-copilot-sdk Hosted Copilot SDK apps
appinsights-instrumentation App Insights wiring → pairs with azure-integration-tester

Investigation Tasks

1. Scope & overlap analysis

  • Validate the tables above against the final upstream skill contracts.
  • For each direct-overlap skill, decide: adopt upstream, keep local, or delegate (local skill calls upstream).
  • Resolve the azure-resource-visualizer name collision.

2. Packaging & plugin manifest

  • Determine distribution: upstream ships plugin.json, .mcp.json, .claude-plugin, .cursor-plugin, gemini-extension.json — pick the right surface for git-ape (Copilot CLI plugin and/or MCP).
  • Define how it's declared in plugin.json and .github/plugin/marketplace.json.
  • Assess impact on copilot plugin install Azure/git-ape (README.md#L45-L71).

3. Runtime consistency

Validate identical behavior across all three runtimes:

Runtime Entry point Things to verify
Local (VS Code Copilot Chat) @git-ape ... in chat Skill discovery, az login auth, Azure MCP interaction (AZURE_MCP_SETUP.md)
Local in CLI (copilot CLI) copilot plugin install Azure/git-ape Skill invocation parity, auth via az/gh, prereq-check compatibility
Copilot Coding Agent (headless) GitHub issue → PR → git-ape-*.yml workflows OIDC auth (not az login), non-interactive skill execution, workflow integration

4. Authentication & permissions

  • Confirm upstream skills work with az login (interactive) and OIDC-based auth in Actions (see docs/ONBOARDING.md#L290-L314).
  • Verify RBAC (Contributor / User Access Administrator) compatibility.
  • Check entra-app-registration co-existence with existing onboarding script.

5. Prerequisite & environment parity

6. Orchestration impact

  • Slot new skills into the deployment flow (README.md#L147-L167); re-evaluate the security gate with azure-compliance.
  • Preserve invocation syntax (/skill-name) and agent delegation patterns.

Acceptance Criteria

  • Finalized overlap/gap matrix (replace / coexist / adopt) for every upstream skill.
  • Decision recorded: dependency vs. embed vs. partial adoption.
  • PoC integration validated in all three runtimes (local VS Code, local CLI, Copilot Coding Agent).
  • Auth verified with both az login and OIDC.
  • Name collision on azure-resource-visualizer resolved.
  • No regression in git-ape-plangit-ape-deploygit-ape-verifygit-ape-destroy.
  • Updates to plugin.json, marketplace.json, README, and prereq-check as needed.
  • Follow-up implementation issues filed.

References

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions