Agent skill
dotnet-aspire-starter
Creates production-ready .NET 10 Aspire projects with ASP.NET MVC + Razor + TypeScript frontend, REST API backend, Entity Framework, OpenTelemetry observability, and Polly resilience. Use when asked to create a new .NET web application, scaffold a .NET Aspire project, set up a full-stack .NET solution with frontend and API, configure OpenTelemetry for .NET, add Polly resilience patterns, or start a new C# project with modern best practices. Supports OIDC authentication preparation and Grafana-ready telemetry.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/dotnet-aspire-starter
SKILL.md
.NET Aspire Starter
Create production-ready .NET 10 Aspire projects with minimal friction. This skill transforms a project idea into a fully configured solution with frontend, backend API, database access, observability, and resilience patterns.
What This Skill Creates
A complete .NET Aspire solution including:
| Layer | Technology | Purpose |
|---|---|---|
| Orchestrator | .NET Aspire | Service orchestration, local development, cloud deployment |
| Frontend | ASP.NET MVC + Razor + TypeScript + CSS | User-facing web application |
| Backend API | ASP.NET MVC REST API | Business logic and data access |
| Database | Entity Framework Core | ORM with code-first migrations |
| Observability | OpenTelemetry + OTLP | Logs, metrics, traces (Grafana-ready) |
| Resilience | Polly.NET | Circuit breakers, retries, timeouts |
| Authentication | OIDC (prepared) | Ready-to-enable identity integration |
Quick Start Workflow
User provides: A project idea (e.g., "Build me a task management app")
This skill creates: A complete .NET solution ready for feature development
Step 1: Gather Project Details
Ask the user for:
- Project name (e.g., "TaskManager", "InventoryTracker")
- Brief description (1-2 sentences)
- Target output path (where to create the solution)
Step 2: Run the Scaffold Script
The scaffolder creates a base .NET Aspire project using the official template, then adds skill-specific enhancements (coding standards, AI context, VS Code configuration).
# Run as a C# script directly (no compilation needed)
dotnet run scripts/ScaffoldAspireProject/Program.cs -- \
--name "TaskManager" \
--description "A task management application for teams" \
--output "./projects"
Or build once and reuse the executable:
# Build the scaffolder (first time only)
dotnet build scripts/ScaffoldAspireProject/ScaffoldAspireProject.csproj -c Release
# Run the compiled executable
./scripts/ScaffoldAspireProject/bin/Release/net10.0/ScaffoldAspireProject \
--name "TaskManager" \
--description "A task management application for teams" \
--output "./projects"
Step 3: Initial Configuration
After scaffolding, guide the user through:
- Database connection: Update
appsettings.jsonwith connection string - Initial entity model: Create the first domain entity in the API project
- First migration: Run
dotnet ef migrations add Initial
See Initial Setup Guide for detailed steps.
Step 4: Begin Feature Development
The user can now focus on their idea. The boilerplate is complete:
- Create entities in
{ProjectName}.Api/Models/ - Add controllers in
{ProjectName}.Api/Controllers/ - Create views in
{ProjectName}.Web/Views/ - Write TypeScript in
{ProjectName}.Web/Scripts/
How It Works
The scaffolder in two steps:
-
Base Project Creation: Runs
dotnet new aspire-starterwith your project name- Creates official Microsoft Aspire project structure
- Generates AppHost, ServiceDefaults, Api, and Web projects
- Includes OpenTelemetry and Polly integration
-
Skill-Specific Enhancements: Adds on top:
- Coding Standards:
.editorconfigandDirectory.Build.propswith Microsoft C# conventions - AI Context:
.github/copilot-instructions.mdanddocs/ARCHITECTURE.mdfor GitHub Copilot/Claude - Developer Experience: VS Code configuration for debugging and build tasks
- Coding Standards:
This approach keeps you aligned with Microsoft's official template while adding production-ready context and standards.
Project Structure
The scaffold creates this structure (plus everything from dotnet new aspire-starter):
{ProjectName}/
├── {ProjectName}.sln
├── {ProjectName}.AppHost/ # Aspire orchestrator (from template)
├── {ProjectName}.ServiceDefaults/ # Shared config (from template)
├── {ProjectName}.Api/ # REST API backend (from template)
├── {ProjectName}.Web/ # MVC + Razor frontend (from template)
├── Directory.Build.props # Our: Microsoft coding standards
├── .editorconfig # Our: Code style enforcement
├── .github/
│ └── copilot-instructions.md # Our: AI coding context
├── .vscode/
│ ├── settings.json # Our: VS Code config
│ ├── launch.json # Our: Debug configuration
│ └── tasks.json # Our: Build tasks
└── docs/
└── ARCHITECTURE.md # Our: Architecture reference
Feature Configuration
OpenTelemetry (Enabled by Default)
Template includes full OpenTelemetry setup. See Telemetry Setup for:
- Enabling Grafana integration
- Custom metrics and traces
- Structured logging patterns
- Production configuration
Polly Resilience (Enabled by Default)
Template includes Microsoft.Extensions.Http.Resilience with sensible defaults. See Polly Configuration for:
- Default circuit breaker thresholds
- Retry policies
- Timeout configuration
- Custom resilience strategies
OIDC Authentication (Prepared, Not Enabled)
Authentication scaffolding is in place but commented out. See OIDC Preparation for:
- Enabling OIDC in frontend and API
- Shared authentication between layers
- Token propagation patterns
- Provider-specific setup (Azure AD, Auth0, Keycloak)
Coding Standards
This skill enforces Microsoft coding standards via:
- EditorConfig: Consistent formatting across IDEs
- .NET Analyzers: Enabled with
TreatWarningsAsErrors - Nullable Reference Types: Enabled by default
See Coding Standards Reference for the complete style guide.
Development Commands
After scaffolding, these commands are available:
# Run the full solution (frontend + API + database)
dotnet run --project {ProjectName}.AppHost
# Run migrations
dotnet ef migrations add {MigrationName} --project {ProjectName}.Api
dotnet ef database update --project {ProjectName}.Api
# Build TypeScript
npm run build --prefix {ProjectName}.Web
# Watch TypeScript during development
npm run watch --prefix {ProjectName}.Web
# Run tests
dotnet test
VS Code & Visual Studio Template Usage
For maximum reuse, this skill can generate templates for direct IDE use.
VS Code Custom Snippets
The scaffold creates .vscode/ configurations including:
- Launch configurations for debugging
- Task runners for build/watch
- Recommended extensions
Visual Studio Template Export
To create a reusable VS template from the scaffolded project:
dotnet new --install ./{ProjectName}/ --force
This registers the project as a dotnet new template. See Template Export Guide for multi-project template creation.
Maximizing AI Assistant Effectiveness
The scaffold creates documentation that provides context for AI coding assistants:
GitHub Copilot
The generated .github/copilot-instructions.md provides:
- Solution architecture overview
- Coding patterns used in the project
- Entity/controller/view conventions
- Testing patterns
Claude / Claude Code
The generated docs/ARCHITECTURE.md serves as context for:
- Understanding project structure
- Following established patterns
- Maintaining consistency across features
Recommendation: When starting new features, reference these files in your prompts to maintain consistency.
References
- Initial Setup Guide - Post-scaffold configuration steps
- Coding Standards - C# style guide and analyzer configuration
- Telemetry Setup - OpenTelemetry configuration and Grafana integration
- Polly Configuration - Resilience patterns and customization
- OIDC Preparation - Authentication enablement guide
- Template Export - Creating reusable VS/VS Code templates
Troubleshooting
Script Execution Issues
Missing .NET SDK or old version:
# Check version (need .NET 10.0+)
dotnet --version
# Install from https://dotnet.microsoft.com/download
dotnet new aspire-starter template not found:
# Update .NET and workload
dotnet workload update
dotnet workload install aspire
dotnet new --list | grep aspire # Verify installation
Restore dependencies:
cd scripts/ScaffoldAspireProject
dotnet restore
Build Errors After Scaffold
Missing workload error:
dotnet workload install aspire
TypeScript compilation errors:
cd {ProjectName}.Web && npm install
Database Connection Issues
Ensure the connection string in appsettings.json matches your database. For local development, the scaffold defaults to SQLite.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?