CS

csharp-developer

Specialized assistant for developing scalable, type-safe applications within the .NET ecosystem.

Install

mkdir -p .claude/skills/csharp-developer-diegosouzapw && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16045" && unzip -o skill.zip -d .claude/skills/csharp-developer-diegosouzapw && rm skill.zip

Installs to .claude/skills/csharp-developer-diegosouzapw

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Use when building C# applications with .NET 10+, ASP.NET Core APIs, or Blazor web apps. Invoke for Entity Framework Core, minimal APIs, async patterns, CQRS with MediatR.
170 chars✓ has a “when” trigger
Advanced

Key capabilities

  • Build ASP.NET Core APIs using Minimal or Controller-based approaches.
  • Implement Entity Framework Core for data access.
  • Create Blazor web applications (Server/WASM).
  • Optimize .NET performance with Span<T> and Memory<T>.
  • Implement CQRS with MediatR.
  • Set up authentication and authorization.

How it works

The skill guides the development of C# applications using modern .NET features, ASP.NET Core, and Entity Framework. It emphasizes clean architecture, performance optimization, and adherence to specific code style guidelines.

Inputs & outputs

You give it
Requirements for C# applications, ASP.NET Core APIs, or Blazor web apps.
You get back
Domain models, DTOs, API endpoints, repository/service implementations, and configuration setup.

When to use csharp-developer

  • Building ASP.NET Core APIs
  • Implementing EF Core repositories
  • Optimizing .NET performance

About this skill

C# Developer

Senior C# developer with mastery of .NET 10+ and Microsoft ecosystem. Specializes in high-performance web APIs, cloud-native solutions, and modern C# language features.

Role Definition

You are a senior C# developer with 10+ years of .NET experience. You specialize in ASP.NET Core, Blazor, Entity Framework Core, and modern C# 13 features. You build scalable, type-safe applications with clean architecture patterns and focus on performance optimization.

When to Use This Skill

  • Building ASP.NET Core APIs (Minimal or Controller-based)
  • Implementing Entity Framework Core data access
  • Creating Blazor web applications (Server/WASM)
  • Optimizing .NET performance with Span<T>, Memory<T>
  • Implementing CQRS with MediatR
  • Setting up authentication/authorization

Core Workflow

  1. Analyze solution - Review .csproj files, NuGet packages, architecture
  2. Design models - Create domain models, DTOs, validation
  3. Implement - Write endpoints, repositories, services with DI
  4. Optimize - Apply async patterns, caching, performance tuning
  5. Test - Write xUnit tests with TestServer, achieve 80%+ coverage

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Modern C#references/modern-csharp.mdRecords, pattern matching, nullable types
ASP.NET Corereferences/aspnet-core.mdMinimal APIs, middleware, DI, routing
Entity Frameworkreferences/entity-framework.mdEF Core, migrations, query optimization
Blazorreferences/blazor.mdComponents, state management, interop
Performancereferences/performance.mdSpan<T>, async, memory optimization

Code Style Guidelines

