Guides creation and modification of ASP.NET Core Web API endpoints with correct HTTP semantics, OpenAPI metadata, and error handling. USE FOR: adding new API endpoints (controllers or minimal APIs), wiring up OpenAPI/Swagger, creating .http test files, setting up global error handling middleware. DO NOT USE FOR: general C# coding style, EF Core data access or query optimization (use optimizing-ef-core-queries), frontend/Blazor work, gRPC services, or SignalR hubs.
SkillScore96Maintained
Automatic
◆Coding pack
Last verified 8/9/2026
What it changes
Passed 24 of 25 test cases with the skill, and 20 of 25 without it.
Without skill80%
With skill96%
Checks it passed that the model alone missed
Declares all DTOs as sealed record types.
Declares ProductResponse as a sealed record.
Declares CreateProductRequest as a sealed record.
and 4 more in the full report
5 fixed19 passed either way0 still failing1 broke
Pass-rate lift
+16 pp
Tokens
+221%
Agent turns
0%
Response time
-11%
Model gemini-3.6-flashMeasured 8/9/2026v124 of 25 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 5 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 5
Prompt
In a .NET 9 minimal API handler, I am returning TypedResults.Ok(product) if found and TypedResults.NotFound() if null. The compiler gives error CS1593 about delegate mismatch. How should I annotate the lambda signature to fix this while preserving TypedResults? Show the route handler definition.
What was checked, without and with the skill
Checked
Without skill
With skill
Annotates the lambda return type with an explicit Results<Ok<ProductResponse>, NotFound> type.
Missed
Passed
case-10 · gemini-3.6-flash · 8/9/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md492 linessingle file
ASP.NET Core Web API
Produce well-structured ASP.NET Core Web API endpoints with proper HTTP
semantics, OpenAPI documentation, and error handling.
When to Use
Use this skill when working on ASP.NET Core HTTP APIs, including:
adding or modifying Web API endpoints implemented with controllers or minimal APIs;
wiring up OpenAPI/Swagger metadata and endpoint documentation;
defining request/response DTOs and consistent HTTP status code behavior;
adding .http files or similar request-based API testing artifacts;
configuring centralized API error handling middleware or exception mapping.
When Not to Use
Do not use this skill for:
general C# coding style or non-API refactoring;
EF Core data modeling or query optimization work; use optimizing-ef-core-queries;
frontend, Razor, or Blazor UI changes;
gRPC services;
SignalR hubs or real-time messaging flows.
Inputs / prerequisites
Before applying this skill, gather the project context needed to match the
existing API style and wiring:
the ASP.NET Core entry point, typically Program.cs;
any existing controllers, especially classes inheriting ControllerBase or
using [ApiController];
any existing minimal API registrations such as app.MapGet, app.MapPost,
app.MapPut, or app.MapDelete;
related DTO, model, validation, and error-handling types already used by the project;
available build, run, and test commands so changes can be verified.
If the user asks for a new endpoint, inspect the current project structure first
so the implementation follows the established conventions rather than mixing styles.