validate-aspire-runtime
Validate Aspire Runtime Skill
Use this skill to start the complete Aspire-orchestrated application and verify all services are running and healthy.
What This Skill Does
- Starts the Aspire runtime using
aspire runcommand - Uses Aspire MCP
list_resourcestool to poll resource health - Waits for all critical resources to reach healthy status:
sql-server(database) - must be startedcache(Redis) - must be startedapi(main API service) - must be healthyworker(background worker) - must be startedui(frontend app) - must be started
- Extracts the UI endpoint URL from resources (typically
https://localhost:3000) - Communicates the UI endpoint URL back to the agent for use in E2E validation
- Exits with failure if startup fails or health checks don't pass
When to Use
- After backend and frontend builds succeed
- After all tests pass
- To prepare the application for interactive E2E validation
- To verify the complete system works together before E2E testing
How the Agent Should Use This Skill
-
Prepare: Ensure all previous validation steps (builds, tests) have succeeded
-
Start Aspire: Run Aspire in a terminal/background process:
aspire runThis will start the Aspire dashboard and orchestrate all resources.
-
Check Resources: Use the Aspire MCP
list_resourcestool to monitor resource status:- Call
list_resourcesrepeatedly until all resources reach healthy state - Monitor for errors or failed startup
- Expected resource states:
RunningorHealthy
- Call
-
Extract Endpoint: Once
uiresource is healthy, extract its HTTP endpoint (typicallyhttps://localhost:3000) -
Communicate Endpoint: Report the discovered UI endpoint URL to use in the next E2E validation step
-
Monitor Startup: Typical startup sequence:
- SQL Server starts (takes 5-10 seconds)
- Redis starts (takes 2-3 seconds)
- API service starts and runs health checks (takes 5-15 seconds)
- Worker service starts (takes 3-5 seconds)
- UI starts and connects to API (takes 5-10 seconds)
-
Handle Failures: If any resource fails to start or becomes unhealthy:
- Check Aspire dashboard logs for error messages
- Report the specific resource and error to user
- Halt further validation
Success Criteria
- Aspire process is running and accepting connections
list_resourcesreturns all resources with healthy statusuiresource shows HTTP endpoint URL (typicallyhttps://localhost:3000)- No error logs from resources
Failure Indicators
- Aspire startup fails or crashes
- Resources remain in
FailedorUnhealthystate after timeout - Health check endpoints return non-2xx status
- Logs show connection/initialization errors
Resource Details Reference
Resource Startup Order (from AppHost.cs)
- sql-server - Base resource, must start first
- cache - Base resource, starts independently
- api - Depends on sql-server + cache, includes Dapr sidecar
- worker - Depends on sql-server + cache
- ui - Depends on api, Vite app
Health Check Endpoints (on API)
GET /health/live- Liveness probe (is service running)GET /health/ready- Readiness probe (can service handle requests)
Endpoint Mappings
- SQL Server:
localhost:1433 - Redis:
localhost:6379 - RedisInsight:
http://localhost:8001 - API (internal):
http://localhost:17623 - UI:
https://localhost:3000 - Aspire Dashboard:
http://localhost:19888
Important Notes
- First run: First time running Aspire may take longer due to container pulls/initialization
- Dapr: API service includes Dapr sidecar; Dapr runtime is auto-managed by Aspire
- Database: Uses persistent data volume; survives restarts during development
- Certificates: UI uses developer certificates for HTTPS (auto-trusted on first run)
- Logs: Full resource logs available through Aspire dashboard or
list_structured_logstool
Cleaning Up After Validation
After E2E validation completes (success or failure):
- Stop Aspire by pressing
Ctrl+Cin the terminal runningaspire run - Aspire will gracefully shut down all resources
- For next validation run, start
aspire runagain
Next Steps After Success
Once all resources are healthy and UI endpoint is confirmed:
- Validate E2E Skill - to run interactive UI navigation and feature validation