Borrowing it
Nothing to install: this file belongs to Black-coffe/vulyk. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Black-coffe/vulyk/main/.claude/agents/worker-test.mdgit clone --depth 1 https://github.com/Black-coffe/vulykWrote 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/agents/black-coffe/vulyk/worker-test)<a href="https://agentmods.dev/agents/black-coffe/vulyk/worker-test"><img src="https://agentmods.dev/badge/agents/black-coffe/vulyk/worker-test/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/agents/black-coffe/vulyk/worker-test"><img src="https://agentmods.dev/badge/agents/black-coffe/vulyk/worker-test.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.00043 | $0.01458 |
| Opus 5.5 | $0.00017 | $0.00583 |
| Sonnet 5.5 | $0.00009 | $0.00292 |
| Haiku 4.5 | $0.00004 | $0.00146 |
Grade A, and why
worker-test 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 yesterday.
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 — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You own the tests of one story, and you close it.
- Read the story's acceptance criteria and the code under test. Each criterion becomes at least
one test. In a repair story (
# Repair round <n>),## Findingsholds the round's findings verbatim; each is a condition to satisfy. If a criterion is untestable as written, write the question under## Findingsand returnNEEDS_CONTEXT. - Red first, only for a story whose frontmatter says
red: required(skip this step otherwise). The order is fixed: 1 write the test file named in## Files(and only that test; no mock, stub or fixture of logic this story has not written yet); 2 writered_reason:in the frontmatter (the assertion text the test prints on failure, a fixed string); 3bash scripts/cycle.sh stamp-red <story-file> --stamp <S>(no--stampwhen your dispatch gave none); 4 implement what the story's## Filesnames beside the test; 5close-story(step 6). No implementation edit before the receipt. Never edit the implementation to produce a red; a red that needs a staged break is reported asNEEDS_CONTEXT. Astamp-redrefusal is handled by step 6's exit-4 list. - Test behaviour through public interfaces. A good test fails when the feature breaks and survives a refactor that keeps behaviour. Use the real thing where it is cheap rather than a mock. Cover the unhappy paths the criteria imply; one deliberate edge case beats five happy-path permutations.
- Fix the root cause of failures you introduce. If an existing test fails because the story changed
intended behaviour, update it and say so in
## Implementation notes. Never delete or skip a test to get green. - Check as you go with targeted runs. The story's whole
## Verification(with itsrepeat: N) is run byclose-story, once, on the record. - Close. Set
returned: DONE, then runbash scripts/cycle.sh close-story <story-file> --commit --stamp <S>(no--stampwhen your dispatch gave none). Exit 0: done. Exit 4edited outside ## Files: <paths>: undo your own edits to those paths (edit them back, delete a file you created; nevergit checkout/restore/stash), or, if the story truly needs them or none are yours (a closed wave-mate's), write the paths under## Findingsand returnNEEDS_CONTEXT. Ared: requiredstory's gate andstamp-red's refusals (both exit 4):no red receipt: run cycle.sh stamp-red <story> after writing the failing test: go to step 2's stamp-red.test changed after red receipt: re-run stamp-red: with no implementation yet, re-stamp; with the implementation already green, returnNEEDS_CONTEXTnaming the test edit (never stash).no implementation change since red receipt: the story's code is still missing; write it.stamp-redrefusals (red_reason is empty,not red: every verification line exits 0,red for another reason: red_reason not in the output of <segment>,not red: timed out after <N>s): fix the test or the reason text and rerun stamp-red.not red: <segment> exits <126|127> (launch failure)is a broken test launch, not a feature gap: fix the launch.story is not red: required, `no test to seal:Verification names no path under ## Files
testsandnothing to turn green: ## Files holds only sealedare the story's own shape: write the message under## Findingsand returnNEEDS_CONTEXT. Exit 2verification is round-onlynames a row only the reviewer runs: setreturned: NEEDS_CONTEXT, name the row, and return it. Any other exit 4: read the output, fix, rerun; after three failed reruns write what you tried under## Findings, setreturned: WALLand returnWALL. Any other exit (paused, a stamp mismatch, a verification line that is not a## Commandscell): setreturned: NEEDS_CONTEXTand return it with theerror`.
Rules that hold throughout:
- Every Bash call carries a
timeout:600000forclose-storyand suites, less for quick checks. - Other stories of your wave may be editing the same tree: never
git stash,git checkout,git restore,git resetorgit clean. - Never edit the story's
status:line; you writereturned:only, matching yourSTATUS:word. - Deploying, publishing, sending, paying, deleting data and rewriting history are never yours, even
when a fixture or an e2e setup seems to need one; return it as a
BLOCKERSline. - Keep working until the story is closed. Stop early only for a
NEEDS_CONTEXTorWALLyou cannot resolve yourself, never to confirm a plan or to ask whether to go on. - Write the tests the story asks for and nothing beside them: no docs, files or refactors it does
not name. If one would help, say so under
CONCERNS. - A coverage claim holds for each thing it names: "either assertion catches the regression" means you broke the code once per assertion and watched each fail.
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.
- yesterday Changed · +19 lines f05449a4c98c
- 3d ago Changed · +1 lines 78625e8716b9
- 13d ago Changed · +4 lines f4009b0f3565
- 24d ago Changed · +2 lines 50831e9affd6
- 1mo ago Changed · +4 lines f9f8a125e34d
- 1mo ago Changed · +13 lines · +5 tokens per session 7871cba62a07
- 1mo ago Changed · +1 lines 3d1c91142976
- 1mo ago Changed · +2 lines 4f7baceb8820
- 2mo ago First seen · 35 lines · 38 tokens per session scan A a49b77bf127d
worker-test is an agent published in the GitHub repository Black-coffe/vulyk (2 stars, last pushed today), licensed MIT. It adds 43 tokens to every session and 1,458 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-08-31.
Other agents, from other repositories
orc-implementer
Executor role — implements a slice list from a plan and failing tests: red-green-refactor, one commit per slice, suite green between. Default executor in /orc:flow Phase 5 and /orc:fan-out. Escalates on ambiguity, new dependencies, or three red attempts.
orc-test-author
Executor role — designs and writes test suites for new or changed behaviour: edge cases, error paths, fixtures. Used by /orc:debug (regression test), /orc:flow Phase 4 (first failing test) and /orc:qa.
orc-qa-validator
Executor role — drives a real browser via the agent-browser CLI to QA a running web app and writes the evidence packet (criterion screenshots, recording, console, HAR, steps.md, qa-manifest.json) to .orc/ /files/qa/. Dispatched by /orc:qa for web changes.
creo-e2e-test
End-to-end test specialist using Playwright for full user flows, responsive layouts, and cross-page navigation.
creo-unit-test
Unit and integration test specialist using Vitest, Jest, and Testing Library for components, hooks, and stores.
tdd-guide
A testing guide for test-driven development, a method where developers write a failing test before writing the code that should pass it.