agentsclimarketplace

Azure patterns

Skill Mattakushi432/Claude-Code-Skills-Custom-DevTools-Pack/plugins/devtools-pack/skills/azure-patterns

A curated pack of custom Claude Code skills for developers — installable as a Claude Code plugin marketplace.

Install
npx -y skills add Mattakushi432/Claude-Code-Skills-Custom-DevTools-Pack --skill azure-patterns

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

When to activate: Azure, AKS, Azure Functions, App Service, SQL Database, Blob Storage, Key Vault, Azure AD, Application Insights, Bicep

SKILL.md

4.1 KB, 941 tokens by cl100k_base, as published. Nobody here has run it

Azure Patterns

AKS Cluster (Bicep)

resource aks 'Microsoft.ContainerService/managedClusters@2023-10-01' = {
  name: 'myapp-aks'
  location: resourceGroup().location
  identity: { type: 'SystemAssigned' }
  properties: {
    dnsPrefix: 'myapp'
    enableRBAC: true
    aadProfile: {
      managed: true
      enableAzureRBAC: true
    }
    agentPoolProfiles: [
      {
        name: 'system'
        count: 2
        vmSize: 'Standard_D4s_v3'
        osType: 'Linux'
        mode: 'System'
        enableAutoScaling: true
        minCount: 2
        maxCount: 5
      }
    ]
    networkProfile: {
      networkPlugin: 'azure'
      networkPolicy: 'azure'
    }
    addonProfiles: {
      azureKeyvaultSecretsProvider: { enabled: true }
      omsagent: {
        enabled: true
        config: { logAnalyticsWorkspaceResourceID: workspace.id }
      }
    }
  }
}

Azure Functions (Python)

import azure.functions as func
import logging

app = func.FunctionApp(http_auth_level=func.AuthLevel.FUNCTION)

@app.route(route="orders/{order_id}", methods=["GET"])
@app.cosmos_db_input(
    arg_name="order",
    database_name="mydb",
    container_name="orders",
    id="{order_id}",
    partition_key="{order_id}",
    connection="CosmosDbConnectionSetting",
)
def get_order(req: func.HttpRequest, order: func.DocumentList) -> func.HttpResponse:
    if not order:
        return func.HttpResponse("Not found", status_code=404)
    return func.HttpResponse(order[0].to_json(), mimetype="application/json")

Key Vault Secrets in AKS

# SecretProviderClass
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: myapp-secrets
spec:
  provider: azure
  parameters:
    usePodIdentity: "false"
    clientID: ${MANAGED_IDENTITY_CLIENT_ID}
    keyvaultName: myapp-kv
    objects: |
      array:
        - |
          objectName: db-password
          objectType: secret
    tenantId: ${TENANT_ID}
  secretObjects:
    - secretName: myapp-secrets
      type: Opaque
      data:
        - objectName: db-password
          key: DB_PASSWORD

Application Insights (SDK)

from azure.monitor.opentelemetry import configure_azure_monitor
from opentelemetry import trace

configure_azure_monitor(
    connection_string=os.environ["APPLICATIONINSIGHTS_CONNECTION_STRING"]
)
tracer = trace.get_tracer(__name__)

with tracer.start_as_current_span("process-order") as span:
    span.set_attribute("order.id", order_id)
    result = process(order_id)
    span.set_attribute("order.status", result.status)

Azure DevOps Pipeline

trigger:
  branches:
    include: [main]

pool:
  vmImage: ubuntu-latest

variables:
  - group: prod-secrets
  - name: IMAGE_TAG
    value: $(Build.SourceVersion)

stages:
  - stage: Build
    jobs:
      - job: BuildAndPush
        steps:
          - task: Docker@2
            inputs:
              command: buildAndPush
              repository: $(ACR_REPO)
              containerRegistry: $(ACR_SERVICE_CONNECTION)
              tags: $(IMAGE_TAG)

  - stage: Deploy
    dependsOn: Build
    environment: production
    jobs:
      - deployment: DeployAKS
        strategy:
          runOnce:
            deploy:
              steps:
                - task: KubernetesManifest@1
                  inputs:
                    action: deploy
                    manifests: k8s/*.yaml
                    containers: $(ACR_REPO):$(IMAGE_TAG)

Key Rules

  • Use Managed Identities instead of service principal secrets for AKS workloads
  • Enable Defender for Containers on all AKS clusters
  • Use Private Endpoints for Key Vault, Storage, and SQL in production
  • Azure Policy: enforce tagging, region restrictions, and allowed VM sizes
  • Application Insights sampling: set adaptive sampling to avoid cost overruns on high-traffic services

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.