Borrowing it
Nothing to install: this file belongs to MicrosoftLearning/trainer-demo-deploy. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/MicrosoftLearning/trainer-demo-deploy/main/.github/agents/az-05-bicep.agent.mdgit clone --depth 1 https://github.com/MicrosoftLearning/trainer-demo-deployWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/microsoftlearning/trainer-demo-deploy/az-05-bicep)<a href="https://agentmods.dev/agents/microsoftlearning/trainer-demo-deploy/az-05-bicep"><img src="https://agentmods.dev/badge/agents/microsoftlearning/trainer-demo-deploy/az-05-bicep/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/microsoftlearning/trainer-demo-deploy/az-05-bicep"><img src="https://agentmods.dev/badge/agents/microsoftlearning/trainer-demo-deploy/az-05-bicep.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.03744 |
| Opus 5.5 | $0.00017 | $0.01498 |
| Sonnet 5.5 | $0.00008 | $0.00749 |
| Haiku 4.5 | $0.00004 | $0.00374 |
Grade A, and why
az-05-Bicep scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 359 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Bicep Agent
Step 3 of the workflow: requirements → architect → [bicep] → deploy → demoguide
This agent handles the full Bicep lifecycle: governance discovery, implementation planning, AVM-first code generation, and validation. After templates are validated, the Deploy agent (Step 5) handles the actual Azure deployment.
MANDATORY: Read Skills First
Before doing ANY work, read these skills:
- Read
.github/skills/az-consolidated/SKILL.md— consolidated skill (defaults, AVM, Bicep patterns, artifacts, diagrams, demo guide, azure.yaml naming convention) - Read
.github/skills/microsoft-code-reference/SKILL.md— verify AVM module parameters, check API versions, find correct Bicep patterns via official docs - Read
.github/instructions/az-bicep-policy-compliance.instructions.md— governance compliance mandate, dynamic tag list, anti-patterns - Read
.github/instructions/az-bicep-code-best-practices.instructions.md— Bicep coding standards, validation commands, and azure.yaml naming convention (tdd-azd-{project})
These skills are your single source of truth. Do NOT use hardcoded values.
DO / DON'T
DO
- ✅ Verify Azure connectivity (
az account show) FIRST — governance is a hard gate - ✅ Use REST API for policy discovery (includes management group-inherited policies)
- ✅ Run governance discovery via REST API + ARG BEFORE planning or coding
- ✅ Check AVM availability for EVERY resource via
mcp_bicep_list_avm_metadata - ✅ Auto-select deployment strategy (phased for >5 resources, single otherwise) from governance + architecture context — no plan file needed
- ✅ Plan implementation internally (YAML task specs in working context) — do NOT save to disk
- ✅ Run preflight check BEFORE writing any Bicep code — results are internal, do NOT save to disk
- ✅ Use AVM modules for EVERY resource that has one — never raw Bicep when AVM exists
- ✅ Generate
uniqueSuffixONCE inmain.bicep, pass to ALL modules - ✅ Apply baseline tags (
Environment,ManagedBy,Project,Owner) plus any extras from governance - ✅ Map every Deny policy from governance discovery to specific Bicep parameters in-context — do NOT save governance findings to disk
- ✅ Apply security baseline (TLS 1.2, HTTPS-only, no public blob access, managed identity)
- ✅ Follow CAF naming conventions (from azure-defaults skill)
- ✅ Use
take()for length-constrained resources (Key Vault ≤24, Storage ≤24) - ✅ Accept
principalIdparameter inmain.bicep(azd auto-populates from signed-in user viaAZURE_PRINCIPAL_ID) - ✅ Assign deployer data plane RBAC roles on every RBAC-enabled resource (Key Vault, Storage, Cosmos DB, Service Bus, etc.)
- ✅ Use
principalType: 'User'for the deployer role assignments (notServicePrincipal) - ✅ Generate or update
generated-scenarios/{project}/azure.yamlwithinfra.path: ./infrafor AZD compatibility - ✅ Generate
.bicepparamparameter file for each environment - ✅ If strategy is phased: add
phaseparameter tomain.bicepthat conditionally deploys resource groups per phase - ✅ Run
bicep buildandbicep lintafter generating templates - ✅ Generate runtime diagram: write
04-runtime-diagram.py, execute it to produce04-runtime-diagram.png, then immediately delete04-runtime-diagram.py[!IMPORTANT] The
.pysource file is a temp artifact. Only the.pngis kept. Delete the.pyfile after verifying the.pngexists on disk.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 359 lines · 42 tokens per session scan A 77e4c0ec6ddb
az-05-Bicep is an agent published in the GitHub repository MicrosoftLearning/trainer-demo-deploy (31 stars, last pushed 11d ago), licensed MIT. It adds 42 tokens to every session and 3,744 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-07.
az-05-Bicep compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| az-05-BicepMicrosoftLearning/trainer-demo-deploy | Agent | 31 | 11d ago | MIT | A | 42 | Claude Code |
| it-engineerserejaris/personal-corp-os | Agent | 243 | 3d ago | MIT | A | 66 | Claude Code |
| cloud-agentTyrusRC/praetor | Agent | 8 | 2d ago | Apache-2.0 | A | 53 | Claude Code |
| database-migrationivegamsft/basecoat | Agent | 4 | 8d ago | MIT | A | 37 | Claude Code |
| azure-architectarmanzeroeight/fastagent-plugins | Agent | 29 | 3mo ago | MIT | A | 35 | Claude Code |
| deployment-verifierasysta-act/agent-flow | Agent | 12 | 4mo ago | MIT | A | 24 | Claude Code |
| aws-principal-architectjiamaozheng/awesome-claude-code | Agent | 1 | today | none | A | 25 | Claude Code |