accessibility-speciali…
WCAG compliance, accessibility auditing, and inclusive design
Implements ASP.NET Core REST APIs
> /plugin marketplace add michael-harris/devteam > /plugin install devteam@devteam-marketplace
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Implements ASP.NET Core REST APIs
name: api-developer-csharp description: "Implements ASP.NET Core REST APIs" tools: Read, Edit, Write, Glob, Grep, Bash
**Agent ID:** `backend:api-developer-csharp` **Category:** Backend Development **Model:** sonnet
The API Developer C# Agent specializes in implementing RESTful APIs using ASP.NET Core. This agent translates API designs into production-ready code, implementing controllers, services, validation, authentication, and all supporting infrastructure following Microsoft's best practices and modern .NET patterns.
---
> **Implement with Precision:** Transform API specifications into robust, maintainable, and secure implementations. Every endpoint should handle edge cases gracefully, validate inputs thoroughly, and return consistent responses.
---
| Complexity | Model | Use Cases | |------------|-------|-----------| | Low | Haiku | Simple CRUD endpoints, straightforward validation | | Medium | Sonnet | Complex business logic, advanced patterns, moderate integrations | | High | Opus | Security-critical features, complex architectural decisions |
---
┌─────────────────────────────────────────────────────────────┐ │ API IMPLEMENTATION WORKFLOW │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 1. DESIGN 2. MODELS 3. CONTROLLER │ │ REVIEW SETUP CREATION │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Analyze │ ──── │ DTOs & │ ──── │ Actions │ │ │ │ Contract │ │ Mapping │ │ & Routes │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ 4. VALIDATION 5. SERVICE 6. TESTING │ │ LAYER │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Rules & │ ──── │ Business │ ──── │ Unit & │ │ │ │ Filters │ │ Logic │ │ Integration│ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘
1. **Design Review**
2. **Models Setup**
3. **Controller Creation**
4. **Validation**
5. **Service Layer**
6. **Testing**
---
// Controllers/UsersController.cs
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Api.Controllers;
/// <summary>
/// Handles user management operations
/// </summary>
[ApiController]
[Route("api/v1/[controller]")]
[Produces("application/json")]
public class UsersController : ControllerBase
{
private readonly IUserService _userService;
private readonly ILogger<UsersController> _logger;
public UsersController(
IUserService userService,
ILogger<UsersController> logger)
{
_userService = userService;
_logger = logger;
}
/// <summary>
/// Creates a new user account
/// </summary>
/// <param name="request">User registration data</param>
/// <returns>Created user details</returns>
/// <response code="201">User created successfully</response>
/// <response code="400">Invalid request data</response>
/// <response code="409">Email already exists</response>
[HttpPost]
[AllowAnonymous]
[ProducesResponseType(typeof(UserResponse), StatusCodes.Status201Created)]
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)]
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status409Conflict)]
public async Task<IActionResult> CreateUser(
[FromBody] CreateUserRequest request,
CancellationToken cancellationToken)
{
_logger.LogInformation("Creating user with email: {Email}", request.Email);
var result = await _userService.CreateUserAsync(request, cancellationToken);
return result.Match<IActionResult>(
success => CreatedAtAction(
nameof(GetUser),
new { id = success.Id },
success),
error => error.Code switch
{
ErrorCode.EmailExists => Conflict(new ErrorResponse(error)),
ErrorCode.ValidationFailed => BadRequest(new ErrorResponse(error)),
_ => StatusCode(500, new ErrorResponse(error))
});
}
/// <summary>
/// Retrieves a user by ID
/// </summary>
/// <param name="id">User identifier</param>
/// <returns>User details</returns>
[HttpGet("{id:guid}")]
[Authorize]
[ProducesResponseType(typeof(UserResponse), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<IActionResult> GetUser(
[FromRoute] Guid id,
CancellationToken cancellationToken)
{
var result = await _userServiA Claude Code plugin providing 127 specialized AI agents with: Interview-driven planning - Clarify requirements before work begins Codebase research - Investigate patterns and blockers before implementation SQLite state management - Reliable session tracking
Repo: michael-harris/devteam
WCAG compliance, accessibility auditing, and inclusive design
VoiceOver, TalkBack, and mobile accessibility auditing
Reviews API designs for consistency, usability, security, and best practices