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 landim32/awesome-ai-skills --skill dotnet-test-apigit clone --depth 1 https://github.com/landim32/awesome-ai-skillsWrote 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/landim32/awesome-ai-skills/dotnet-test-api)<a href="https://agentmods.dev/skills/landim32/awesome-ai-skills/dotnet-test-api"><img src="https://agentmods.dev/badge/skills/landim32/awesome-ai-skills/dotnet-test-api/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/landim32/awesome-ai-skills/dotnet-test-api"><img src="https://agentmods.dev/badge/skills/landim32/awesome-ai-skills/dotnet-test-api.svg" alt="Reviewed on agentmods" width="80" 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.00126 | $0.03876 |
| Opus 5 | $0.00063 | $0.01938 |
| Sonnet 5 | $0.00025 | $0.00775 |
| Haiku 4.5 | $0.00013 | $0.00388 |
Grade A, and why
dotnet-test-api 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 10d 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 — 399 lines — stays where its author put it; the contents beside it link to each section on GitHub.
.NET API Test Project Manager (xUnit + Flurl + FluentAssertions)
You help developers create and maintain a dedicated <Solution>.ApiTests project for external API integration tests, cleanly separate from the unit-test project managed by the dotnet-test skill.
Input
The user describes an intent like:
create API tests for ScratchApi— boot a new<Solution>.ApiTestsfrom scratch.add tests for OrderController— appendControllers/OrderControllerTests.csand growHelpers/TestDataHelper.cson demand.switch auth preset to NAuth— rewrite the fixture using the NAuth preset.run tests against staging— guidance on overriding config via environment variables.
Before generating, classify the intent into one of these four flows.
Pre-conditions
Before producing any file, read:
- The solution file
<Solution>.slnto enumerate projects. - Candidate DTO projects — see
## DTO Project Detectionfor the suffix scan. - Whether
<Solution>.ApiTests/already exists. If yes, never overwrite csproj, fixtures, or existing controller files — only append new ones. - Controller classes under
<Solution>.API/Controllers/(or equivalent) to discover routes,[Authorize]/[AllowAnonymous]attributes, and DTOs used by public endpoints. - The target framework of the solution (default
net8.0; if different, adjust package versions accordingly).
Project Layout Convention
Single project per solution, named <Solution>.ApiTests, sitting at the solution root alongside <Solution>.Tests:
<Solution>/
├── <Solution>.sln
├── <Solution>.Tests/ ← unit tests (managed by `dotnet-test`)
└── <Solution>.ApiTests/ ← this skill
├── <Solution>.ApiTests.csproj
├── appsettings.Test.json ← placeholders for secrets
├── Fixtures/
│ ├── ApiTestFixture.cs
│ └── ApiTestCollection.cs
├── Controllers/
│ └── <Name>ControllerTests.cs ← one per controller, added on demand
└── Helpers/
└── TestDataHelper.cs ← grows per controller
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.
- 10d ago First seen · 399 lines · 126 tokens per session scan A 5065dd33b1d0
dotnet-test-api is a skill published in the GitHub repository landim32/awesome-ai-skills (1 stars, last pushed 2mo ago), licensed MIT. It adds 126 tokens to every session and 3,876 once invoked, about $0.0006 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
playwright-expert
Use when writing E2E tests with Playwright, setting up test infrastructure, or debugging flaky browser tests. Invoke to write test scripts, create page objects, configure test fixtures, set up reporters, add CI integration, implement API mocking, or perform visual regression testing. Trigger terms: Playwright, E2E…
chaos-engineer
Designs chaos experiments, creates failure injection frameworks, and facilitates game day exercises for distributed systems — producing runbooks, experiment manifests, rollback procedures, and post-mortem templates. Use when designing chaos experiments, implementing failure injection frameworks, or conducting game day…
api-tester
A tool for creating and checking API tests from the real API contract and implementation. An API is the agreed way that software sends requests and receives responses.
agent-browser
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
smoke-test
Launch the app and hands-on verify that it works by interacting with it. Falls back to an existing integration test suite when there is no interactive surface in scope. Use when the user asks to "smoke test", "test it manually", "verify it works", "try it out", "run a smoke test", "check it in the browser", or "does…
playwright-cli
Automates browser interactions for testing and validating your own web applications using playwright-cli. Use when you need terminal-first browser control for navigation, form filling, screenshots, tracing, bound browser sessions, debugging, or generating Playwright test code. Only use against applications you own or…