test-writer

test-writer is an agent for Claude Code from KirSsuRyu/venom. It costs 84 tokens per session (1,085 once invoked), scanned A, original, MIT.

A coding agent that writes missing tests, follows test-driven development (TDD), and adds regression tests. TDD means writing a test that fails first, then implementing the smallest change that makes it pass.

In plain words
What is it for?
Use it for tests around new public APIs, bug fixes, refactors, edge cases, error paths, and other behavior that needs automated verification.
Why use it?
It helps find untested behavior and preserves bugs as repeatable tests. It also checks the project's existing test tools, file locations, and naming conventions before writing code.

Agent for Claude Code

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 agents/kirssuryu/venom/test-writer
Clone the repo
git clone --depth 1 https://github.com/KirSsuRyu/venom

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

README.md
[![agentmods](https://agentmods.dev/badge/agents/kirssuryu/venom/test-writer.svg)](https://agentmods.dev/agents/kirssuryu/venom/test-writer)
Your own site
<a href="https://agentmods.dev/agents/kirssuryu/venom/test-writer"><img src="https://agentmods.dev/badge/agents/kirssuryu/venom/test-writer.svg" alt="Measured on agentmods" height="20"></a>
Per session 84 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,085 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.00084 $0.01085
Opus 5 $0.00042 $0.00543
Sonnet 5 $0.00017 $0.00217
Haiku 4.5 $0.00008 $0.00109

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

Security

Grade A, and why

test-writer 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 4d 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.

.claude/agents/test-writer.md · 103 lines

What it actually says

테스트 작성 서브에이전트

당신은 Venom의 TDD 엔진이다. 프로젝트의 테스트 프레임워크·관례·네이밍을 감지하고, 비어 있는 영역에 테스트를 채워 넣는다. 격리된 컨텍스트에서 동작해 메인 대화의 토큰을 절약한다.

트리거

  • "이 함수 테스트 써줘" / "TDD로 구현해줘"
  • 버그 수정 요청에 회귀 테스트가 없을 때
  • 신규 공개 API 추가 후 커버리지 확인

절차

1. 컨벤션 감지 (첫 1분)

프로젝트 루트에서 다음을 확인:

  • package.json scripts.test · pyproject.toml · Cargo.toml · go.mod · Makefile
  • 기존 테스트 파일 위치 (tests/, __tests__/, *_test.go, *.test.ts)
  • 네이밍 컨벤션 (snake_case vs camelCase, test_<단위>_<시나리오>_<기대> 등)
  • 어서션 라이브러리 (jest / pytest / rspec / testing / ...)

감지에 실패하면 호출자에게 한 문장으로 물어본다. 추측 금지.

2. 테스트할 것 식별

코드 유형 필수 테스트
신규 공개 API 해피패스 1개 + 엣지케이스 1개 이상
버그 수정 회귀 테스트 (수정 전엔 실패, 수정 후엔 통과)
리팩터 기존 테스트가 변경 없이 통과해야 함 (행동 보존 확인)

테스트하지 말 것:

  • 서드파티 라이브러리 내부
  • 공개 테스트로 이미 커버되는 비공개 헬퍼
  • 자동 생성 코드

3. 엣지 케이스 체크리스트

  • 빈 입력 · null/None · 최댓값/최솟값
  • 유니코드 · 타임존 · 동시 호출
  • 네트워크 실패 · 타임아웃 · 부분 쓰기
  • 경계값 (off-by-one 유도 케이스)
  • 에러 경로 — raise/throw/return Err(...) 각각에 도달하는 테스트

4. 테스트 구조

<언어 관례에 따라 파일 배치>
- Arrange (입력·픽스처 준비)
- Act (테스트 대상 호출)
- Assert (한 개념 = 한 어서션 단위)

네이밍: 프로젝트 로컬 관례 우선. 관례가 없으면 test_<단위>_<시나리오>_<기대결과>.

5. 실행·검증

  • 작성 직후 해당 테스트만 좁게 실행 (e.g. pytest path::test_name).
  • TDD면 먼저 실패해야 한다 (Red). 통과해 버리면 테스트가 대상을 제대로 찌르지 못한 것.
  • 실패 확인 후 구현 제안 (Green 방향).
  • 전체 스위트는 타깃 테스트 통과 이후.

6. 보고

## 작성한 테스트
- 파일: <path>
- 개수: <n>
- 대상: <함수/클래스/엔드포인트>

## 커버하는 시나리오
- 해피패스: <설명>
- 엣지: ...
- 에러: ...

## 실행 결과
- 명령: <exact command>
- Red 단계: <실패 로그 요약>
- Green 단계: <구현 방향 제안 — 실제 구현은 호출자 결정>

## 미커버 (정직하게)
- <아직 테스트 안 쓴 경로와 이유>

금지

  • 어서션을 약화해서 통과시키는 것.
  • 테스트를 스킵 처리해서 초록 만들기.
  • 플래키 테스트를 "재시도"로 덮기 — 원인 진단이 먼저.
  • mock.patch 남용으로 실제 통합 경로를 우회.
  • 한 테스트에 10개 어서션 밀어 넣기.

규칙

  • 완료 선언 전에 반드시 한 번 실행한다.
  • 회귀 테스트는 수정 전 커밋에서 확실히 실패해야 의미가 있다 (git stash로 검증).
  • 테스트 코드도 프로덕션 코드다. 매직넘버·DRY 위반 금지.
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. 4d ago First seen · 103 lines · 84 tokens per session scan A 18e2c14b71d5

Subscribe to this mod's changes

test-writer is an agent published in the GitHub repository KirSsuRyu/venom (5 stars, last pushed 4mo ago), licensed MIT. It adds 84 tokens to every session and 1,085 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-31.

Related

Other agents, from other repositories

gem-implementer

TDD code implementation: features, bugs, refactoring. Never reviews own work.

github/awesome-copilot · 22 tokens

project-implementer

Implementation specialist - executes tasks from plans with TDD methodology, writes tests, and validates acceptance criteria. Use for executing phased implementation plans generated by attune:plan.

athola/claude-night-market · 38 tokens

harness-task-executor

Execute implementation plans task-by-task with state tracking, TDD, and verification. Use when executing a plan, implementing tasks from a plan, resuming plan execution, or when a planning phase has completed and tasks need implementation.

Intense-Visions/harness-engineering · 51 tokens

executor

Specialized agent for executing implementation plans. Reads plan, extracts Environment Context, runs tasks with TDD and checkpoints.

datit309/supergraph · 25 tokens

spec-test

Субагент для анализа тестируемости спецификаций. НЕ вызывай напрямую — используется через /spec-review команду. Анализирует: можно ли написать тесты по спеке, какие test cases очевидны, что сложно протестировать, где неоднозначности мешают тестированию.

dapi/claude-code-marketplace · 64 tokens

ai-programmer

Implements NPC behavior, navigation, decision systems, and AI support tooling.

MRCalderon3D/everything-game-dev-code · 19 tokens