{"id":"84f8d4c7-0539-47c4-8405-625004c53158","shortId":"ZC6uLN","kind":"skill","title":"aspnet-minimal-api-openapi","tagline":"Create ASP.NET Minimal API endpoints with proper OpenAPI documentation","description":"# ASP.NET Minimal API with OpenAPI\n\nYour goal is to help me create well-structured ASP.NET Minimal API endpoints with correct types and comprehensive OpenAPI/Swagger documentation.\n\n## API Organization\n\n- Group related endpoints using `MapGroup()` extension\n- Use endpoint filters for cross-cutting concerns\n- Structure larger APIs with separate endpoint classes\n- Consider using a feature-based folder structure for complex APIs\n\n## Request and Response Types\n\n- Define explicit request and response DTOs/models\n- Create clear model classes with proper validation attributes\n- Use record types for immutable request/response objects\n- Use meaningful property names that align with API design standards\n- Apply `[Required]` and other validation attributes to enforce constraints\n- Use the ProblemDetailsService and StatusCodePages to get standard error responses\n\n## Type Handling\n\n- Use strongly-typed route parameters with explicit type binding\n- Use `Results<T1, T2>` to represent multiple response types\n- Return `TypedResults` instead of `Results` for strongly-typed responses\n- Leverage C# 10+ features like nullable annotations and init-only properties\n\n## OpenAPI Documentation\n\n- Use the built-in OpenAPI document support added in .NET 9\n- Define operation summary and description\n- Add operationIds using the `WithName` extension method\n- Add descriptions to properties and parameters with `[Description()]`\n- Set proper content types for requests and responses\n- Use document transformers to add elements like servers, tags, and security schemes\n- Use schema transformers to apply customizations to OpenAPI schemas","tags":["aspnet","minimal","api","openapi","awesome","copilot","github","agent-skills","agents","custom-agents","github-copilot","hacktoberfest"],"capabilities":["skill","source-github","skill-aspnet-minimal-api-openapi","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/aspnet-minimal-api-openapi","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (1,625 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:05.299Z","embedding":null,"createdAt":"2026-04-18T20:25:57.107Z","updatedAt":"2026-05-18T18:52:05.299Z","lastSeenAt":"2026-05-18T18:52:05.299Z","tsv":"'10':162 '9':185 'ad':182 'add':191,198,218 'align':105 'annot':166 'api':4,9,17,32,41,59,74,107 'appli':110,230 'asp.net':7,15,30 'aspnet':2 'aspnet-minimal-api-openapi':1 'attribut':92,115 'base':69 'bind':140 'built':177 'built-in':176 'c':161 'class':63,88 'clear':86 'complex':73 'comprehens':38 'concern':56 'consid':64 'constraint':118 'content':208 'correct':35 'creat':6,26,85 'cross':54 'cross-cut':53 'custom':231 'cut':55 'defin':79,186 'descript':190,199,205 'design':108 'document':14,40,173,180,215 'dtos/models':84 'element':219 'endpoint':10,33,45,50,62 'enforc':117 'error':127 'explicit':80,138 'extens':48,196 'featur':68,163 'feature-bas':67 'filter':51 'folder':70 'get':125 'goal':21 'group':43 'handl':130 'help':24 'immut':97 'init':169 'init-on':168 'instead':152 'larger':58 'leverag':160 'like':164,220 'mapgroup':47 'meaning':101 'method':197 'minim':3,8,16,31 'model':87 'multipl':147 'name':103 'net':184 'nullabl':165 'object':99 'openapi':5,13,19,172,179,233 'openapi/swagger':39 'oper':187 'operationid':192 'organ':42 'paramet':136,203 'problemdetailsservic':121 'proper':12,90,207 'properti':102,171,201 'record':94 'relat':44 'repres':146 'request':75,81,211 'request/response':98 'requir':111 'respons':77,83,128,148,159,213 'result':142,154 'return':150 'rout':135 'schema':227,234 'scheme':225 'secur':224 'separ':61 'server':221 'set':206 'skill' 'skill-aspnet-minimal-api-openapi' 'source-github' 'standard':109,126 'statuscodepag':123 'strong':133,157 'strongly-typ':132,156 'structur':29,57,71 'summari':188 'support':181 't1':143 't2':144 'tag':222 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'transform':216,228 'type':36,78,95,129,134,139,149,158,209 'typedresult':151 'use':46,49,65,93,100,119,131,141,174,193,214,226 'valid':91,114 'well':28 'well-structur':27 'withnam':195","prices":[{"id":"1907d6b9-13e3-4179-b994-2e4236f0f5f6","listingId":"84f8d4c7-0539-47c4-8405-625004c53158","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:25:57.107Z"}],"sources":[{"listingId":"84f8d4c7-0539-47c4-8405-625004c53158","source":"github","sourceId":"github/awesome-copilot/aspnet-minimal-api-openapi","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/aspnet-minimal-api-openapi","isPrimary":false,"firstSeenAt":"2026-04-18T21:48:19.334Z","lastSeenAt":"2026-05-18T18:52:05.299Z"},{"listingId":"84f8d4c7-0539-47c4-8405-625004c53158","source":"skills_sh","sourceId":"github/awesome-copilot/aspnet-minimal-api-openapi","sourceUrl":"https://skills.sh/github/awesome-copilot/aspnet-minimal-api-openapi","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:57.107Z","lastSeenAt":"2026-05-07T22:40:18.284Z"}],"details":{"listingId":"84f8d4c7-0539-47c4-8405-625004c53158","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"aspnet-minimal-api-openapi","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"aae320d6e0acf08b9d5bb2ac9a283a6da63b0373","skill_md_path":"skills/aspnet-minimal-api-openapi/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/aspnet-minimal-api-openapi"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"aspnet-minimal-api-openapi","description":"Create ASP.NET Minimal API endpoints with proper OpenAPI documentation"},"skills_sh_url":"https://skills.sh/github/awesome-copilot/aspnet-minimal-api-openapi"},"updatedAt":"2026-05-18T18:52:05.299Z"}}