Research Components
After architecture planning, research each selected component to gather best practices before generating artifacts.
Process
- Identify Components — List all Azure services from architecture plan
- Load Service References — For each service, load
services/<service>/README.mdfirst, then specific references as needed - Check Resource Naming Rules — For each resource type, check resource naming rules for valid characters, length limits, and uniqueness scopes
- Load Recipe References — Load the selected recipe's guide (e.g., AZD) and its IAC rules, MCP best practices, and schema tools listed in its "Before Generation" table
- Check Region Availability — Verify all selected services are available in the target region per region-availability.md
- Check Provisioning Limits — Invoke azure-quotas skill to validate that the selected subscription and region have sufficient quota/capacity for all planned resources. Complete Step 6 of the plan template in two phases: (1) prepare resource inventory with deployment quantities, (2) fetch quotas and validate capacity using azure-quotas skill
- Load Runtime References — For containerized apps, load language-specific production settings (e.g., Node.js)
- Invoke Related Skills — For deeper guidance, invoke mapped skills from the table below
- Document Findings — Record key insights in
.azure/deployment-plan.md
Service-to-Reference Mapping
| Azure Service | Reference | Related Skills |
|---|---|---|
| Hosting | ||
| Container Apps | Container Apps | azure-diagnostics, azure-observability, azure-nodejs-production |
| App Service | App Service | azure-diagnostics, azure-observability, azure-nodejs-production |
| Azure Functions | Functions | — |
| Static Web Apps | Static Web Apps | — |
| AKS | AKS | azure-networking |
| Data | ||
| Azure SQL | SQL Database | — |
| Cosmos DB | Cosmos DB | — |
| PostgreSQL | — | — |
| Storage (Blob/Files) | Storage | azure-storage |
| Messaging | ||
| Service Bus | Service Bus | — |
| Event Grid | Event Grid | — |
| Event Hubs | — | — |
| Integration | ||
| API Management | APIM | azure-aigateway (invoke for AI Gateway policies) |
| Logic Apps | Logic Apps | — |
| Workflow & Orchestration | ||
| Durable Functions | Durable Functions, Durable Task Scheduler | — |
| Durable Task Scheduler | Durable Task Scheduler | — |
| Security & Identity | ||
| Key Vault | Key Vault | azure-keyvault-expiration-audit |
| Managed Identity | — | entra-app-registration |
| Observability | ||
| Application Insights | App Insights | appinsights-instrumentation (invoke for instrumentation) |
| Log Analytics | — | azure-observability, azure-kusto |
| AI Services | ||
| Azure OpenAI | Foundry | microsoft-foundry (invoke for AI patterns and model guidance) |
| AI Search | — | azure-ai (invoke for search configuration) |
Research Instructions
Step 1: Load Internal References (Progressive Loading)
For each selected service, load the README.md first, then load specific files as needed:
Selected: Container Apps, Cosmos DB, Key Vault
→ Load: services/container-apps/README.md (overview)
→ If need Bicep: services/container-apps/bicep.md
→ If need Terraform: services/container-apps/terraform.md
→ If need scaling: services/container-apps/scaling.md
→ If need health probes: services/container-apps/health-probes.md
→ Load: services/cosmos-db/README.md (overview)
→ If need partitioning: services/cosmos-db/partitioning.md
→ If need SDK: services/cosmos-db/sdk.md
→ Load: services/key-vault/README.md (overview)
→ If need SDK: services/key-vault/sdk.mdStep 2: Invoke Related Skills (When Deeper Guidance Needed)
Invoke related skills for specialized scenarios:
| Scenario | Action |
|---|---|
| Using GitHub Copilot SDK | Invoke azure-hosted-copilot-sdk (scaffold + config, then resume azure-prepare) |
| Using Azure Functions | Stay in azure-prepare — load selection.md → Follow composition.md algorithm |
| PostgreSQL with passwordless auth | Handle directly without a separate skill |
| Need detailed security hardening | Handle directly with service-specific security guidance and platform best practices |
| Setting up App Insights instrumentation | appinsights-instrumentation |
| Building AI applications | microsoft-foundry |
| Cost-sensitive deployment | azure-cost |
Skill/Reference Invocation Pattern:
For Azure Functions:
- Load: selection.md (decision tree)
- Follow: composition.md (algorithm)
- Result: Base template + recipe composition (never synthesize IaC)
For PostgreSQL:
- Handle passwordless auth patterns directly without a separate skill
Step 3: Document in Plan
Add research findings to .azure/deployment-plan.md under a ## Research Summary section with source references and key insights per component.
Common Research Patterns
Web Application + API + Database (Cosmos DB)
- Load: services/container-apps/README.md → bicep.md or terraform.md, scaling.md
- Load: services/cosmos-db/README.md → partitioning.md
- Load: services/key-vault/README.md
- Invoke:
azure-observability(monitoring setup) - Review service-specific security guidance directly before generation
Container Apps + API + SQL Database
- Load: services/container-apps/README.md → bicep.md or terraform.md, scaling.md
- Load: services/sql-database/README.md → bicep.md, auth.md
- Load: services/key-vault/README.md
- Review auth.md directly for Entra-only auth configuration
App Service + API + SQL Database
- Load: services/app-service/README.md → bicep.md
- Load: services/sql-database/README.md → bicep.md, auth.md
- Load: services/key-vault/README.md
- Review auth.md directly for Entra-only auth configuration
Serverless Event-Driven
- Load: services/functions/README.md (contains mandatory composition workflow)
- Load: services/event-grid/README.md or services/service-bus/README.md (if using messaging)
- Load: services/storage/README.md (if using queues/blobs)
- Invoke:
azure-observability(distributed tracing)
AI Application
- Invoke:
microsoft-foundry(AI patterns and best practices) - Load: services/container-apps/README.md → bicep.md or terraform.md
- Load: services/cosmos-db/README.md → partitioning.md (vector storage)
- Review Key Vault and Foundry references directly for API key management
GitHub Copilot SDK Application
- Invoke:
azure-hosted-copilot-sdkskill (scaffold, infra, model config) - After it completes, resume azure-prepare workflow (validate → deploy)
After Research
Proceed to Generate Artifacts step with research findings applied.