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/moberghr/mtk-agent-toolkit/tech-stack-dotnetnpx skills add moberghr/mtk-agent-toolkit --skill tech-stack-dotnetgit clone --depth 1 https://github.com/moberghr/mtk-agent-toolkitWhat 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.00029 | $0.04133 |
| Opus 5 | $0.00015 | $0.02067 |
| Sonnet 5 | $0.00006 | $0.00827 |
| Haiku 4.5 | $0.00003 | $0.00413 |
Grade A, and why
tech-stack-dotnet 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 2d 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 — 306 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tech Stack: .NET
Overview
This tech stack skill provides .NET/C#-specific context for the generic workflow skills (spec-driven-development, incremental-implementation, test-driven-development) and for review agents. It is loaded when .claude/tech-stack contains dotnet.
When To Use
Loaded automatically by commands and skills when the active tech stack is dotnet. Not invoked directly.
Build & Test Commands
- Compile:
dotnet build - Test (batch):
dotnet testordotnet test --filter <project> - Test (full):
dotnet test - Test (list-only): enumerates discovered tests without executing them — the F7/command-verification list variant used to verify
dotnet testis runnable without paying for a full suite run. Conditional on the solution format:.sln:dotnet test <sln> --list-tests.slnx(orglobal.jsonsets"test": {"runner": "Microsoft.Testing.Platform"}):dotnet test --solution <slnx> --list-tests— a baredotnet test <slnx> --list-testsfails with"Specifying a solution for 'dotnet test' should be via '--solution'"under Microsoft.Testing.Platform.
- Format:
dotnet format --verbosity quiet(project-wide). Edited-file formatting is wired viahooks/format-on-edit.sh, which queues paths at PostToolUse and formats them at Stop — both halves must be wired or nothing is formatted.--includetakes paths relative to the workspace directory, so the flush pass groups files by their nearest.csprojand runs from that directory; an absolute--includesilently matches nothing and still exits 0. Do NOT reference$CLAUDE_FILE— it is not a Claude Code env var; hook input arrives via stdin.
File Extensions & Markers
How setup-bootstrap detects this stack in a repository:
| Marker | Confidence |
|---|---|
*.sln or *.slnx |
High |
*.csproj |
High |
global.json |
Medium |
Directory.Build.props |
Medium |
Detection command:
find . \( -name "*.sln" -o -name "*.slnx" -o -name "*.csproj" \) -not -path "*/bin/*" -not -path "*/obj/*" 2>/dev/null | head -5
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.
- 2d ago First seen · 306 lines · 29 tokens per session scan A 462b256e1a41
tech-stack-dotnet is a skill published in the GitHub repository moberghr/mtk-agent-toolkit (6 stars, last pushed 8d ago), licensed MIT. It adds 29 tokens to every session and 4,133 once invoked, about $0.0001 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
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-shared-state
Share structured, evolving state between an AG-UI agent and its client with the AG-UI .NET SDK — the client seeds state on the request, the server reads it, mutates it, and streams the updated state back as snapshots or deltas alongside the chat. USE FOR: sending initial/working state from the client via…
agui-dotnet-sdk-docs
Author, update, and validate the AG-UI .NET SDK documentation pages on the docs.ag-ui.com Mintlify site (under docs/). USE FOR: adding or editing a ".NET SDK" docs page (sdk/dotnet//.mdx), wiring it into the docs.json ".NET" nav group and global anchor, running the docs site locally with mintlify dev…
agui-dotnet-multimodal
Send images and other binary/file content to an AG-UI agent with the AG-UI .NET SDK — attach pictures (or audio, PDFs, etc.) to a user message so a multimodal model can see them. USE FOR: building a user ChatMessage with mixed content parts (TextContent plus DataContent for inline bytes, or UriContent for a hosted…
mgmt-review-comment-resolution
Resolve review comments on Azure management-plane .NET SDK PRs. Handles renaming types/properties, changing property types, and other API surface adjustments by updating TypeSpec client.tsp and regenerating.
mpg-migration
Handles Azure SDK for .NET management-plane migrations from AutoRest/Swagger to TypeSpec; use for MPG, mgmt migration, or Azure.ResourceManager. migration requests.