azure-well-architected
Skill3 starsChanged 8 months agoCC0-1.0View on GitHub
Enforces Azure Well-Architected Framework best practices across all five pillars (Reliability, Security, Cost Optimization, Operational Excellence, Performance Efficiency). Use when designing Azure or application architecture, writing infrastructure code (Bicep, ARM, Terraform), reviewing pull requests for cloud workloads, or making technology selection decisions. Provides both Azure-specific guidance and cloud-agnostic application and solutions architecture principles.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- MicrosoftDocs/Agent-Skillstheir own version, first seen Jun 16, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- MicrosoftDocs/Agent-Skills★ 808same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository48 other files it gives its agents.
- 3d-printingSkill
- app-securitySkill
- architecture-designSkill
- aws-genai-lensSkill
- aws-well-architected-frameworkSkill
- aws-well-architectedSkill
- blog-post-with-diagramsSkill
- clean-architectureSkill
- clean-codeSkill
- databricks-genie-spaces-best-practicesSkill
- data-visualization-guideSkill
- design-an-interfaceSkill
- design-patternsSkill
- domain-driven-designSkill
- dry-principleSkill
- edit-articleSkill
- event-driven-designSkill
- git-best-practicesSkill
- git-guardrails-claude-codeSkill
- grill-meSkill
- hexagonal-architectureSkill
- improve-codebase-architectureSkill
- language-conventions-source-en-docs-brSkill
- learn-electronicsSkill
- linked-dataSkill
- microservices-skillSkill
- object-oriented-programmingSkill
- oop-design-patternsSkill
- oreilly-design-referenceSkill
- organize-docs-from-zipSkill
- prd-to-issuesSkill
- prd-to-planSkill
- project-context-syncSkill
- request-refactor-planSkill
- rfc2119Skill
- scaffold-exercisesSkill
- semverSkill
- setup-pre-commitSkill
- solid-principlesSkill
- tddSkill
- todoSkill
- triage-issueSkill
- ts-otp-awsSkill
- ubiquitous-languageSkill
- ux-design-principlesSkill
- write-a-prdSkill
- write-a-skillSkill
- yagni-principleSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
38 rules. About 0 are common, 37 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈37
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 26
Treat infrastructure as code — define all resources in version-controlled templates
- Distinctive: line 27
Prefer managed services over self-managed to reduce operational burden
- Distinctive: line 33
Keep it simple — avoid overengineering.
- Distinctive: line 39
Focus: Ensure the workload meets uptime and recovery targets by building redundancy and resiliency.
- Distinctive: line 47
Keep it simple — avoid overengineering.
- Distinctive: line 51
MUST define and document RTO/RPO targets.
- Distinctive: line 52
MUST design for multi-zone or multi-region deployments for stateful services in production
- Distinctive: line 53
MUST implement health checks and automatic replacement of unhealthy instances
- Distinctive: line 54
MUST use decoupling (queues, event buses) to absorb load spikes and isolate failures
- Distinctive: line 55
SHOULD use circuit breakers and retry logic with exponential backoff for service calls
- Distinctive: line 56
SHOULD simulate failures in pre-production and production.
- Distinctive: line 74
MUST enforce least-privilege access.
- Distinctive: line 75
MUST enable encryption at rest and in transit for all data stores and communication channels
- Distinctive: line 76
MUST classify data by sensitivity and apply appropriate protection per classification level
- Distinctive: line 77
MUST maintain an audit trail of access and modification activities
- Distinctive: line 78
MUST use Azure Key Vault or equivalent for secrets.
- Distinctive: line 79
SHOULD align with Microsoft Zero Trust (verify explicitly, least privilege, assume breach)
- Distinctive: line 80
SHOULD define and maintain an incident response plan.
- Very specific: line 98
MUST tag all Azure resources with at minimum project, environment, and owner
- Distinctive: line 99
MUST set budget alerts and cost thresholds for every workload and subscription
- Distinctive: line 100
MUST establish a cost model and baseline.
- Distinctive: line 101
SHOULD use Reserved Instances or Savings Plans for predictable, sustained workloads
- Distinctive: line 102
SHOULD use Spot VMs for fault-tolerant, batch, or stateless workloads where applicable
- Distinctive: line 103
MUST decommission underutilized, unused, or obsolete resources.
- Distinctive: line 121
MUST implement structured logging, distributed tracing, and dashboards for every workload
- Distinctive: line 122
MUST use automated pipelines for all deployments across all environments
- Distinctive: line 123
MUST define operational KPIs tied to business outcomes, not just technical metrics
- Distinctive: line 124
MUST use Infrastructure as Code (Bicep, ARM, Terraform) for all infrastructure
- Distinctive: line 125
SHOULD prefer small, incremental updates over large releases
- Distinctive: line 126
SHOULD use deployment patterns that allow progressive exposure (blue-green, canary, slots)
- Distinctive: line 127
SHOULD hold post-incident reviews and feed learnings back into procedures
- Distinctive: line 144
MUST define performance targets for critical flows.
- Distinctive: line 145
MUST configure auto-scaling for compute resources to match demand
- Distinctive: line 146
MUST conduct performance testing before production and after significant changes
- Distinctive: line 147
MUST monitor end-to-end performance.
- Distinctive: line 148
SHOULD right-size resources across the stack.
- Distinctive: line 149
SHOULD use caching and CDN where latency reduction is needed
- Distinctive: line 155
Use this checklist when proposing or reviewing Azure or application architecture.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Azure Well-Architected Framework
Reference: https://learn.microsoft.com/en-us/azure/well-architected/
When to Apply
Apply this skill whenever:
- Proposing or reviewing Azure or application architecture decisions
- Writing or reviewing IaC (Bicep, ARM templates, Terraform)
- Reviewing pull requests that touch cloud infrastructure or Azure service integrations
- Selecting Azure services or making technology trade-off decisions
- Evaluating cost, performance, security, or reliability implications of a change
- Designing solutions that require general application or solutions architecture guidance
General Architecture Principles
These cloud-agnostic principles apply across all pillars:
- Design for business requirements — align architecture with documented goals, constraints, and success criteria; avoid guesswork
- Treat infrastructure as code — define all resources in version-controlled templates
- Prefer managed services over self-managed to reduce operational burden
- Design for failure — assume components will fail; build resilience and fault isolation
- Adopt zero-trust security — verify explicitly, least privilege, assume breach
- Automate operations — deployments, scaling, remediation, and testing
- Make frequent, small, reversible changes; avoid large, risky releases
- Collect and act on observability data (metrics, logs, traces) at every layer
- Keep it simple — avoid overengineering; add components only when they achieve target business value
Pillar 1: Reliability
Focus: Ensure the workload meets uptime and recovery targets by building redundancy and resiliency.
Design Principles
- Design for business requirements — define clear, achievable goals negotiated with stakeholders
- Design for resilience — expect failures; build fault-tolerant systems that degrade gracefully
- Design for recovery — have tested, documented recovery plans aligned with RTO/RPO
- Design for operations — shift left; test failures early; build observable systems
- Keep it simple — avoid overengineering; minimize critical path components
Rules
- MUST define and document RTO/RPO targets; MUST test recovery procedures regularly
- MUST design for multi-zone or multi-region deployments for stateful services in production
- MUST implement health checks and automatic replacement of unhealthy instances
- MUST use decoupling (queues, event buses) to absorb load spikes and isolate failures
- SHOULD use circuit breakers and retry logic with exponential backoff for service calls
- SHOULD simulate failures in pre-production and production; run chaos experiments
Pillar 2: Security
Focus: Protect the workload from attacks; maintain confidentiality, integrity, and availability (CIA triad).
Design Principles
- Plan security readiness — adopt security practices in design and operations with minimal friction
- Protect confidentiality — access controls, data classification, encryption, guard against exfiltration
- Protect integrity — prevent tampering of data, code, and operations; verify with cryptography
- Protect availability — prevent downtime from security incidents; balance security and access
- Sustain and evolve — continuously improve; assume attackers evolve; measure and enforce posture
Rules
- MUST enforce least-privilege access; MUST NOT use wildcard or overly broad permissions in production
- MUST enable encryption at rest and in transit for all data stores and communication channels
- MUST classify data by sensitivity and apply appropriate protection per classification level
- MUST maintain an audit trail of access and modification activities
- MUST use Azure Key Vault or equivalent for secrets; MUST NOT hardcode credentials
- SHOULD align with Microsoft Zero Trust (verify explicitly, least privilege, assume breach)
- SHOULD define and maintain an incident response plan; SHOULD conduct threat modeling
Pillar 3: Cost Optimization
Focus: Maximize return on investment; optimize usage, rate, and allocation within budget.
Design Principles
- Develop cost-management discipline — budgets, accountability, reporting, cost tracking
- Design with cost-efficiency mindset — spend only on what is needed; establish cost baseline
- Design for usage optimization — maximize resource utilization; right-size and scale dynamically
- Design for rate optimization — leverage commitments, reservations, consumption models
- Monitor and optimize over time — right-size as workload evolves; decommission unused resources
Rules
- MUST tag all Azure resources with at minimum
project,environment, andowner - MUST set budget alerts and cost thresholds for every workload and subscription
- MUST establish a cost model and baseline; MUST track expense at workload level
- SHOULD use Reserved Instances or Savings Plans for predictable, sustained workloads
- SHOULD use Spot VMs for fault-tolerant, batch, or stateless workloads where applicable
- MUST decommission underutilized, unused, or obsolete resources; delete unnecessary data
Pillar 4: Operational Excellence
Focus: Build and run workloads correctly; minimize process variance and human error.
Design Principles
- Embrace DevOps culture — collaboration, shared responsibility, continuous improvement
- Establish development standards — quality gates, source control, documentation, progress tracking
- Evolve operations with observability — visibility, insight, data-driven decisions; health modeling
- Automate for efficiency — replace repetitive manual tasks with automation
- Adopt safe deployment practices — guardrails, incremental updates, rollback capability
Rules
- MUST implement structured logging, distributed tracing, and dashboards for every workload
- MUST use automated pipelines for all deployments across all environments
- MUST define operational KPIs tied to business outcomes, not just technical metrics
- MUST use Infrastructure as Code (Bicep, ARM, Terraform) for all infrastructure
- SHOULD prefer small, incremental updates over large releases
- SHOULD use deployment patterns that allow progressive exposure (blue-green, canary, slots)
- SHOULD hold post-incident reviews and feed learnings back into procedures
Pillar 5: Performance Efficiency
Focus: Adapt to changing demands; scale effectively and sustain performance targets.
Design Principles
- Negotiate realistic performance targets — align with business; define benchmarks and thresholds
- Design for capacity requirements — provide enough supply for anticipated demand
- Achieve and sustain performance — protect against degradation; test and monitor continuously
- Optimize for long-term improvement — reassess targets; adopt new technologies as appropriate
Rules
- MUST define performance targets for critical flows; MUST align with business stakeholders
- MUST configure auto-scaling for compute resources to match demand
- MUST conduct performance testing before production and after significant changes
- MUST monitor end-to-end performance; MUST set alerts on regressions
- SHOULD right-size resources across the stack; SHOULD match services to access patterns
- SHOULD use caching and CDN where latency reduction is needed
Architecture Review Checklist
Use this checklist when proposing or reviewing Azure or application architecture.
Reliability
- RTO and RPO are defined; recovery procedures are tested and documented
- Workload is deployed across multiple zones or regions for production
- Health checks and auto-healing are configured
- Components are decoupled using queues or event buses
- Failure scenarios have been simulated (chaos, game days)
Security
- All access follows least privilege; no wildcard permissions in production
- All data at rest and in transit is encrypted
- Secrets are managed via Key Vault or equivalent, not hardcoded
- Data is classified; protection matches classification level
- Incident response plan exists; threat modeling has been performed
Cost Optimization
- All resources are tagged with
project,environment,owner - Budget alerts and cost thresholds are configured
- Cost model and baseline are established
- Idle or unused resources have been removed or scheduled
- Reservations or commitments evaluated for predictable workloads
Operational Excellence
- Observability is defined: metrics, structured logs, and distributed traces
- Deployments are automated via CI/CD with rollback capability
- Infrastructure is defined as code (Bicep, ARM, or Terraform)
- Operational runbooks exist for known failure scenarios
- KPIs tied to business outcomes are identified and monitored
Performance Efficiency
- Performance targets are defined for critical flows
- Auto-scaling is configured for compute resources
- Storage and database types match access patterns
- Load and performance testing has been performed
- Caching is applied where latency reduction is needed
Trade-off Guidance
Common tensions between pillars and how to resolve them:
| Tension | Guidance |
| Security vs. Performance | Prefer TLS termination at load balancer; use regional endpoints to minimize latency; apply security controls without blocking legitimate users |
| Cost vs. Reliability | Use multi-zone for stateful tiers; accept single-zone for stateless compute only in non-critical environments |
| Cost vs. Performance | Use reserved capacity for baseline; consumption-based for burst; cache aggressively |
| Operational simplicity vs. Reliability | Prefer managed services even at higher unit cost; reduced operational burden outweighs marginal cost difference |
| Security vs. Reliability | Security controls can introduce points of failure; design compensating controls and avoid single points of failure in security layers |
Additional Resources
For detailed per-pillar guidance and Azure-specific services, see reference.md.
Official documentation:
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

