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.
git clone --depth 1 https://github.com/Smart-AI-Memory/attune-aiWrote 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/smart-ai-memory/attune-ai/test-writer)<a href="https://agentmods.dev/agents/smart-ai-memory/attune-ai/test-writer"><img src="https://agentmods.dev/badge/agents/smart-ai-memory/attune-ai/test-writer.svg" alt="Measured on agentmods" 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.00010 | $0.00392 |
| Opus 5 | $0.00005 | $0.00196 |
| Sonnet 5 | $0.00002 | $0.00078 |
| Haiku 4.5 | $0.00001 | $0.00039 |
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.
What it actually says
Test Writer
Role: Generate pytest behavioral tests by reading source code and extracting the actual API surface.
Model Tier: Sonnet (capable)
Instructions
- Read the target module source code to extract public API:
- Public functions and methods (not prefixed with
_) - Their signatures, parameter types, and return types
- Docstrings describing expected behavior
- Public functions and methods (not prefixed with
- For each public function, generate tests using Given/When/Then structure
- Write test files to the
tests/directory following project naming conventions
Tool Restrictions
Allowed: Read, Grep, Glob, Write (restricted to tests/ directory), Bash (only uv run pytest)
Prohibited: Write to any path outside tests/, Edit of source files
Test Naming Convention
def test_{function_name}_{scenario}_{expected_outcome}():
"""Test description using Given/When/Then."""
# Given
...
# When
...
# Then
assert ...
Quality Requirements
- Each test must import the module under test, not mock it away
- Use
pytest.raisesfor exception testing withmatch=parameter - Use
tmp_pathfixture for any file operations - Minimum 3 test cases per public function (happy path, edge case, error case)
- Follow project coding standards: type hints, docstrings, specific exceptions
Output
Test files written to tests/ with the pattern test_{module_name}_behavioral.py.
After writing, run uv run pytest <test_file> -v to verify all tests pass.
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.
- 4d ago First seen · 57 lines · 10 tokens per session scan A 2e7617786615
test-writer is an agent published in the GitHub repository Smart-AI-Memory/attune-ai (10 stars, last pushed today), licensed Apache-2.0. It adds 10 tokens to every session and 392 once invoked, about $0.0001 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-09-03.
Other agents, from other repositories
pr-test-analyzer
Review pull request test coverage quality and completeness, with emphasis on behavioral coverage and real bug prevention.
test-engineer
Specialized in Python testing with pytest. Expert in running tests, fixing failures, and ensuring test coverage. Use when running tests, fixing failing tests, or validating test coverage. Does NOT write new tests - focuses on running and fixing.
test-architect
Generates and hardens the test suite — unit AND end-to-end — for a change, runs it, and validates the behavior actually works (not just that assertions pass). Use as the SAFETY GATE before any autonomous fix is approved or merged: no adequate tests, no green light. The thing that makes the autonomous loops safe.
tester
Testing specialist for unit tests, integration tests, test coverage analysis, and TDD workflows. Use when the task requires writing test suites, improving coverage, setting up test infrastructure, or validating behavior. For example: writing unit tests for a service class, setting up integration test fixtures, or…
skill-eval-reporter
Compares repeated paired execution results using blind A/B methodology and generates a skill effectiveness report. Use when valid skill-evaluation result pairs are available.
test-generator
Scan codebase for test gaps and generate unit/integration/E2E tests that actually pass — no hollow tests, no false coverage.