azure
SKILL.md
Azure
Microsoft Azure cloud platform for enterprise applications.
When to Use
- Enterprise cloud deployment
- .NET application hosting
- Azure Functions (serverless)
- Azure Kubernetes Service (AKS)
Quick Start
// Azure Function
import {
app,
HttpRequest,
HttpResponseInit,
InvocationContext,
} from "@azure/functions";
app.http("hello", {
methods: ["GET", "POST"],
handler: async (
request: HttpRequest,
context: InvocationContext,
): Promise<HttpResponseInit> => {
const name = request.query.get("name") || "World";
return { body: `Hello, ${name}!` };
},
});
Core Concepts
Blob Storage
import { BlobServiceClient } from "@azure/storage-blob";
const blobService = BlobServiceClient.fromConnectionString(connectionString);
const container = blobService.getContainerClient("uploads");
// Upload
const blockBlob = container.getBlockBlobClient("file.pdf");
await blockBlob.uploadData(buffer, {
blobHTTPHeaders: { blobContentType: "application/pdf" },
});
// Download
const download = await blockBlob.download();
const content = await streamToBuffer(download.readableStreamBody);
// Generate SAS URL
const sasUrl = await blockBlob.generateSasUrl({
permissions: BlobSASPermissions.parse("r"),
expiresOn: new Date(Date.now() + 3600 * 1000),
});
Cosmos DB
import { CosmosClient } from "@azure/cosmos";
const client = new CosmosClient(connectionString);
const container = client.database("mydb").container("items");
// Create
const { resource } = await container.items.create({
id: "123",
name: "John",
category: "user",
});
// Query
const { resources } = await container.items
.query("SELECT * FROM c WHERE c.category = @cat", [
{ name: "@cat", value: "user" },
])
.fetchAll();
Common Patterns
Bicep (IaC)
param location string = resourceGroup().location
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'mystorageaccount'
location: location
sku: { name: 'Standard_LRS' }
kind: 'StorageV2'
}
resource functionApp 'Microsoft.Web/sites@2023-01-01' = {
name: 'myfunctionapp'
location: location
kind: 'functionapp'
properties: {
serverFarmId: appServicePlan.id
}
}
Best Practices
Do:
- Use Managed Identities
- Enable Azure Defender
- Use Key Vault for secrets
- Implement proper RBAC
Don't:
- Store secrets in code
- Use owner role broadly
- Skip network security
- Ignore cost management
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| 403 Forbidden | RBAC issue | Check role assignments |
| Function cold start | First invocation | Use Premium plan |
| Connection failed | Network/firewall | Check NSG rules |
References
Weekly Installs
2
Repository
g1joshi/agent-skillsGitHub Stars
7
First Seen
Feb 10, 2026
Security Audits
Installed on
mcpjam2
claude-code2
replit2
junie2
windsurf2
zencoder2