npx skills add ...
npx skills add codewithmukesh/dotnet-claude-kit --skill project-setup
Tech-stack selection advisor for .NET projects: recommended defaults for database, auth, caching, messaging, observability, and resilience, with the rationale behind each default. Load when choosing or reviewing a project's tech stack, or when the user says "tech stack", "which database", "pick a stack", "recommended defaults", or "what should I use for". For project initialization use dotnet-init, for codebase assessment use health-check, for upgrades and schema changes use migrate.
npx skills add codewithmukesh/dotnet-claude-kit --skill project-setup
This skill owns one thing: the kit's recommended tech-stack defaults and why. The workflows that consume it live elsewhere:
dotnet-init (interactive flow, architecture questionnaire, CLAUDE.md generation)health-check (the canonical 8-dimension graded assessment)migratearchitecture-advisor (always ask before recommending)HybridCache over Redis-client wrappers, built-in rate limiting over packages, built-in OpenAPI over Swashbuckle. Fewer dependencies means fewer licensing surprises and upgrade breaks.| Dimension | Options | Default | Why |
|---|---|---|---|
| Database | PostgreSQL, SQL Server, SQLite | PostgreSQL | Open source, best EF Core provider outside SQL Server, first-class Testcontainers support |
| Auth | JWT Bearer, OIDC (Keycloak/Auth0), None | JWT Bearer | Simplest secure default for APIs; move to OIDC when an external IdP exists |
| Caching | HybridCache, Redis, None | HybridCache | Built-in, stampede protection, L1+L2 — add Redis only as its L2 backend |
| Messaging | Wolverine (RabbitMQ), MassTransit, None | None (add later) | Premature messaging adds ops burden; Wolverine (MIT) when needed |
| Observability | Serilog + OpenTelemetry, Basic logging | Serilog + OTEL | Structured logs + traces from day one are cheap; retrofitting is not |
| Resilience | Polly v8 pipelines, Basic retry | Polly v8 | AddStandardResilienceHandler() is one line for production-grade defaults |
| API docs | Built-in OpenAPI + Scalar | OpenAPI + Scalar | Framework-maintained spec generation; Scalar replaces Swagger UI |
| Testing | xUnit v3 + Testcontainers | xUnit v3 + Testcontainers | Real databases in tests; in-memory providers hide real bugs |
Once dimensions are chosen, dotnet-init bakes them into the generated CLAUDE.md, and each choice maps to a skill to load when working in that area (ef-core, authentication, caching, messaging, serilog, opentelemetry, resilience, openapi, scalar, testing).
| Scenario | Route to |
|---|---|
| "Set up this project for Claude Code" | dotnet-init |
| "Which database/auth/caching should I use?" | This skill — table above |
| "How healthy is this codebase?" | health-check |
| "Upgrade to .NET 10" / "update packages" | migrate |
| "Which architecture fits?" | architecture-advisor |
| Stack chosen, ready to build | scaffold for the first feature |