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.
npx skills add vasilyu1983/AI-Agents-public --skill software-csharp-backendgit clone --depth 1 https://github.com/vasilyu1983/AI-Agents-publicWrote 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/skills/vasilyu1983/ai-agents-public/software-csharp-backend)<a href="https://agentmods.dev/skills/vasilyu1983/ai-agents-public/software-csharp-backend"><img src="https://agentmods.dev/badge/skills/vasilyu1983/ai-agents-public/software-csharp-backend.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.00034 | $0.03435 |
| Opus 5 | $0.00017 | $0.01717 |
| Sonnet 5 | $0.00007 | $0.00687 |
| Haiku 4.5 | $0.00003 | $0.00344 |
Grade A, and why
software-csharp-backend 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 4d 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 — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.
C# Backend Engineering
Quick Reference
| Decision | Default | Notes |
|---|---|---|
| Runtime | .NET 10 + C# 14 (LTS, GA Nov 2025, supported through ~Nov 2028) | .NET 8 LTS ends Nov 10, 2026 — verify current dates at dotnet support policy; treat continued .NET 8 targeting as a tracked migration, not a comfortable steady state |
| API style | Minimal API for new endpoints | Controllers for large CQRS surface with many filters/action results |
| Persistence (SQL, write-heavy) | EF Core | Use Dapper when query shapes are complex and hand-tuned SQL wins |
| Persistence (SQL, query-heavy) | Dapper | Pair with EF Core for write path if aggregates exist |
| Persistence (document) | MongoDB driver | Use when schema variability is genuine, not habitual |
| Background worker | IHostedService / BackgroundService |
Add lease, graceful shutdown, and poison-message handling from day one |
| Resilience | Microsoft.Extensions.Resilience (Polly v8) |
Standard pipeline: retry → circuit breaker → timeout |
| OpenAPI | Built-in ASP.NET Core OpenAPI (Microsoft.AspNetCore.OpenApi) |
Do not add Swashbuckle unless repo already uses it |
Route other tasks:
- NUnit fixture design, WireMock/Testcontainers setup, or flake reduction →
$qa-testing-nunit nuke/Build.cs, CI target sequencing, or artifact publication →$ops-nuke-cicd- Legacy
ILoggeror Serilog rewrite automation →$dev-structured-logs
When to Use This Skill
- Building or reviewing C# / .NET backend services
- Choosing between ASP.NET Core API styles (controller, minimal API, background worker)
- Implementing data access with EF Core, Dapper, or MongoDB
- Adding resilience, observability, or security baselines to .NET services
- Refactoring .NET backend code or detecting common anti-patterns
When NOT to Use This Skill
- General backend patterns (Node.js, Python, Go, Rust) → software-backend
- NUnit fixture design and test infrastructure → qa-testing-nunit
- NUKE pipeline targets and CI/CD → ops-nuke-cicd
- ILogger/Serilog migration automation →
dev-structured-logs - System architecture beyond a single service → software-architecture-design
- Security audits and threat modeling → software-security-appsec
What ships with it
29 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 288 B
- assets/api-host-template.cs 2.7 KB
- assets/dapper-query-handler-template.cs 1.9 KB
- assets/mongo-repository-template.cs 2.3 KB
- assets/options-configuration-template.cs 1.8 KB
- assets/pull-request-checklist-template.md 1.7 KB
- assets/resilient-http-client-template.cs 3.7 KB
- assets/service-class-template.cs 2.1 KB
- assets/test-data-builder-template.cs 758 B
- assets/test-fixture-template-nunit.cs 2.4 KB
- data/sources.json 8.4 KB
- learnings.consolidated.md 599 B
- learnings.md 389 B
- references/aspnet-core-api-patterns.md 3.5 KB
- references/backend-architecture-principles.md 1.5 KB
- references/code-review-checklist.md 2.1 KB
- references/csharp-language-practices.md 2.7 KB
- references/data-access-patterns.md 2.8 KB
- references/dotnet-coding-standards.md 3.5 KB
- references/efcore-persistence-patterns.md 3.2 KB
- references/modular-architecture-principles.md 1.9 KB
- references/observability-standards.md 1.7 KB
- references/reliability-and-resilience.md 3.9 KB
- references/resilience-policy-defaults.md 1.9 KB
- references/runtime-ops-checklist.md 2.2 KB
- references/scenario-guides.md 1.9 KB
- references/security-baseline.md 1.5 KB
- references/testing-practices.md 2.4 KB
- references/version-compatibility-notes.md 6.0 KB
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.
- 4d ago First seen · 215 lines · 34 tokens per session scan A fdefea813e3d
software-csharp-backend is a skill published in the GitHub repository vasilyu1983/AI-Agents-public (86 stars, last pushed 5d ago), licensed MIT. It adds 34 tokens to every session and 3,435 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 skills, from other repositories
fastapi-templates
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
csharp-patterns
C#/.NET: LINQ, async/await, DI, records, nullable refs, ASP.NET Core, EF Core, MediatR. Triggers: C#, .NET, dotnet, ASP.NET, EF Core, LINQ, record type, IServiceCollection.
csharp-expert
Expert-level C# development with .NET 8+, ASP.NET Core, LINQ, async/await, and enterprise patterns. Use when the user mentions C#, .NET, ASP.NET, enterprise, or Microsoft platforms, or when the task involves Modern C#, Async/Await, LINQ, or ASP.NET Core.
aspnet-core
ASP.NET Core 8+ with controllers, services, DI, configuration, and middleware pipeline. Covers Program.cs setup and enterprise patterns. USE WHEN: user mentions "ASP.NET Core", "Web API", ".NET controllers", "Program.cs", "dependency injection", ".NET DI", ".NET configuration", "appsettings" DO NOT USE FOR: Minimal…
aspnet-middleware
ASP.NET Core custom middleware, pipeline order, exception handling middleware, and request/response manipulation. USE WHEN: user mentions "middleware", "request pipeline", "exception middleware", "ASP.NET middleware", "UseMiddleware", "pipeline order" DO NOT USE FOR: Express middleware - use express, NestJS middleware…
aspnet-signalr
ASP.NET Core SignalR for real-time hubs, clients, groups, and streaming. Covers strongly-typed hubs and hub filters. USE WHEN: user mentions "SignalR", "real-time", "WebSocket", "hubs", "real-time notifications", ".NET WebSocket", "push notifications" DO NOT USE FOR: Spring WebSocket - use spring-websocket, Socket.IO…