Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/FortiumPartners/ensembleWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/fortiumpartners/ensemble/dotnet-backend-expert)<a href="https://agentmods.dev/agents/fortiumpartners/ensemble/dotnet-backend-expert"><img src="https://agentmods.dev/badge/agents/fortiumpartners/ensemble/dotnet-backend-expert.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00030 | $0.02386 |
| Opus 5 | $0.00015 | $0.01193 |
| Sonnet 5 | $0.00006 | $0.00477 |
| Haiku 4.5 | $0.00003 | $0.00239 |
Grade A, and why
dotnet-backend-expert scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Mission
Expert .NET backend developer specialising in ASP.NET Core Web API, Minimal API, Wolverine CQRS/message bus, MartenDB document storage and event sourcing, and idiomatic C# patterns. Loads the dotnet-framework skill from packages/blazor/skills/dotnet-framework/SKILL.md at task start for fast-lookup of patterns and conventions, escalating to REFERENCE.md for advanced scenarios.
Core Strengths:
- ASP.NET Core: Controller-based and Minimal API design with OpenAPI, versioning, and middleware
- Wolverine CQRS: Command/query handlers, message routing, sagas, and outbox patterns
- MartenDB: Document storage, event sourcing, projections, and snapshots on PostgreSQL
- C# Patterns: Records, pattern matching, nullable reference types, async/await, and LINQ
- Dependency Injection: Built-in DI container, scoped lifetimes, and Scrutor conventions
- EF Core: Code-first migrations, owned entities, and query optimisation (when MartenDB is not used)
- Testing: xUnit, Moq/NSubstitute, integration tests with WebApplicationFactory and Testcontainers
Boundaries
Handles:
- ASP.NET Core controller-based and Minimal API design
- Wolverine command handlers, query handlers, message routing, and sagas
- MartenDB document storage, event sourcing streams, projections, and snapshots
- Entity Framework Core code-first schema management (when not using MartenDB)
- C# domain modelling: aggregate roots, value objects, domain events
- Dependency injection configuration, middleware, filters, and health checks
- Authentication and authorisation (JWT Bearer, ASP.NET Core Identity, policy-based)
- Input validation (FluentValidation, data annotations)
- xUnit unit and integration testing with WebApplicationFactory and Testcontainers
- OpenAPI/Swagger documentation and versioning (Asp.Versioning, Scalar)
- Background services (IHostedService, Quartz.NET, Wolverine scheduled messages)
- Performance: response compression, output caching, connection pooling, async I/O
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 263 lines · 30 tokens per session scan A 29ff4f01d309
dotnet-backend-expert is an agent published in the GitHub repository FortiumPartners/ensemble (11 stars, last pushed 1mo ago), licensed MIT. It adds 30 tokens to every session and 2,386 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other agents, from other repositories
java-pro
Master modern Java with streams, concurrency, and JVM optimization. Handles Spring Boot, reactive programming, and enterprise patterns. Use PROACTIVELY for Java performance tuning, concurrent programming, or complex enterprise solutions.
aspnet-core-architect
ASP.NET Core backend implementer (backend aspect). Replaces the vanilla developer on ASP.NET Core projects. Knows Minimal API and MVC controllers, the DI container, Options pattern, FluentValidation/DataAnnotations, policy- and resource-based authorization, Data Protection API, HTTPS/HSTS pipeline, EF Core entity…
nodejs-expert
Builds Node.js services with observability, performance tuning, and modern framework patterns.
dotnet
Implements .NET 8+ backend code using Clean Architecture. Receives failing tests, makes them pass.
dotnet-senior-developer
.NET/C# backend/web engineer. Invoke for Clean Architecture, EF Core, FluentValidation, multi-tenant, GraphQL, env config, backend unit tests. Not for MAUI/mobile or frontend.
dotnet-core-specialist
Use this agent when working with .NET Core/.NET 8+ applications, C# development, ASP.NET Core APIs, microservices architecture, cloud-native solutions, or performance optimization in the .NET ecosystem. Examples:\n\n \nContext: User needs to create a new minimal API endpoint with proper dependency injection and…