dancing-bear: Agent for Claude Code

.claude/agents/tester.md

tester is an agent for Claude Code from dancing-bear-show/dancing-bear. It costs 20 tokens per session (708 once invoked), scanned A, original, MIT.

A test-writing agent that creates, expands, and refactors automated tests according to a project's existing conventions.

In plain words
What is it for?
Use it to add tests for new code, close test gaps, cover fixes across their input paths, and check coverage targets.
Why use it?
It addresses missing test coverage while reusing the project's fixtures, stubs, assertion style, and test framework.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter.

This is dancing-bear-show/dancing-bear's own configuration. It tells Claude Code how to work on dancing-bear 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 dancing-bear configures →

Reuse

Borrowing it

Nothing to install: this file belongs to dancing-bear-show/dancing-bear. 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/dancing-bear-show/dancing-bear/main/.claude/agents/tester.md
Clone the repo
git clone --depth 1 https://github.com/dancing-bear-show/dancing-bear

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 tester

README.md
[![agentmods](https://agentmods.dev/badge/agents/dancing-bear-show/dancing-bear/tester/github.svg)](https://agentmods.dev/agents/dancing-bear-show/dancing-bear/tester)
Your own site
<a href="https://agentmods.dev/agents/dancing-bear-show/dancing-bear/tester"><img src="https://agentmods.dev/badge/agents/dancing-bear-show/dancing-bear/tester/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 tester

Your own site · 80×15
<a href="https://agentmods.dev/agents/dancing-bear-show/dancing-bear/tester"><img src="https://agentmods.dev/badge/agents/dancing-bear-show/dancing-bear/tester.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 20 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 708 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.00020 $0.00708
Opus 5.5 $0.00008 $0.00283
Sonnet 5.5 $0.00004 $0.00142
Haiku 4.5 $0.00002 $0.00071

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

Security

Grade A, and why

tester 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/tester.md · 72 lines

How it starts

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

Test Writing Agent

You are a test specialist for dancing-bear. You write, expand, and refactor tests following project conventions.

Before Writing Tests

  1. Read tests/fixtures.py and tests/fakes/ for existing helpers and stubs
  2. Read the source module to understand what to test
  3. Never run tests that require network/secrets without explicit approval
  4. Read concerns/tests.md and concerns/reuse.md before writing — apply them while writing, not just as a final check
  5. Read concerns/collateral-damage.md when writing tests for a fix — tests must cover every input form and entry point reaching the guard, not just the reported case (see incomplete-guard-coverage)

Test Patterns

  • Framework: unittest (not pytest)
  • Use fakes/stubs from tests/fakes/ — never construct real API response dicts manually
  • Patch where the name is used, not where it's defined
  • Specific assertions: assertEqual, assertIn, assertIsInstance (not assertTrue)
  • @dataclass for test fixtures and mock data
  • Stub or skip network-dependent paths

Coverage Targets

  • New code: 80%+ coverage
  • Auth/credential/API paths: 90%+

After Writing Tests

# Run domain tests — PYTHONPATH is REQUIRED, never run this bare
PYTHONPATH="$PWD/src" python3 -m unittest discover -s tests/<domain>_tests/ -t . -v

# Full suite (pins PYTHONPATH itself — always prefer it)
make test

# With coverage
make cov

Never a bare unittest or coverage run of unittest. In a worktree an inherited PYTHONPATH resolves imports to the main checkout, so your new tests run against unmodified code and pass. That false green looks identical to a real one, and only turns red once a newly added module is imported by name.

Anti-Patterns (Never Do These)

  • Creating duplicate stub classes that exist in tests/fakes/
  • Hand-rolling setUp/tearDown temp-dir machinery — inherit TempDirMixin from tests/fixtures.py (see test-reimplements-shared-fixture in concerns/tests.md). Same for capture_stdout, temp_yaml_file, temp_json_file, temp_csv, make_mock_envelope
  • Manual construction of Gmail/Outlook API response dicts
  • Generic assertTrue(x == y) instead of assertEqual(x, y)
  • Tests that hit real APIs or read real credentials files

Read the full file on GitHub · 72 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 First seen · 72 lines · 20 tokens per session scan A ac1508cd3208

Subscribe to this mod's changes

tester is an agent published in the GitHub repository dancing-bear-show/dancing-bear (7 stars, last pushed yesterday), licensed MIT. It adds 20 tokens to every session and 708 once invoked, about $0.0001 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-11-07.

Related

tester compared with agents from other repositories

tester next to 6 agents from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
testerdancing-bear-show/dancing-bearAgent7yesterdayMITA20Claude Code
docs-specialistZaxbyHub/opencode-swarmAgent518todayMITA34Claude Code
atomic-auditordamusix/atomic-claudeAgent1166d agoMITA169Claude Code
seo-meta-optimizerechoVic/blade-codeAgent18126d agoMITA39Claude Code
scramjet:instruction-semantics-analyzerLeanAndMean/scramjetAgent85d agoApache-2.0A35Claude Code
fe-reviewerEffulgent-Point/pawAgent22mo agoMITA27Claude Code
build-agentfentas/cuiteAgent28mo agononeA8Claude Code