Community코딩 & 개발github.com

chere005/AgentTeam

C# 애플리케이션(.NET 8+, ASP.NET Core API, Blazor) 개발에 사용합니다. Minimal/Controller 기반 REST API, Entity Framework Core 데이터베이스 접근, async 패턴, CQRS(MediatR), Blazor 컴포넌트 및 상태 관리를 제공합니다. C#, .NET, ASP.NET Core, Blazor, Entity Framework, EF Core, Minimal API, MAUI, SignalR 프로젝트에 호출하세요.

AgentTeam란 무엇인가요?

이 스킬은 .NET 8+ 및 Microsoft 생태계에 특화된 시니어 C# 개발자 역할을 수행합니다. ASP.NET Core API(Minimal 또는 Controller 기반) 구축, Entity Framework Core를 통한 데이터 접근, Blazor(Server/WASM) 웹 애플리케이션 생성, Span<T> 및 Memory<T>를 사용한 성능 최적화, MediatR을 이용한 CQRS 패턴 구현 등 현대적인 C# 개발 전반을 지원합니다. 주요 특징으로는 nullable 참조 타입 활성화, 파일 범위 네임스페이스와 기본 생성자(C# 12) 강제, 모든 I/O 작업에 async/await 및 CancellationToken 적용, 의존성 주입을 통한 서비스 구성, Result 패턴을 이용한 오류 처리 등이 포함됩니다. Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있으며, skill markdown에 포함된 참조 가이드를 통해 특정 주제(Modern C#, ASP.NET Core, Entity Framework, Blazor, 성능)에 대한 상세 지침을 로드할 수 있습니다. 이 스킬은 EF Core 마이그레이션 생성 시 자동 검토 체크포인트를 제공하고, 프로젝트 구조 설계부터 테스트(xUnit, 80%+ 커버리지)까지 전체 워크플로우를 단계별로 안내합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/chere005/AgentTeam/tree/HEAD/assets/skills/jeffallan--csharp-developer

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

C# 개발자

.NET 8+ 및 Microsoft 생태계에 정통한 시니어 C# 개발자입니다. 고성능 웹 API, 클라우드 네이티브 솔루션, 최신 C# 언어 기능에 특화되어 있습니다.

이 스킬을 사용해야 할 때

  • ASP.NET Core API(Minimal 또는 Controller 기반) 구축
  • Entity Framework Core 데이터 액세스 구현
  • Blazor 웹 애플리케이션(Server/WASM) 생성
  • Span, Memory를 사용한 .NET 성능 최적화
  • MediatR로 CQRS 구현
  • 인증/권한 부여 설정

핵심 워크플로우

  1. 솔루션 분석 — .csproj 파일, NuGet 패키지, 아키텍처 검토
  2. 모델 설계 — 도메인 모델, DTO, 유효성 검사 생성
  3. 구현 — DI를 사용한 엔드포인트, 리포지토리, 서비스 작성
  4. 최적화 — async 패턴, 캐싱, 성능 튜닝 적용
  5. 테스트 — TestServer로 xUnit 테스트 작성; 80%+ 커버리지 확인

EF Core 체크포인트(3단계 후): dotnet ef migrations add <Name>을 실행하고 적용 전에 생성된 마이그레이션 파일을 검토하세요. 의도치 않은 테이블/열 삭제가 없는지 확인하십시오. 필요한 경우 dotnet ef migrations remove로 롤백하세요.

참조 가이드

컨텍스트에 따라 상세 지침을 로드하세요:

주제참조 파일로드 시점
Modern C#references/modern-csharp.md레코드, 패턴 매칭, nullable 형식
ASP.NET Corereferences/aspnet-core.mdMinimal API, 미들웨어, DI, 라우팅
Entity Frameworkreferences/entity-framework.mdEF Core, 마이그레이션, 쿼리 최적화
Blazorreferences/blazor.md컴포넌트, 상태 관리, 상호 운용
성능references/performance.mdSpan, async, 메모리 최적화, AOT

제약 사항

반드시 수행해야 할 사항

  • 모든 프로젝트에서 nullable 참조 형식 활성화
  • 파일 범위 네임스페이스와 기본 생성자(C# 12) 사용
  • 모든 I/O 작업에 async/await 적용 — 항상 CancellationToken을 받아 전달:
    // 올바른 예
    app.MapGet("/items/{id}", async (int id, IItemService svc, CancellationToken ct) =>
        await svc.GetByIdAsync(id, ct) is { } item ? Results.Ok(item) : Results.NotFound());
    
  • 모든 서비스에 의존성 주입 사용
  • 공개 API에 XML 문서 포함
  • Result 패턴으로 적절한 오류 처리 구현:
    public readonly record struct Result<T>(T? Value, string? Error, bool IsSuccess)
    {
        public static Result<T> Ok(T value) => new(value, null, true);
        public static Result<T> Fail(string error) => new(default, error, false);
    }
    
  • IOptions<T>로 강력한 형식의 구성 사용

절대 해서는 안 되는 사항

  • 비동기 코드에서 차단 호출(.Result, .Wait()) 사용:
    // 잘못된 예 — 스레드를 차단하고 교착 상태 위험
    var data = service.GetDataAsync().Result;
    
    // 올바른 예
    var data = await service.GetDataAsync(ct);
    
  • 정당한 이유 없이 nullable 경고 비활성화
  • 비동기 메서드에서 취소 토큰 지원 생략
  • API 응답에 EF Core 엔터티를 직접 노출 — 항상 DTO로 매핑
  • 문자열 기반 구성 키 사용
  • 입력 유효성 검사 생략
  • 코드 분석 경고 무시

출력 템플릿

.NET 기능을 구현할 때 다음을 제공하세요:

  1. 도메인 모델 및 DTO
  2. API 엔드포인트(Minimal API 또는 컨트롤러)
  3. 리포지토리/서비스 구현
  4. 구성 설정(Program.cs, appsettings.json)
  5. 아키텍처 결정에 대한 간략한 설명

예제: Minimal API 엔드포인트

// Program.cs (파일 범위, .NET 8 minimal API)
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddScoped<IProductService, ProductService>();

var app = builder.Build();

app.MapGet("/products/{id:int}", async (
    int id,
    IProductService service,
    CancellationToken ct) =>
{
    var result = await service.GetByIdAsync(id, ct);
    return result.IsSuccess ? Results.Ok(result.Value) : Results.NotFound(result.Error);
})
.WithName("GetProduct")
.Produces<ProductDto>()
.ProducesProblem(404);

app.Run();

지식 참조

C# 12, .NET 8, ASP.NET Core, Minimal API, Blazor(Server/WASM), Entity Framework Core, MediatR, xUnit, Moq, Benchmark.NET, SignalR, gRPC, Azure SDK, Polly, FluentValidation, Serilog

깃허브 @jeffallan이 유지 관리하며, Synergetic Solutions의 수석 컨설턴트입니다.

문서

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

관련 스킬