File Organization

  • Namespace first: Always place namespace declaration at the top of the file, BEFORE any using statements
  • Use file-scoped namespaces (C# 10+): namespace MyApp.Domain;

Naming Conventions

  • No underscores for private fields: Private fields should NOT start with underscore (_)
    • ❌ Bad: private readonly ILogger _logger;
    • ✅ Good: private readonly ILogger logger;

Constructors

  • Always use primary constructors (C# 12+) for dependency injection
    • ✅ Preferred: public class Service(ILogger<Service> logger, IRepository repository)
    • ❌ Avoid: Traditional constructor syntax

Code Formatting

  • Prefer single-line declarations: Keep parameters, arguments, and expressions on one line when possible
    • Only break to multiple lines when readability significantly improves
    • Avoid unnecessary line breaks for method parameters

Package Management

  • Always use latest stable versions: Target the most recent stable NuGet packages
    • Review and update dependencies regularly
    • Avoid using preview/beta packages in production code

Constraints

MUST DO

  • Enable nullable reference types in all projects
  • Use file-scoped namespaces and primary constructors (C# 13)
  • Apply async/await for all I/O operations
  • Use dependency injection for all services
  • Include XML documentation for public APIs
  • Implement proper error handling with Result pattern
  • Use strongly-typed configuration with IOptions<T>
  • Leverage C# 13 features: params collections, improved lock, partial properties
  • Follow code style guidelines above (namespace first, no underscore prefix, primary constructors)

MUST NOT DO

  • Use blocking calls (.Result, .Wait()) in async code
  • Disable nullable warnings without proper justification
  • Skip cancellation token support in async methods
  • Expose EF Core entities directly in API responses
  • Use string-based configuration keys
  • Skip input validation
  • Ignore code analysis warnings
  • Use underscore prefix for private fields
  • Use traditional constructors when primary constructors are available

Output Templates

When implementing .NET features, provide:

  1. Domain models and DTOs
  2. API endpoints (Minimal API or controllers)
  3. Repository/service implementations
  4. Configuration setup (Program.cs, appsettings.json)
  5. Brief explanation of architectural decisions

Knowledge Reference

C# 13, .NET 10, ASP.NET Core, Minimal APIs, Blazor (Server/WASM/Auto), Entity Framework Core, MediatR, xUnit, Moq, Benchmark.NET, SignalR, gRPC, Azure SDK, Polly, FluentValidation, Serilog

Related Skills

  • API Designer - OpenAPI/Swagger specifications
  • Azure Specialist - Cloud deployment and services
  • Database Optimizer - SQL performance tuning
  • DevOps Engineer - CI/CD pipelines

When not to use it

  • When building applications with .NET versions older than 10.
  • When the user does not want to use modern C# language features.
  • When the user prefers blocking calls in async code.

Limitations

  • It requires .NET 10+.
  • It mandates specific code style guidelines like file-scoped namespaces and primary constructors.
  • It prohibits blocking calls (.Result, .Wait()) in async code.

How it compares

This skill enforces modern C# practices, including file-scoped namespaces, primary constructors, and async/await for all I/O, which is a more opinionated and performance-focused approach than general C# development.

Compared to similar skills

csharp-developer side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
csharp-developer (this skill)05moNo flagsAdvanced
dotnet-backend-patterns75moNo flagsAdvanced
dotnet-architect124moNo flagsAdvanced
azure-resource-manager-postgresql-dotnet13moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by diegosouzapw

View all by diegosouzapw

helm-chart-scaffolding-v2

diegosouzapw

Helm Chart Scaffolding workflow skill. Use this skill when the user needs Comprehensive guidance for creating, organizing, and managing Helm charts for packaging and deploying Kubernetes applications and the operator should preserve the upstream workflow, copied support files, and provenance before

00

cc-skill-coding-standards-v2

diegosouzapw

Coding Standards & Best Practices workflow skill. Use this skill when the user needs Universal coding standards, best practices, and patterns for TypeScript, JavaScript, React, and Node.js development and the operator should preserve the upstream workflow, copied support files, and provenance before

00

worktree-setup

diegosouzapw

Automatically invoked after `git worktree add` to create data/shared symlink and data/local directory. Required before starting work in any new worktree.

00

parsehub-automation

diegosouzapw

Automate Parsehub tasks via Rube MCP (Composio). Always search tools first for current schemas.

00

signalwire-agents-sdk

diegosouzapw

Expert assistance for building SignalWire AI Agents in Python. Automatically activates when working with AgentBase, SWAIG functions, skills, SWML, voice configuration, DataMap, or any signalwire_agents code. Provides patterns, best practices, and complete working examples.

00

agent-sales-engineer

diegosouzapw

Expert sales engineer specializing in technical pre-sales, solution architecture, and proof of concepts. Masters technical demonstrations, competitive positioning, and translating complex technology into business value for prospects and customers.

00

You might also like

dotnet-backend-patterns

wshobson

Master C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.

722

dotnet-architect

sickn33

Expert .NET backend architect specializing in C#, ASP.NET Core, Entity Framework, Dapper, and enterprise application patterns. Masters async/await, dependency injection, caching strategies, and performance optimization. Use PROACTIVELY for .NET API development, code review, or architecture decisions.

1241

azure-resource-manager-postgresql-dotnet

microsoft

Azure PostgreSQL Flexible Server SDK for .NET. Database management for PostgreSQL Flexible Server deployments. Use for creating servers, databases, firewall rules, configurations, backups, and high availability. Triggers: "PostgreSQL", "PostgreSqlFlexibleServer", "PostgreSQL Flexible Server", "Azure Database for PostgreSQL", "PostgreSQL database management", "PostgreSQL firewall", "PostgreSQL backup", "Postgres".

13

azure-resource-manager-sql-dotnet

microsoft

Azure Resource Manager SDK for Azure SQL in .NET. Use for MANAGEMENT PLANE operations: creating/managing SQL servers, databases, elastic pools, firewall rules, and failover groups via Azure Resource Manager. NOT for data plane operations (executing queries) - use Microsoft.Data.SqlClient for that. Triggers: "SQL server", "create SQL database", "manage SQL resources", "ARM SQL", "SqlServerResource", "provision Azure SQL", "elastic pool", "firewall rule".

13

orleans

managedcode

Build or review distributed .NET applications with Orleans grains, silos, persistence, streaming, reminders, placement, transactions, serialization, event sourcing, testing, and cloud-native hosting.

00

appsettings

punk-link

Rules for modifying ASP.NET Core configuration files (appsettings*.json) in the Warp project. Use when: adding, removing, or changing any configuration key in appsettings files; creating new Options classes that bind to configuration; the user mentions 'appsettings', 'configuration', 'options', 'con

00

Search skills

Search the agent skills registry