bicep
Azure Bicep IaC patterns, parameterization, security, and modular design
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Azure Bicep IaC patterns, parameterization, security, and modular design
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Angular component architecture, RxJS patterns, change detection, and module organization
Azure DevOps pipeline security, YAML structure, variable management, and deployment patterns
Dockerfile best practices, security hardening, multi-stage builds, and image optimization
ASP.NET Core patterns, dependency injection, middleware, async/await, and security
FastAPI endpoint design, Pydantic validation, dependency injection, and async patterns
GitHub CLI (gh) comprehensive reference for repositories, issues, pull requests, Actions, projects, releases, gists, codespaces, organizations, extensions, and all GitHub operations from the command line.
| name | bicep |
| description | Azure Bicep IaC patterns, parameterization, security, and modular design |
| metadata | {"version":"1.1.0"} |
<!-- -->) or expose template variables (e.g., {{ }}) in outputs, as these can enable injection or phishing attacks@secure() decorator@description() for all parameters@allowed() for constrained values@minLength(), @maxLength(), @minValue(), @maxValue()uniqueString() for globally unique namesexisting keyword to reference existing resourcesdependsOn only when implicit dependencies aren't enoughresourceId() functionsfor) instead of copy-paste for similar resourcesassert() for validation@secure() (Bicep handles this)@description('Environment name')
@allowed(['dev', 'staging', 'prod'])
param environment string
@description('SQL admin password')
@secure()
param sqlAdminPassword string
metadata description = 'Azure Storage Account with Key Vault integration'
metadata author = 'Infrastructure Team'
metadata version = '1.0.0'
var baseName = 'myapp-${environment}-${uniqueString(resourceGroup().id)}'
var commonTags = {
environment: environment
owner: 'infrastructure-team'
costCenter: 'IT-001'
}
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: '${baseName}sa'
location: resourceGroup().location
tags: commonTags
sku: { name: 'Standard_LRS' }
kind: 'StorageV2'
properties: {
minimumTlsVersion: 'TLS1_2'
supportsHttpsTrafficOnly: true
}
}