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 Karzone/TestAtlas --skill indexgit clone --depth 1 https://github.com/Karzone/TestAtlasWrote 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/karzone/testatlas/index)<a href="https://agentmods.dev/skills/karzone/testatlas/index"><img src="https://agentmods.dev/badge/skills/karzone/testatlas/index/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/karzone/testatlas/index"><img src="https://agentmods.dev/badge/skills/karzone/testatlas/index.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.00056 | $0.00565 |
| Opus 5.5 | $0.00022 | $0.00226 |
| Sonnet 5.5 | $0.00011 | $0.00113 |
| Haiku 4.5 | $0.00006 | $0.00056 |
Grade A, and why
index 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 13d 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.
What it actually says
Build the TestAtlas map
The map is one SQLite file, codemap.db, at the project root. Building it is a syntax-only pass:
no restore, no compilation, no network, seconds on most solutions.
-
Check the tools are there:
command -v testatlas testatlas-mcp(PowerShell:Get-Command testatlas, testatlas-mcp). If either is missing, offer these first and run them when the person agrees (they need the .NET 8 SDK or later and reach only nuget.org):dotnet tool install --global TestAtlas.Clidotnet tool install --global TestAtlas.Mcp -
Find the solution file. If there is exactly one
*.slnat the project root, use it. If there are several, ask which one; do not guess. -
From the project root run:
testatlas index <Solution>.sln --output codemap.dbThe summary line reports projects, classes, methods, step definitions, features, scenarios and any diagnostics. Diagnostics are files the indexer could not parse; report them, they are not fatal.
-
Check the server sees the new map: call the
statstool. TestAtlas.Mcp 0.1.12 and later looks for the map on every call and re-reads a rebuilt one, so this answers with the counts just printed. If it still answers "no map loaded", look at whether the message names a directory:- It names no directory: the server is 0.1.11 or older and read the map only at startup.
/mcp→ reconnecttestatlas(or restart the session) loads the map now; offerdotnet tool update --global TestAtlas.Mcpso it does not happen again. - It names a directory other than this project root: the server was started somewhere else, and the map must be built there or passed to it by path.
- It names no directory: the server is 0.1.11 or older and read the map only at startup.
-
Offer the HTML drill-down of what was just indexed:
/testatlas:report.
Do not commit codemap.db unless the repository already tracks one; it is a build artefact and
the repo's .gitignore usually excludes *.db.
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.
- 13d ago Changed · +11 lines 2f1b0b7d631a
- 20d ago First seen · 35 lines · 56 tokens per session scan A c48efc47ecf7
index is a skill published in the GitHub repository Karzone/TestAtlas (3 stars, last pushed 6d ago), licensed MIT. It adds 56 tokens to every session and 565 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-09-27.
Other skills, from other repositories
build-and-test
How to build and test .NET projects in the Agent Framework repository. Use this when verifying or testing changes.
verify-dotnet-samples
How to build, run and verify the .NET sample projects in the Agent Framework repository. Use this when a user wants to verify that the samples still function as expected.
author-test
Generate a test given sample. Parameters: C# SDK repository root; Package name: one of Azure.AI.Projects, Azure.AI.Projects.Agents or Azure.AI.Extensions.OpenAI; the sample to use as a starting point for the test.
migrate-mstest-v3-to-v4
Use this skill before answering, planning, or editing any MSTest 3.x-to-4.x upgrade or post-upgrade failure. Triggers include "MSTest v4 breaking changes"; CS0507/CS0103/CS1061/CS1615; ExecuteAsync, CallerInfo, DisplayName, or custom TestMethodAttribute; ClassCleanupBehavior; ContainsKey; ThrowsExactly or…
ci
Configure Ginkgo for continuous integration — the recommended CLI flag set and the rationale for each flag (-r -p --randomize-all --randomize-suites --fail-on-pending --fail-on-empty --keep-going --cover --race --trace --json-report --timeout --poll-progress-after/-interval), invoking via go run to pin the CLI to…
debugging-failures
Diagnose a failing Ginkgo suite as an agent — always run with --json-report into a predictable temp/gitignored location, read the terminal verdict line, then use jq to extract structured failure details (name, message, file:line, panic value, captured logs). Covers the panicked-vs-failed trap, panic locations pointing…