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 jaktestowac/awesome-copilot-for-testers --skill analyzing-quality-metricsgit clone --depth 1 https://github.com/jaktestowac/awesome-copilot-for-testersWrote 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/jaktestowac/awesome-copilot-for-testers/analyzing-quality-metrics)<a href="https://agentmods.dev/skills/jaktestowac/awesome-copilot-for-testers/analyzing-quality-metrics"><img src="https://agentmods.dev/badge/skills/jaktestowac/awesome-copilot-for-testers/analyzing-quality-metrics/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/jaktestowac/awesome-copilot-for-testers/analyzing-quality-metrics"><img src="https://agentmods.dev/badge/skills/jaktestowac/awesome-copilot-for-testers/analyzing-quality-metrics.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.00080 | $0.01908 |
| Opus 5 | $0.00040 | $0.00954 |
| Sonnet 5 | $0.00016 | $0.00382 |
| Haiku 4.5 | $0.00008 | $0.00191 |
Grade A, and why
analyzing-quality-metrics 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 11d 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 — 165 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Analyzing Quality Metrics
Use this skill when someone needs numbers about testing and quality, and the numbers need to survive being acted on.
Every quality metric is a proxy. Coverage proxies for thoroughness, bug count proxies for code health, pass rate proxies for confidence. Proxies are useful until they become targets, at which point they get optimized directly and stop measuring anything. The job here is to pick proxies that resist that, define them precisely enough to be computed the same way twice, and always report the decision the number is meant to inform.
When to Use
- a stakeholder asks for a QA dashboard or a testing status report
- a coverage percentage is being used as a quality gate
- flakiness is being discussed with no measurement behind it
- suite runtime is growing and nobody can say by how much
- release quality needs comparing across releases
- a metric has become a target and the behaviour around it has gone strange
Operating Principles
- Every metric names the decision it supports. A number nobody acts on is a number nobody should collect.
- Define before you measure. "Flaky test" and "escaped defect" mean different things to different people; a metric computed two ways is two metrics.
- Trend over snapshot. A single value is noise. Direction over several releases is signal.
- Pair every metric with its counterweight. Speed with escape rate, coverage with mutation survival, pass rate with flake rate. A metric reported alone gets gamed alone.
- Rates, not counts. Ten defects means nothing without the denominator: per release, per thousand changed lines, per user.
- State the caveat with the number. Coverage without "this measures execution, not assertion" is a misleading number, even when it is correct.
- Never measure individuals. Bugs found per tester and defects introduced per developer both produce worse work and worse data.
Workflow
Phase 0: Find the decision
Before selecting anything, ask what will be decided differently depending on the answer:
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 11d ago First seen · 165 lines · 80 tokens per session scan A 4bc82ce68136
analyzing-quality-metrics is a skill published in the GitHub repository jaktestowac/awesome-copilot-for-testers (113 stars, last pushed 15d ago), licensed MIT. It adds 80 tokens to every session and 1,908 once invoked, about $0.0004 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-30.
Other skills, from other repositories
fix-tests
Focus on all unit + command tests (pytest --exclude tests/integration). Make sure they pass and fix errors. If you run into anything very odd: stop, and let me know. Mutate test code first and let me know if you think you should update application code.
character-animation-qa
Review local character animation with schema checks, Playwright browser previews, frame sampling, and FFmpeg/ffprobe final output checks.
migrate-xunit-to-xunit-v3
Migrate .NET test projects from xUnit.net v2 to xunit.v3 and fix v3 breaks. Use for package/CPM conversion, OutputType=Exe, preserving the VSTest or MTP runner (including projects currently using YTest.MTP.XUnit2), incompatible TFMs, async void tests, string-to-Type attributes, custom Fact/Theory/BeforeAfterTest…
nunit
Write, run, or repair .NET tests that use NUnit. Use when a repo uses NUnit, [Test], [TestCase], [TestFixture], or NUnit3TestAdapter for VSTest or Microsoft.Testing.Platform execution. USE FOR: writing or reviewing NUnit tests; using [Test], [TestCase], [TestFixture], [SetUp], [TearDown] attributes; configuring…
crap-score
Calculates CRAP (Change Risk Anti-Patterns) for a named .NET method, class, or file. USE FOR: explicit CRAP calculation or coverage-and-complexity risk within that named target, including which tests to prioritize. DO NOT USE FOR: project-wide coverage/CRAP, plateaus, or project-wide blockers/priorities…
michel-create-packmind-dataset
Seed a local Packmind instance with a realistic dataset — one organization populated with standards, commands, and skills — so an autonomous agent can exercise its own changes against lifelike data instead of an empty app. Use this whenever you need populated Packmind data to verify a change end-to-end: reproducing a…