Install any skill in seconds. Free to start, no credit card required.
Get Started Free →dotnet/minimal-api-file-upload
File upload endpoints in ASP.NET minimal APIs (.NET 8+)
Passed 22 of 22 test cases with the skill, and 17 of 22 without it.
and 4 more in the full report
5 fixed17 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 5 test cases the skill fixed. Same model, same prompt, with and without the skill.
We are creating a .NET 8 minimal API endpoint that accepts an uploaded file along with a string description field in the same multipart request. A developer suggested defining `(IFormFile file, string description)` directly in the handler parameter list without any attributes. Show the correct Minimal API handler signature.
| Checked | Without skill | With skill |
|---|---|---|
| The parameter list applies FromForm attribute to the IFormFile parameter | Missed | Passed |
| The parameter list applies FromForm attribute to the string parameter | Passed | Passed |
The instructions your model reads when the skill loads.
[FromForm] IFormFile works directly with attributesMultipartReader instead| Input | Required | Description |
|---|---|---|
| File parameter(s) | Yes | IFormFile or IFormFileCollection |
| Size limits | Yes | Max file/request size |
| Allowed types | No | Content type or extension restrictions |
// In .NET 8+ minimal APIs, IFormFile binds automatically from multipart/form-data
// when it is the only complex parameter.
app.MapPost("/upload", (IFormFile file) => ...);
// CRITICAL: When you mix files with other form fields, use [FromForm] on all
// form-bound parameters (or group them into a single [FromForm] DTO).
app.MapPost("/upload-with-metadata",
([FromForm] IFormFile file, [FromForm] string description) =>
{
return Results.Ok(new { file.FileName, Description = description });
});
// Multiple files: IFormFileCollection also binds automatically from multipart/form-data.
// You only need [FromForm] if you mix it with other form fields, as shown above.
app.MapPost("/upload-multiple", (IFormFileCollection files) =>
test cases passed, vs 17 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.