Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/aiappsgbb/awesome-gbbnpx agentmods add skills/aiappsgbb/awesome-gbb/azd-patternsWrote 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/skills/aiappsgbb/awesome-gbb/azd-patterns)<a href="https://agentmods.dev/skills/aiappsgbb/awesome-gbb/azd-patterns"><img src="https://agentmods.dev/badge/skills/aiappsgbb/awesome-gbb/azd-patterns/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/skills/aiappsgbb/awesome-gbb/azd-patterns"><img src="https://agentmods.dev/badge/skills/aiappsgbb/awesome-gbb/azd-patterns.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 6 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 94 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 105 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Tool Misuse · line 107 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Privilege Escalation · line 297 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 687 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 722 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
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.00191 | $0.17974 |
| Opus 5.5 | $0.00076 | $0.07190 |
| Sonnet 5.5 | $0.00038 | $0.03595 |
| Haiku 4.5 | $0.00019 | $0.01797 |
Grade A, and why
azd-patterns scanned grade A with 2 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 26d ago.
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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
1. **Identify** the verification command (e.g., `curl`, `az containerapp show`, Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
result = subprocess.run("azd env list -o json", shell=True, capture_output=True, text=True) How it starts
The opening of the file, as written. The whole thing — 1,442 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AZD Tips & Patterns
Conventions and best practices for azd workflows, hooks, and ACA job deployments gathered from real repos.
ACA Job Deployment
azd does not natively deploy Container Apps Jobs — only Container Apps. Jobs need a separate deployment step.
Recommended: Python + postdeploy hook (cross-platform)
Used in newer repos. The pattern:
-
azure.yaml— wire apostdeployhook that runs afterazd deploy:hooks: postdeploy: shell: pwsh run: 'cd infra/scripts && uv sync --frozen && uv run deploy_job.py' interactive: false continueOnError: false -
infra/scripts/deploy_job.py— update the job image via Azure SDK:import asyncio, os, sys, logging from utils import load_azd_env from azure.identity.aio import AzureCliCredential from azure.mgmt.appcontainers.aio import ContainerAppsAPIClient async def main(): load_azd_env() image_name = os.getenv("SERVICE_AGENTS_IMAGE_NAME") job_name = os.getenv("JOB_NAME") resource_group = os.getenv("RESOURCE_GROUP") subscription_id = os.getenv("SUBSCRIPTION_ID") tenant_id = os.getenv("AZURE_TENANT_ID") async with AzureCliCredential(tenant_id=tenant_id) as credential: async with ContainerAppsAPIClient(credential, subscription_id) as client: job = await client.jobs.get(resource_group, job_name) job.template.containers[0].image = image_name # Remove stale sidecars — they cause "Failed" status if they exit non-zero job.template.containers = [job.template.containers[0]] poller = await client.jobs.begin_create_or_update(resource_group, job_name, job) await poller.result() if __name__ == "__main__": try: asyncio.run(main()) except Exception as e: logging.critical("Error deploying job: %s", e) sys.exit(1)
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/bicep/aca-app.bicep 2.7 KB
- references/bicep/aca-environment.bicep 1.4 KB
- references/bicep/aca-job.bicep 1.8 KB
- references/bicep/aca-private-dns.bicep 1.1 KB
- references/bicep/aca-subnet.bicep 947 B
- references/bicep/acr-pull.bicep 864 B
- references/bicep/foundry-account.bicep 6.9 KB
- references/bicep/foundry-project-capability-host.bicep 807 B
- references/bicep/main.bicepparam 2.3 KB
- references/bicep/private-dns-vnet-link.bicep 612 B
- references/bicep/rbac.bicep 6.0 KB
- references/bicep/uami.bicep 480 B
- references/upstream-pin.md 6.9 KB
- test-fixture/consumer_prompt.md 19 KB
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.
- 26d ago Changed · +12 lines e6e6292c852f
- 1mo ago Changed · +32 lines cfbb5937475d
- 1mo ago Changed · -18 lines 47ad531ab10a
- 1mo ago First seen · 1,416 lines · 191 tokens per session scan A 782ffcfe619b
azd-patterns is a skill published in the GitHub repository aiappsgbb/awesome-gbb (8 stars, last pushed yesterday), licensed MIT. It adds 191 tokens to every session and 17,974 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it A with 2 findings (makes network calls, runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
openshell-cli
Guide agents through using the OpenShell CLI (openshell) for sandbox management, gateway registration, provider configuration and refresh, profile management, policy iteration, settings, service exposure, BYOC workflows, and attached-provider inference. Covers basic through advanced multi-step workflows. Trigger…
azd-deployment
Deploy containerized frontend + backend applications to Azure Container Apps with remote builds, managed identity, and idempotent infrastructure.
cdf-orchestration-setup
Use when the user asks to deploy, install, reinstall, redeploy, upgrade, or connect to the CDF Orchestration Airflow controller. Owns the end-to-end deploy sequence and runs the cdf-orchestration-preflight audit first. Covers make setup, controller image builds, Helm installation, controller connection…
langbot-deploy
Deploy and configure a LangBot instance — Docker / Docker Compose, Kubernetes, the config.yaml model, the Box sandbox runtime, the plugin runtime, and the global API key. Use when installing, deploying, upgrading, or configuring LangBot in production or self-hosted environments. Triggers on "deploy langbot", "langbot…
compute-env-setup
Set up a reproducible Feynman compute environment for research jobs. Use when a task needs Python/R packages, GPU libraries, containers, Modal, SSH, caches, or managed model runtime setup.
compute-env-setup
Set up a compute environment on a remote provider so Claude Science jobs can run there. Covers direct SSH/conda hosts, Slurm clusters, container-via-bridge runners, and managed-API providers (Modal, GCP, RunPod). Use when standing up a new provider, porting an env to a different backend, adding a tool that needs its…