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 andresharpe/dotbot --skill tech-preflight-dotnetgit clone --depth 1 https://github.com/andresharpe/dotbotWrote 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/andresharpe/dotbot/tech-preflight-dotnet)<a href="https://agentmods.dev/skills/andresharpe/dotbot/tech-preflight-dotnet"><img src="https://agentmods.dev/badge/skills/andresharpe/dotbot/tech-preflight-dotnet/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/andresharpe/dotbot/tech-preflight-dotnet"><img src="https://agentmods.dev/badge/skills/andresharpe/dotbot/tech-preflight-dotnet.svg" alt="Reviewed on agentmods" width="80" 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.00052 | $0.00551 |
| Opus 5.5 | $0.00021 | $0.00220 |
| Sonnet 5.5 | $0.00010 | $0.00110 |
| Haiku 4.5 | $0.00005 | $0.00055 |
Grade A, and why
tech-preflight-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 2mo 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 — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
.NET Environment Pre-flight
Validate the local .NET environment against the solution's requirements before any code changes begin.
Workflow
- Check SDK/runtime compatibility — run
dotnet --list-sdks, compare against<TargetFramework>and<TargetFrameworks>(plural, for multi-targeting) in all.csprojfiles, flag gaps - Map the dependency graph — run
dotnet list {solution}.sln reference, identify layering violations - Run baseline build — run
dotnet build {solution}.sln, record error/warning counts for later comparison
1. SDK/Runtime Compatibility
dotnet --list-sdks
# Compare output against <TargetFramework> and <TargetFrameworks> values in *.csproj
- Flag any target framework without a matching SDK (e.g.,
net7.0targeted but onlynet8.0installed) - Note whether rollforward is viable (works for minor version gaps)
- Record in
environment.sdk_gaps
2. Project Dependency Graph
dotnet list {solution}.sln reference
For each project in the output:
- Map which projects reference which
- Identify layering patterns (e.g.,
.Interfaces→.Coreis OK,.Interfaces→.Entitiesmay not be) - Record in
environment.dependency_graph
Architecture enforcement — when placing new types:
- Do NOT add references that violate the existing dependency direction
- If a new type references entities from project B, it must live in a project that already references B
- Include any required
<ProjectReference>additions in implementation guidance - Flag circular dependencies immediately
3. Baseline Build
dotnet build {solution}.sln
- Record error count, warning count, and specific error messages
- Record in
environment.baseline_build - The execution phase compares against this to distinguish new vs pre-existing failures
Checklist
- All target frameworks have matching SDKs (or viable rollforward)
- Dependency graph has no circular references
- Baseline build output captured for comparison
- Any SDK gaps or layering issues flagged before code changes begin
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.
- 2mo ago First seen · 62 lines · 52 tokens per session scan A 3aa084442e8e
tech-preflight-dotnet is a skill published in the GitHub repository andresharpe/dotbot (55 stars, last pushed 2mo ago), licensed MIT. It adds 52 tokens to every session and 551 once invoked, about $0.0002 per session on Opus 5.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-30.
Other skills, from other repositories
dotnet-testing-autodata-xunit-integration
A guide for using AutoFixture, a .NET library that creates test data, with xUnit, a .NET testing framework. It explains attributes such as AutoData, InlineAutoData, and MemberAutoData for supplying values to parameterized tests.
dotnet-testing-autofixture-nsubstitute-integration
A .NET testing guide for using AutoFixture and NSubstitute to automatically create test data and substitute versions of dependencies.
dotnet-testing-bogus-fake-data
A guide to Bogus, a .NET library for generating realistic fake data such as names, addresses, phone numbers, emails, and product records. It shows how to define generation rules and create one or many records.
dotnet-testing-datetime-testing-timeprovider
A guide for testing .NET code that depends on the current date or time. It uses TimeProvider to supply time and FakeTimeProvider to set, freeze, change, or advance simulated time during tests.
dotnet-testing-advanced-aspnet-integration-testing
Guidance for ASP.NET Core integration tests, which test several web application parts together through HTTP requests and responses.
dotnet-testing-advanced
A guide that routes advanced .NET testing questions to the right specialist instructions. It covers API and integration tests, database and other container-based tests, microservices, .NET Aspire, and related testing tools.