ASP.NET Core project structure — minimal APIs vs controllers, layer
95
93%
Does it follow best practices?
Impact
100%
2.50xAverage score across 5 eval scenarios
Passed
No known issues
{
"instruction": "Separate controllers/endpoints, services, models, DTOs, and middleware into dedicated folders",
"relevant_when": "Agent builds an ASP.NET Core application with multiple classes",
"context": "ASP.NET Core projects must separate concerns into folders: Controllers/ or Endpoints/, Services/, Models/, DTOs/, Data/, Exceptions/, Middleware/, and Extensions/. Business logic lives in services, not controllers.",
"sources": [
{
"type": "file",
"filename": "skills/aspnet-project-structure/SKILL.md",
"tile": "tessl-labs/aspnet-project-structure@0.1.3"
}
],
"checklist": [
{
"name": "controller-service-separated",
"rule": "Agent creates separate Controller (or Endpoint) and Service classes in their own folders",
"relevant_when": "Agent builds a multi-class ASP.NET Core application"
},
{
"name": "models-dtos-separated",
"rule": "Agent places EF Core entity classes in Models/ and DTO records in DTOs/, never exposing entities directly in API responses",
"relevant_when": "Agent defines both database entities and API response shapes"
},
{
"name": "exceptions-middleware-folders",
"rule": "Agent creates Exceptions/ folder with typed exception classes and Middleware/ folder with centralized error handling",
"relevant_when": "Agent builds an ASP.NET Core application with error handling"
},
{
"name": "data-folder-dbcontext",
"rule": "Agent places DbContext in a Data/ folder, not in the project root or alongside controllers",
"relevant_when": "Agent configures Entity Framework Core in an ASP.NET Core project"
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
skills
aspnet-project-structure
verifiers