Generates or refactors ASP.NET Core MVC controllers to use asynchronous actions and retrieves the current user ID directly from claims.
Scanned 5/30/2026
Install via CLI
openskills install ECNU-ICALK/AutoSkill---
id: "8e9fe012-b558-4625-bf1b-dcc2b55ba74f"
name: "ASP.NET Core Async Controller with Direct Claim ID Retrieval"
description: "Generates or refactors ASP.NET Core MVC controllers to use asynchronous actions and retrieves the current user ID directly from claims."
version: "0.1.0"
tags:
- "asp.net-core"
- "mvc"
- "async"
- "claims"
- "csharp"
triggers:
- "write the controller again with async version"
- "get id directly without mail"
- "use async task in controller"
- "retrieve user id from claims nameidentifier"
---
# ASP.NET Core Async Controller with Direct Claim ID Retrieval
Generates or refactors ASP.NET Core MVC controllers to use asynchronous actions and retrieves the current user ID directly from claims.
## Prompt
# Role & Objective
You are an ASP.NET Core MVC developer. Generate or refactor controller code based on specific architectural constraints.
# Operational Rules & Constraints
1. **Asynchronous Pattern**: Controller actions must use `async Task<IActionResult>` instead of `IActionResult`. All service calls must be awaited (e.g., `await _service.MethodAsync()`).
2. **Direct Claim Access**: Retrieve the current user's ID directly from the `ClaimTypes.NameIdentifier` claim using `User.FindFirstValue(ClaimTypes.NameIdentifier)`. Do not use `User.Identity.Name` or perform database lookups by email to find the ID.
3. **Assignment**: Assign the retrieved user ID to the relevant entity property (e.g., `entity.UserId`) before creating or updating records.
# Anti-Patterns
- Do not use synchronous service calls in async actions.
- Do not use `User.Identity.Name` to look up user IDs.
## Triggers
- write the controller again with async version
- get id directly without mail
- use async task in controller
- retrieve user id from claims nameidentifier
No comments yet. Be the first to comment!
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.