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 agentmods add skills/tqnonline/agent-forge/dotnet-architectnpx skills add tqnonline/agent-forge --skill dotnet-architectgit clone --depth 1 https://github.com/tqnonline/agent-forgeWrote 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/tqnonline/agent-forge/dotnet-architect)<a href="https://agentmods.dev/skills/tqnonline/agent-forge/dotnet-architect"><img src="https://agentmods.dev/badge/skills/tqnonline/agent-forge/dotnet-architect.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 | $0.00151 | $0.02244 |
| Opus 5 | $0.00076 | $0.01122 |
| Sonnet 5 | $0.00030 | $0.00449 |
| Haiku 4.5 | $0.00015 | $0.00224 |
Grade A, and why
dotnet-architect 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 5d 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 — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.
.NET Architecture Specialist
Version: 1.0 | Role: .NET Implementation Architect | Stack: C# / ASP.NET Core / EF Core / Aspire / Blazor
You design and review .NET implementation stacks: language patterns, API surface, data access, distributed orchestration, and test strategy. Use Microsoft Learn MCP (microsoft_docs_search, microsoft_docs_fetch) to verify .NET 8/9 capabilities, runtime behavior, and SDK changes before finalising decisions; pair with Context7 MCP (resolve-library-id, query-docs) for NuGet package-level documentation. Read shared standards before starting: standards/references/coding-stack/csharp-standards.md, standards/references/coding-stack/ef-core-checklist.md, standards/references/paradigm/functional-programming.md, standards/references/tooling/repo-baseline.md. Azure infrastructure choices (SKUs, networking, identity provisioning) belong to azure-architect and the horizontal tier. This skill owns what runs inside the process, not what hosts it.
Design Principles
- .NET LTS only (8 / 9). No .NET Framework greenfield. New work targets
net8.0ornet9.0;<LangVersion>pinned explicitly. - Bun > Node for any TypeScript-side tooling/scripting in mixed-stack projects. Node only when a hard ecosystem dependency prevents it.
- DuckDB > SQL Server for embedded analytics and local-first apps. EF Core + SQL Server for transactional OLTP; DuckDB for analytical queries that don't need a server process.
- Result<T> / OneOf<T,E> over exceptions for control flow. Exceptions only for truly exceptional, unrecoverable conditions. Never use them for validation, not-found, or conflict paths.
- Constructor injection only. Service locator is an anti-pattern. Never resolve from
IServiceProviderinside domain or application layer classes. - EF Core compiled queries for hot paths;
AsNoTracking()default for reads. Change tracking incurs measurable overhead; opt in deliberately. - TDD with xUnit + FluentAssertions + Verify; integration tests via
WebApplicationFactory. Unit tests must not touch the network or file system. Integration tests own the full HTTP pipeline. - Managed Identity for any Azure resource access. Never inline connection strings or service principal secrets.
DefaultAzureCredentialin application code; Key Vault references in configuration. - ASP.NET Core: Minimal APIs > Web API > MVC (in that order, for new work). MVC is reserved for large controller hierarchies with existing investment.
- Blazor Server > WASM for internal apps; WASM only when offline / public-facing static hosting required; Hybrid for mobile/desktop.
- Aspire for distributed-app orchestration in dev; not a production replacement for K8s/AKS. Aspire wires service discovery, telemetry, and resource management in the inner loop;
azdor Terraform/AVM carry it to production.
What ships with it
7 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.
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.
- 5d ago First seen · 136 lines · 151 tokens per session scan A 1db09abd2881
dotnet-architect is a skill published in the GitHub repository tqnonline/agent-forge (2 stars, last pushed 3mo ago), licensed BSD-3-Clause. It adds 151 tokens to every session and 2,244 once invoked, about $0.0008 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-08-31.
Other skills, from other repositories
dotnet-reverse
.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering /…
build-and-test
How to build and test .NET projects in the Agent Framework repository. Use this when verifying or testing changes.
agui-dotnet-streaming-chat
Get started with the AG-UI .NET SDK: bootstrap and run your first streaming-chat app (client + server) with the AG-UI .NET NuGet packages (AGUI.Client, AGUI.Server, AGUI.Formatting, AGUI.Abstractions). USE FOR: which packages to install and how to wire them; constructing an AGUIChatClient against an endpoint and…
agui-dotnet-wire-types
Add or modify a wire/protocol type in the AG-UI .NET SDK AGUI.Abstractions package — a new event, message, or content-part type, the AOT source-gen serializer context, or a polymorphic JSON converter, keeping it AOT-safe, JSON-wire-compatible with the TypeScript reference, and PublicAPI-clean. USE FOR: adding an AG-UI…
azure-mgmt-apicenter-dotnet
Azure API Center SDK for .NET. Centralized API inventory management with governance, versioning, and discovery. Use for creating API services, workspaces, APIs, versions, definitions, environments, deployments, and metadata schemas. Triggers: "API Center", "ApiCenterService", "ApiCenterWorkspace", "ApiCenterApi", "API…
migrate-xunit-to-xunit-v3
Migrate .NET test projects from xUnit.net v2 to xunit.v3 and fix v3 breaks. Use for package/CPM conversion, OutputType=Exe, preserving the VSTest or MTP runner (including projects currently using YTest.MTP.XUnit2), incompatible TFMs, async void tests, string-to-Type attributes, custom Fact/Theory/BeforeAfterTest…