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/dgambhir01/ado-testcraft/setupnpx skills add dgambhir01/ado-testcraft --skill setupgit clone --depth 1 https://github.com/dgambhir01/ado-testcraftWrote 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/dgambhir01/ado-testcraft/setup)<a href="https://agentmods.dev/skills/dgambhir01/ado-testcraft/setup"><img src="https://agentmods.dev/badge/skills/dgambhir01/ado-testcraft/setup.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.1 | $0.00045 | $0.01070 |
| Opus 5 | $0.00023 | $0.00535 |
| Sonnet 5 | $0.00009 | $0.00214 |
| Haiku 4.5 | $0.00005 | $0.00107 |
Grade A, and why
setup 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 — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Set Up ado-testcraft Credentials
Instructions
Detect the user's platform, check whether credentials are already set, then output the exact terminal commands they need to paste. Never ask the user to type their PAT into the chat — always use placeholders they replace in the terminal.
Step 1 — Detect operating system
Run $env:OS via PowerShell.
- Returns
Windows_NT→ Windows. Proceed to the Windows block in Step 3. - Returns empty or errors → macOS or Linux. Run
unamevia Bash.- Returns
Darwin→ macOS - Returns
Linux→ Linux
- Returns
Step 2 — Check current credential state
Read the three variables with the platform-appropriate shell:
Windows (PowerShell):
"ADO_ORG=$($env:ADO_ORG)"; "ADO_PROJECT=$($env:ADO_PROJECT)"; if ($env:ADO_PAT) { "ADO_PAT=[set]" } else { "ADO_PAT=[not set]" }
macOS / Linux (Bash):
echo "ADO_ORG=${ADO_ORG}"; echo "ADO_PROJECT=${ADO_PROJECT}"; [ -n "$ADO_PAT" ] && echo "ADO_PAT=[set]" || echo "ADO_PAT=[not set]"
Show the user a clear credential status summary, masking the PAT:
Current credential state:
ADO_ORG: [value, or ⚠️ not set]ADO_PROJECT: [value, or ⚠️ not set]ADO_PAT: [✅ set, or ⚠️ not set]
If all three are already set, say:
✅ All credentials are configured. Test with
/ado-testcraft:generate <story-id>. To update any value, paste the replacement commands below into a terminal and restart Claude Code.
Then still show the setup commands in Step 3 for reference and to support credential updates.
Step 3 — Output platform-specific setup commands
Windows
Tell the user to open PowerShell (not Command Prompt) and paste these commands, replacing the placeholder values:
[System.Environment]::SetEnvironmentVariable("ADO_ORG", "your-org-name", "User")
[System.Environment]::SetEnvironmentVariable("ADO_PROJECT", "your-project-name", "User")
[System.Environment]::SetEnvironmentVariable("ADO_PAT", "your-pat-here", "User")
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 · 110 lines · 45 tokens per session scan A b94462e9129c
setup is a skill published in the GitHub repository dgambhir01/ado-testcraft (1 stars, last pushed 2mo ago), licensed MIT. It adds 45 tokens to every session and 1,070 once invoked, about $0.0002 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
refactoring-the-assembled-ui
Edit, split or share the CSS and JavaScript under plugins/audit/scripts/ui/ — files Python concatenates into one inline and one inline carrying code, in a self-contained page opened over file://. Covers the assembly contract and the byte-level pins in plugins/audit/tests/ that guard it, why the split must be an…
choosing-what-to-optimize
Decide what is worth making faster in this repo, and prove it paid — measure the thing instead of grepping for it, separate wall clock from total CPU from the critical path, rank targets by shape rather than by how many modules import them, and decline the work with a number when the number says so. Use this whenever…
running-resumable-sync-jobs
Design and review long-running batch or sync jobs that process many items against a remote API and persist checkpoint state — exit codes that report partial failure, checkpoints that are safe to resume, per-item tolerance vs. fatal abort, telling "zero" apart from "couldn't fetch", bounded retries, and honest…
verifying-external-behavior
Confirms what a third-party library, remote API, build backend, or scraped document actually does before writing code that depends on it — throwaway probes that run in seconds, permissive clients that forward wrong arguments instead of rejecting them, per-endpoint docs that don't generalize, response shapes that make…
writing-javascript
How browser JavaScript is written in this repo — both surfaces now speak one modern dialect and this says what that means for the code you type, where ES modules are impossible and where they are merely unused, and how to pick a feature (Baseline plus a file:// gate). Covers functional idiom over imperative DOM work…
reproducing-ci-locally
Run the CI gate on your machine so it agrees with the runner — deriving the exact command, paths, markers, and env from the workflow file instead of the Makefile, unblocking gate steps that short-circuit and hide the next failure, pinning the linter version CI resolves, and confirming the run is green instead of…