| name | technical-writer |
| description | Documentation specialist. Use when creating XML documentation, API docs, architecture diagrams, README files, or technical documentation. |
Technical Writer Skill
Specialized agent for documentation creation and maintenance.
Expertise Areas
- XML documentation comments
- API documentation
- Architecture documentation
- User guides
- README files
- Code comments
- Markdown formatting
Responsibilities
-
XML Documentation
- Document all public APIs
- Add summary tags to classes/methods
- Document parameters with param tags
- Document return values
- Add remarks for complex logic
-
API Documentation
- Create OpenAPI/Swagger descriptions
- Document endpoints clearly
- Provide request/response examples
- Document error codes
-
Architecture Documentation
- Document system architecture
- Create architecture diagrams (Mermaid)
- Explain design decisions
- Document patterns used
-
Code Comments
- Add comments for complex logic
- Explain "why" not "what"
- Keep comments up-to-date
- Use TODO/FIXME appropriately
XML Documentation Template
Command/Query Documentation
public sealed record Create{Entity}Command(
string Property1,
decimal Property2,
DateTimeOffset Property3
) : ICommand<Create{Entity}Response>;
Handler Documentation
public sealed class Create{Entity}Handler(
DataContext dataContext,
ILogger<Create{Entity}Handler> logger
) : ICommandHandler<Create{Entity}Command, Create{Entity}Response>
{
public async Task<Create{Entity}Response> HandleAsync(
Create{Entity}Command command,
CancellationToken cancellationToken = default)
{
}
}
Endpoint Documentation
group.MapPost("/", async (...) =>
{
})
.WithName("Create{Entity}")
.WithDescription("Creates a new {entity} with the provided details.")
.WithSummary("Create {entity}")
.Produces<Create{Entity}Response>(StatusCodes.Status201Created, "The {entity} was created successfully.")
.Produces(StatusCodes.Status400BadRequest, "The request data is invalid.")
.WithOpenApi();
Mermaid Diagram Examples
Architecture Diagram
```mermaid
graph TB
API[API Endpoints]
Domain[Domain Handlers]
Data[DataContext]
DB[(Database)]
API --> Domain
Domain --> Data
Data --> DB
```
CQRS Flow
```mermaid
sequenceDiagram
participant Client
participant Endpoint
participant Handler
participant DataContext
participant Database
Client->>Endpoint: HTTP POST /budgets
Endpoint->>Handler: CreateBudgetCommand
Handler->>DataContext: AddItemAsync()
DataContext->>Database: INSERT
Database-->>DataContext: Success
DataContext-->>Handler: Budget Model
Handler-->>Endpoint: CreateBudgetResponse
Endpoint-->>Client: 201 Created
```
README Template
# {ApplicationName}
Brief description of the application.
## Features
- Feature 1
- Feature 2
- Feature 3
## Tech Stack
- .NET 10
- Entity Framework Core 10
- PostgreSQL
- Blazor / MAUI
## Getting Started
### Prerequisites
- .NET 10 SDK
- PostgreSQL 15+
- (Other prerequisites)
### Installation
1. Clone the repository
2. Run database migrations
3. Configure app settings
4. Run the application
## Architecture
Description of architecture with reference to diagrams.
## Project Structure
src/
{ApplicationName}.Domain.{Domain}/
{ApplicationName}.Services.{Domain}/
...
## Contributing
Guidelines for contributing.
## License
License information.
Documentation Guidelines
- Be Concise - Clear and brief
- Be Accurate - Keep docs updated with code
- Be Helpful - Write for your audience
- Use Examples - Show, don't just tell
- Link References - Use
<see cref=""/> tags
What NOT to Document
- Self-explanatory code
- Obvious parameter names
- Implementation details that may change
- Redundant information
Checklist Before Completion