vulyk: Agent for Claude Code

.claude/agents/worker-test.md

worker-test is an agent for Claude Code from Black-coffe/vulyk. It costs 43 tokens per session (1,458 once invoked), scanned A, original, MIT.

A coding-agent worker that writes or repairs tests for one software story, where a story is a defined piece of work with acceptance requirements. It checks behavior through the public interface rather than relying on internal implementation details.

In plain words
What is it for?
Use it after an implementation worker, or on its own, to add tests for a feature, repair broken tests, check invalid inputs and error handling, and repeat verification when a story requires it.
Why use it?
It turns each stated requirement into a test and checks error cases and boundary conditions, reducing the chance that a change works only in the simplest situation. It also runs the relevant existing test suite and addresses failures caused by the new work.

Agent for Claude Code

Written for Claude Code: effort in frontmatter. Also seen: model in frontmatter.

This is Black-coffe/vulyk's own configuration. It tells Claude Code how to work on vulyk itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything vulyk configures →

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/Black-coffe/vulyk/main/.claude/agents/worker-test.md
Clone the repo
git clone --depth 1 https://github.com/Black-coffe/vulyk

Made for: Claude Code.

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 worker-test

README.md
[![agentmods](https://agentmods.dev/badge/agents/black-coffe/vulyk/worker-test/github.svg)](https://agentmods.dev/agents/black-coffe/vulyk/worker-test)
Your own site
<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.

agentmods 80×15 button for worker-test

Your own site · 80×15
<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>
Per session 43 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,458 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.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

Measured yesterday against content hash f05449a4c98c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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.

.claude/agents/worker-test.md · 81 lines

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.

  1. 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>), ## Findings holds the round's findings verbatim; each is a condition to satisfy. If a criterion is untestable as written, write the question under ## Findings and return NEEDS_CONTEXT.
  2. 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 write red_reason: in the frontmatter (the assertion text the test prints on failure, a fixed string); 3 bash scripts/cycle.sh stamp-red <story-file> --stamp <S> (no --stamp when your dispatch gave none); 4 implement what the story's ## Files names beside the test; 5 close-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 as NEEDS_CONTEXT. A stamp-red refusal is handled by step 6's exit-4 list.
  3. 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.
  4. 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.
  5. Check as you go with targeted runs. The story's whole ## Verification (with its repeat: N) is run by close-story, once, on the record.
  6. Close. Set returned: DONE, then run bash scripts/cycle.sh close-story <story-file> --commit --stamp <S> (no --stamp when your dispatch gave none). Exit 0: done. Exit 4 edited outside ## Files: <paths>: undo your own edits to those paths (edit them back, delete a file you created; never git checkout/restore/stash), or, if the story truly needs them or none are yours (a closed wave-mate's), write the paths under ## Findings and return NEEDS_CONTEXT. A red: required story's gate and stamp-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, return NEEDS_CONTEXT naming the test edit (never stash).
    • no implementation change since red receipt: the story's code is still missing; write it.
    • stamp-red refusals (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 ## Filesandnothing to turn green: ## Files holds only sealed

      testsare the story's own shape: write the message under## Findingsand returnNEEDS_CONTEXT. Exit 2 verification 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, set returned: 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: 600000 for close-story and suites, less for quick checks.
  • Other stories of your wave may be editing the same tree: never git stash, git checkout, git restore, git reset or git clean.
  • Never edit the story's status: line; you write returned: only, matching your STATUS: 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 BLOCKERS line.
  • Keep working until the story is closed. Stop early only for a NEEDS_CONTEXT or WALL you 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.

Read the full file on GitHub · 81 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. yesterday Changed · +19 lines f05449a4c98c
  2. 3d ago Changed · +1 lines 78625e8716b9
  3. 13d ago Changed · +4 lines f4009b0f3565
  4. 24d ago Changed · +2 lines 50831e9affd6
  5. 1mo ago Changed · +4 lines f9f8a125e34d
  6. 1mo ago Changed · +13 lines · +5 tokens per session 7871cba62a07
  7. 1mo ago Changed · +1 lines 3d1c91142976
  8. 1mo ago Changed · +2 lines 4f7baceb8820
  9. 2mo ago First seen · 35 lines · 38 tokens per session scan A a49b77bf127d

Subscribe to this mod's changes

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.