google-agents-cli-scaffold
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
azure-basics
Azure cloud services, resource management, and Azure CLI patterns. Use when working with Azure resources, resource groups, ARM templates, az commands (az vm, az network, az storage, az aks), Azure naming conventions, RBAC policies, networking (VNet, NSG, Application Gateway), or implementing Azur...
Full skill instructions
Provide Azure cloud platform best practices, CLI command patterns, and resource organization strategies for reliable, secure, and cost-effective cloud infrastructure.
Key Capabilities:
Auto-activates when:
az commands)Resource groups are lifecycle boundaries - group resources by lifecycle.
✅ GOOD - Organized by lifecycle
az group create --name prod-app-rg --location eastus
az group create --name prod-data-rg --location eastus
az group create --name shared-network-rg --location eastus
# App resources in app RG
# Data resources in data RG (longer lifecycle)
# Network resources in network RG (shared)
❌ BAD - All resources in one RG
az group create --name everything-rg --location eastus
# Deleting one resource risks deleting everything
Why: Simplifies resource management, enables batch operations, clear ownership.
Use consistent, descriptive naming patterns.
✅ GOOD - Consistent naming
# Pattern: {environment}-{workload}-{resource-type}-{region}
prod-webapp-vm-eastus
prod-webapp-storage-eastus
dev-api-aks-westus
❌ BAD - Inconsistent naming
vm1
storage-account-production
my-kubernetes
Recommended Pattern:
{env}-{workload}-{resource-type}[-{instance}]
env: dev, test, stage, prod
workload: webapp, api, data
resource-type: vm, vnet, storage, aks
instance: 01, 02 (for multiple instances)
Tag all resources for cost tracking and organization.
✅ GOOD - Comprehensive tagging
az resource tag \
--resource-group prod-app-rg \
--name prod-webapp-vm \
--resource-type Microsoft.Compute/virtualMachines \
--tags \
Environment=production \
CostCenter=engineering \
Owner=team-platform \
Project=customer-portal
❌ BAD - No tags or inconsistent tags
# No visibility into cost allocation
Required Tags:
Never store credentials - use Azure managed identities.
✅ GOOD - Managed identity
# Create VM with system-assigned identity
az vm create \
--name prod-webapp-vm \
--resource-group prod-app-rg \
--assign-identity
# Grant access to Key Vault
az keyvault set-policy \
--name prod-keyvault \
--object-id $IDENTITY_ID \
--secret-permissions get list
# Application uses identity (no credentials in code)
❌ BAD - Hardcoded credentials
# Connection strings in app config
# Service principal credentials in environment variables
Why: Eliminates credential rotation, reduces security risk, simplifies access management.
Control traffic with NSGs - default deny, explicit allow.
✅ GOOD - Explicit NSG rules
az network nsg create --name frontend-nsg --resource-group prod-network-rg
# Allow HTTPS from internet
az network nsg rule create \
--nsg-name frontend-nsg \
--name allow-https \
--priority 100 \
--source-address-prefixes Internet \
--destination-port-ranges 443 \
--access Allow \
--protocol Tcp
# Deny all other inbound
# (Default rule: DenyAllInbound at priority 65500)
❌ BAD - No NSG or overly permissive
az network nsg rule create \
--name allow-all \
--source-address-prefixes '*' \
--destination-port-ranges '*' \
--access Allow
# Security nightmare!
Choose regions based on latency, compliance, cost.
✅ GOOD - Region strategy
# Primary: East US (closest to users)
# Secondary: West US (disaster recovery)
# Data residency: North Europe (GDPR compliance)
az group create --name prod-primary-rg --location eastus
az group create --name prod-dr-rg --location westus
❌ BAD - Random region selection
# No disaster recovery plan
# High latency for users
# Compliance violations
Start small, scale up - not reverse.
✅ GOOD - Right-sized VM
az vm create \
--name prod-webapp-vm \
--size Standard_B2s \ # 2 vCPU, 4 GB RAM
--resource-group prod-app-rg
# Monitor, scale up if needed
❌ BAD - Oversized VM
az vm create \
--size Standard_D16s_v3 \ # 16 vCPU, 64 GB RAM
# For workload needing 2 vCPU
# Wasting 87.5% of capacity
Cost Optimization:
| Command | Purpose |
|---|---|
az login | Authenticate to Azure |
az account list | List subscriptions |
az account set | Switch subscription |
az group create | Create resource group |
az group delete | Delete resource group |
az resource list | List resources |
az vm create | Create virtual machine |
az network vnet create | Create virtual network |
az storage account create | Create storage account |
az aks create | Create AKS cluster |
| Resource Type | Pattern | Example |
|---|---|---|
| Resource Group | {env}-{workload}-rg | prod-webapp-rg |
| Virtual Machine | {env}-{workload}-vm[-{instance}] | prod-api-vm-01 |
| Storage Account | {env}{workload}storage | prodwebappstorage |
| Virtual Network | {env}-{region}-vnet | prod-eastus-vnet |
| Subnet | {purpose}-subnet | frontend-subnet |
| NSG | {purpose}-nsg | frontend-nsg |
| AKS Cluster | {env}-{workload}-aks | prod-api-aks |
| Region | Location | Use Case |
|---|---|---|
| eastus | East US | General purpose, low cost |
| westus2 | West US 2 | West coast users |
| centralus | Central US | Central location |
| northeurope | North Europe | GDPR compliance |
| westeurope | West Europe | European users |
| southeastasia | Southeast Asia | APAC users |
Problem: All resources in one RG Issue: Cannot manage lifecycle independently Fix: Separate by environment, workload, or lifecycle
Problem: Resources without tags Issue: Cannot track costs or ownership Fix: Enforce required tags via Azure Policy
Problem: Everyone has Contributor role Issue: Security risk, accidental deletions Fix: Least-privilege access (Reader, specific roles)
Problem: No spending alerts Issue: Surprise bills, cost overruns Fix: Set budgets and alerts in Azure Cost Management
Problem: All VMs have public IPs Issue: Increased attack surface Fix: Private networking with VPN/Bastion access
# 1. Create resource group
az group create --name prod-network-rg --location eastus
# 2. Create VNet
az network vnet create \
--name prod-eastus-vnet \
--resource-group prod-network-rg \
--address-prefix 10.0.0.0/16
# 3. Create frontend subnet
az network vnet subnet create \
--vnet-name prod-eastus-vnet \
--name frontend-subnet \
--resource-group prod-network-rg \
--address-prefix 10.0.1.0/24
# 4. Create backend subnet
az network vnet subnet create \
--vnet-name prod-eastus-vnet \
--name backend-subnet \
--resource-group prod-network-rg \
--address-prefix 10.0.2.0/24
# 5. Create NSG for frontend
az network nsg create \
--name frontend-nsg \
--resource-group prod-network-rg
# 6. Associate NSG with subnet
az network vnet subnet update \
--vnet-name prod-eastus-vnet \
--name frontend-subnet \
--resource-group prod-network-rg \
--network-security-group frontend-nsg
# 1. Create VM with system-assigned identity
az vm create \
--name prod-webapp-vm-01 \
--resource-group prod-app-rg \
--image Ubuntu2204 \
--size Standard_B2s \
--vnet-name prod-eastus-vnet \
--subnet frontend-subnet \
--assign-identity \
--tags Environment=production Owner=platform-team
# 2. Get identity principal ID
IDENTITY_ID=$(az vm identity show \
--name prod-webapp-vm-01 \
--resource-group prod-app-rg \
--query principalId -o tsv)
# 3. Grant access to Key Vault
az keyvault set-policy \
--name prod-keyvault \
--object-id $IDENTITY_ID \
--secret-permissions get list
# 4. Application can now access secrets without credentials
| Need to... | Read this |
|---|---|
| Organize Azure resources | resource-groups.md |
| Create ARM templates | arm-templates.md |
| Master Azure CLI | cli-patterns.md |
Resource organization strategies, naming conventions, tagging policies, RBAC patterns
ARM template structure, parameter patterns, outputs, deployment strategies
Azure CLI automation, scripting patterns, JMESPath queries, output formatting
Skill Status: COMPLETE ✅ Line Count: 458 ✅ Progressive Disclosure: 3 resource files ✅
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.
Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.
Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.
Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.
Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.
Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.
Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.