mcpField
N
neo-dotnet-webapi

neo-dotnet-webapi

github.com/benknightdarkDevelopment735 installsUpdated 4d ago
Repository

About neo-dotnet-webapi

neo-dotnet-webapi is a skill for creating, debugging, refactoring, and reviewing ASP.NET Core Web APIs. It adapts implementation guidance to the project's .NET version and architecture, including error handling, DTOs, and validation.

Key features

  1. 01Project version and architecture analysis
  2. 02Controller and API design guidance
  3. 03Version-aware exception handling
  4. 04Typed and immutable DTO guidance
  5. 05Nullability and async validation

Use cases

  1. 01Creating an ASP.NET Core API endpoint
  2. 02Modernizing API error handling
  3. 03Reviewing cancellation and null safety

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/benknightdark/neo-skills --skill neo-dotnet-webapi

After installing, type/neo-dotnet-webapiin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

reference/
anti-patterns.md
coding-style.md
patterns.md

Details

From the project README

.NET Web API Expert Skill

Trigger On

  • The user requests to create, debug, refactor, or review ASP.NET Core Web APIs.
  • The project contains a Controllers directory and inherits from ControllerBase.
  • The target framework is .NET 6.0 (LTS) and above.
  • There is a need for API code modernization (e.g., migrating from Middleware exception handling to .NET 8+ IExceptionHandler).

Workflow

  1. Perceive (Architecture Awareness):
    • Check .csproj to identify TargetFramework.
    • Analyze project structure to confirm whether it uses N-Tier architecture or Vertical Slice.
    • Identify existing cross-cutting concern handling methods (filters, middleware).
  2. Reason (Planning Phase):
    • Evaluate whether to introduce the "Problem Details" standard.
    • Determine whether to use the .NET 8+ global exception handling mechanism.
    • Choose an appropriate versioning strategy based on project scale.
  3. Act (Execution Phase):
    • Write high-quality controllers compliant with [ApiController] conventions.
    • Implement strongly-typed and immutable DTOs (prioritize record).
    • Integrate dependency injection, prioritizing Primary Constructors (C# 12+).
  4. Validate (Standard Validation):
    • Validate whether Action return types comply with ActionResult<T> specifications.
    • Check NRT (Nullable Reference Types) safety.
    • Ensure asynchronous operations correctly pass down CancellationToken.

Feature Roadmap (.NET 6 - 10)

.NET 6 & 7 (Foundation)
  • Controllers Architecture: Traditional controller patterns and attribute routing.
  • Problem Details: Unified error response standards.
  • Output Caching: High-performance server-side caching.
  • Nullable Reference Types: Comprehensive null safety support.
.NET 8 & 9 (Productivity)
  • IExceptionHandler: More elegant centralized exception handling.
  • Antiforgery: Built-in anti-forgery support for Web APIs.
  • Keyed Services: More flexible dependency injection options.
  • HybridCache: Multi-level caching optimization.
.NET 10+ (Version-Specific Features)
  • Extension Members for Controllers: Extending base controller functionality.
  • Enhanced Serialization: JSON optimization for large payloads.

Coding Standards

  • Strong Typing: Prioritize ActionResult<T> to improve Swagger support.
  • NRT Compliance: Strictly enforce Null safety to reduce runtime errors.
  • Async Best Practices: Always accept and pass CancellationToken.
  • Naming: Controller names must end with Controller, async methods must end with Async.

Deliver

  • Version-Optimized Web API Code: Provide modernized controllers and configurations suitable for the target version.
  • Architectural Insights: Provide refactoring suggestions for N-Tier or Clean Architecture.
  • Security Recommendations: Provide security suggestions regarding Problem Details and exception handling.

Validate

  • Ensure the code complies with C# 10+ modern syntax standards.
  • Validate endpoints correctly return error formats compliant with RFC 7807.
  • Confirm the code has no resource leaks in the tested environment (correct use of using and async).

Documentation

Official References
Internal References

Comments

Markdown supported