CtrlK
BlogDocsLog inGet started
Tessl Logo

minimal-api-file-upload

File upload endpoints in ASP.NET minimal APIs (.NET 8+)

59

Quality

67%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/dotnet-aspnetcore/skills/minimal-api-file-upload/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is a strong, highly actionable reference: executable code throughout, well-sequenced CRITICAL steps, and a useful Common Mistakes checklist. Its only weaknesses are mild verbosity in the repeated CRITICAL framing and the absence of an explicit validate→fix→retry loop in the workflow.

DimensionReasoningScore

Conciseness

The body is dense with executable code and tactical inline comments ("CRITICAL: ...", "COMMON MISTAKE: ...") that surface real gotchas rather than padding; it does not explain basic concepts Claude already knows, fitting anchor 4 ("Efficient; minor instances of over-explanation that could be trimmed") — the repeated CRITICAL framing is slightly heavy but earns its place.

4 / 5

Actionability

Every step provides complete, copy-paste-ready C# covering binding, dual size limits, anti-forgery opt-out, magic-byte content validation, and MultipartReader streaming, matching anchor 5 ("Fully executable; copy-paste ready code or commands; specific examples cover the common cases").

5 / 5

Workflow Clarity

Five clearly sequenced numbered steps each labeled CRITICAL, with inline validation (magic-byte checks, content-type match, path-traversal sanitization) and a Common Mistakes recap; it falls at anchor 4 ("Clear sequence with most checkpoints present; minor validation gaps") rather than 5 because validation returns BadRequest without an explicit fix-and-retry feedback loop.

4 / 5

Progressive Disclosure

No bundle files exist (references/scripts/assets absent), and the single-file skill is well-organized with clear headers (When to Use / When Not to Use / Inputs / Workflow / Common Mistakes); at ~235 lines it is cohesive but longer than the under-50-line simple-skill exception, placing it at anchor 4 ("Good structure; most content is appropriately placed; minor organization gaps").

4 / 5

Total

17

/

20

Passed

Description

52%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is distinctive and names its niche precisely, but it lacks concrete action verbs and any explicit "Use when" trigger guidance. It reads as a scope statement rather than a capability + trigger description.

Suggestions

Add a 'Use when...' clause naming the triggers (e.g., 'Use when implementing file uploads in ASP.NET Core minimal APIs, handling IFormFile/IFormFileCollection, or configuring upload size limits and validation').

Include concrete actions in the description (e.g., 'binds, validates, and streams file uploads') to raise specificity from naming the domain to listing capabilities.

Add the key technical trigger term 'IFormFile' so users who name that type land on this skill.

DimensionReasoningScore

Specificity

The description names the domain precisely ("File upload endpoints in ASP.NET minimal APIs (.NET 8+)") but provides no concrete verbs or actions, matching anchor 2 ("Names the domain but actions are minimal or generic"); it does not reach anchor 3, which requires 1-2 concrete actions.

2 / 5

Completeness

It gives a clear "what" (file upload endpoints in ASP.NET minimal APIs) but no "Use when..." trigger clause at all; per the rubric, a missing explicit trigger guidance caps completeness at 3, matching anchor 3 ("Has a clear 'what' but 'when' is missing or only weakly implied").

3 / 5

Trigger Term Quality

It includes natural terms a user might say ("file upload", "ASP.NET minimal APIs", ".NET 8+") but misses common technical variations users actually mention ("IFormFile", "multipart"); anchor 3 ("Some relevant keywords but missing common variations or synonyms") fits better than anchor 4.

3 / 5

Distinctiveness Conflict Risk

The description carves out a clear, narrow niche (file uploads in ASP.NET minimal APIs, .NET 8+) with distinct triggers and minimal overlap risk, matching anchor 5 ("Clear niche with distinct triggers; minimal conflict risk"); it is in third person with no voice penalty.

5 / 5

Total

13

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
dotnet/skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.