assay

assay is a skill for Claude Code, Codex from IamK77/Skill. It costs 128 tokens per session (4,718 once invoked), scanned A, original, Apache-2.0.

A risk-based approach to testing software: deciding what to test, which kind of test to use, and which test cases are most likely to find bugs. It covers unit tests for small pieces, integration tests for connected parts, and end-to-end tests for complete user flows.

In plain words
What is it for?
Use it when testing a function, module, API, or full system. It helps choose test cases and test doubles—stand-ins for real dependencies—based on the likely impact of failures.
Why use it?
It prevents teams from treating a green test suite as proof that the software works. The process checks that tests can actually fail when a defect is introduced and that important risks are covered.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/iamk77/skill/assay
Any agent
npx skills add IamK77/Skill --skill assay
Clone the repo
git clone --depth 1 https://github.com/IamK77/Skill

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for assay

README.md
[![agentmods](https://agentmods.dev/badge/skills/iamk77/skill/assay.svg)](https://agentmods.dev/skills/iamk77/skill/assay)
Your own site
<a href="https://agentmods.dev/skills/iamk77/skill/assay"><img src="https://agentmods.dev/badge/skills/iamk77/skill/assay.svg" alt="Measured on agentmods" height="20"></a>
Per session 128 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,718 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00128 $0.04718
Opus 5 $0.00064 $0.02359
Sonnet 5 $0.00026 $0.00944
Haiku 4.5 $0.00013 $0.00472

Measured 3d ago against content hash 75d24030ce33, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

assay 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 3d 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.

skills/engineering/assay/SKILL.md · 202 lines

How it starts

The opening of the file, as written. The whole thing — 202 lines — stays where its author put it; the contents beside it link to each section on GitHub.

assay

!checklist init ${CLAUDE_SKILL_DIR} --force

A green suite is worthless until it has proven it can go red. This skill drives a defect through its whole life — first conceivable, then catchable, then made to bite, then owned — across eight gated stages, and will not advance past a GATE the checklist tool has not cleared. Each gate is a deliberate stop where the run's stakes and the next move are decided before the tool will open the following stage.

Discipline: the gates are machine-enforced. Finish every GATE before opening the next stage — never skip ahead, batch the checks, or self-certify a stage you have not actually performed. Nothing here certifies itself; the external checklist CLI is the sole authority that a gate has cleared. Commands address stages by name — you never track a stage number by hand.

If $ARGUMENTS names a target (a file, module, or subsystem), test that. If it names something that is not a test target (say, a language preference), acknowledge it and ask what to test.

Speak the user's language, or the stakes get set blind. Testing is a collaboration — you supply the rigor, the user supplies the domain judgment and the stakes: which risks matter, how a found bug is disposed of. They can only supply it on terms they follow, so read their fluency and gloss a term on first use (mock vs fake, property-based, mutation testing, hermetic, flaky). A user who signs off on a risk ledger or a disposition full of unparsed words has not set the stakes — and the CHARTER, TRIAGE, and BOOKS judgments this skill leans on them for are then hollow.

Reference library

Detail lives in references/. Open each when a stage sends you there, not upfront. Ten references back the eight stages:

  • references/decision-tree.md — the engine. Four nested decision trees (worth-it → type → doubles → cases) plus overlays and an escalation ladder. Open it at TRIAGE and keep it beside you through COMPOSE.
  • references/evidence-catalogue.md — the trust ceiling of every form of test evidence: what each proves, what it costs, and what it is structurally blind to. Pick evidence by what it cannot see.
  • references/probe-construction.md — the oracle-first pipeline that derives cases from the source-of-truth question: oracles, equivalence classes, edge probes, failure paths, negative space, the call-it-again probe, fail-first proof.
  • references/test-doubles.md — dummy / stub / spy / mock / fake: choosing the weakest one, classicist vs mockist, anti-patterns.
  • references/property-based.md — finding properties, generators, shrinking, stateful testing.
  • references/determinism-and-flakiness.md — making tests deterministic by construction, and diagnosing flakes.
  • references/coverage-and-mutation.md — coverage as a guide, mutation testing as the real teeth, the economics of what to skip.
  • references/language-norms.md — per-language testing norms an agent must be told: idiomatic frameworks, blind-spots (patch-where-used, -race, doc-tests, fake timers…), and the must-run commands agents skip. Load at SURVEY, apply at BUILD.
  • references/agent-test-smells.md — how an agent writes plausible-but-worthless tests by default (assertion-free coverage padding, over-mocking, implementation-coupled brittleness, tolerated flakes), and how to keep a large suite from rotting into a slow, flaky "test graveyard". Apply while writing at BUILD, sweep at BITE.
  • references/parallel-execution.md — running assay on a fleet of agents (ultracode): how the risk ledger, the escalation ladder, and the oracle gate project onto parallel search, and why agreement is not evidence. Open when the harness hands you subagents.

Read the full file on GitHub · 202 lines

Changes

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.

  1. 3d ago First seen · 202 lines · 128 tokens per session scan A 75d24030ce33

Subscribe to this mod's changes

assay is a skill published in the GitHub repository IamK77/Skill (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 128 tokens to every session and 4,718 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.