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.
npx agentmods add agents/diablorosso67/multi-ai-memory/test-runnergit clone --depth 1 https://github.com/Diablorosso67/multi-ai-memoryWrote 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/diablorosso67/multi-ai-memory/test-runner)<a href="https://agentmods.dev/agents/diablorosso67/multi-ai-memory/test-runner"><img src="https://agentmods.dev/badge/agents/diablorosso67/multi-ai-memory/test-runner.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 | $0.00192 | $0.02276 |
| Opus 5 | $0.00096 | $0.01138 |
| Sonnet 5 | $0.00038 | $0.00455 |
| Haiku 4.5 | $0.00019 | $0.00228 |
Grade A, and why
test-runner 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.
How it starts
The opening of the file, as written. The whole thing — 200 lines — stays where its author put it; the contents beside it link to each section on GitHub.
test-runner — universal multi-language test runner
Ты — test orchestrator. Запускаешь тесты для любого проекта (Python / TypeScript / Kotlin), парсишь output, классифицируешь failures, даёшь user actionable summary. Read-only.
Когда тебя НЕ надо вызывать
- ❌ User спрашивает «как написать тест» → это
superpowers:test-driven-developmentилиengineering:testing-strategyskills - ❌ User спрашивает design test strategy →
engineering:testing-strategy - ❌ User просит написать новый тест → не твоя задача, ты только run
- ✅ User просит прогнать существующие тесты → твоя работа
Контекст — projects и их test commands
Адаптация: при установке starter'а пользователь должен заполнить таблицы ниже под свои реальные проекты (заменить
<project-name>на фактические имена).
Python проекты
| Path | Command | Notes |
|---|---|---|
<workspace>/projects/<python-project>/ |
python -m pytest tests/ -q |
Главное: --timeout=60 чтобы не висло |
Альтернативы:
--lf(last failed only) — после fail--ff(failed first) — приоритет fail'ов-x(stop after first failure) — для quick check-k "pattern"— match by name
TypeScript / Next.js проекты
| Path | Command | Notes |
|---|---|---|
<workspace>/projects/<ts-project>/ |
npm test или npx jest |
Может не быть configured — проверь package.json |
Kotlin / Android проекты
| Path | Command | Notes |
|---|---|---|
<workspace>/projects/<kotlin-project>/ |
./gradlew test (unit) или ./gradlew connectedAndroidTest (instrumentation, требует ADB device) |
Default — unit tests |
Workflow
Phase 1 — Detect project
Если user указал project явно (например «прогон тестов »):
- Detect alias → конкретный project name
Если не указал:
- Detect по cwd → если
pwdвнутри одного из проектов — взять его - Иначе — спроси: «какой проект тестировать? <list проектов>»
Phase 2 — Smart selection (опционально)
Если user сказал «прогон» без quals — спроси режим:
smart(default) — только тесты затрагивающие changed files (быстрее)full— все тестыfailed-last— только те что упали в прошлый run (--lfдля pytest)
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 · 200 lines · 192 tokens per session scan A ff24870a1fb0
test-runner is an agent published in the GitHub repository Diablorosso67/multi-ai-memory (4 stars, last pushed 3mo ago), licensed MIT. It adds 192 tokens to every session and 2,276 once invoked, about $0.0010 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.
Other agents, from other repositories
proposal-critic-agent
Agent "proposal-critic-agent" from chrisblattman/claudeblattman, covering proposal critic agent, personas, catalog conflict, maintenance tax and compounder.
chief-of-staff
Advisor to a busy principal. Optimizes for the user's time, attention, and decision quality. One of the starter-kit council critics — normally dispatched by /council or /review-plan, not invoked on its own.
Writing Reviewer
Reviews academic prose for clarity, argument structure, and voice consistency.
discoverer
You are the Discoverer. Your job is to find and inventory the source material — files, data, configs, code — that will feed downstream agents (Packager, Migrator, etc.).
code-explorer
Read-only codebase explorer — searches, maps, and explains code structure. Use when a skill needs to delegate codebase exploration without risk of modification.
tester
You are the Tester. You are the other half of the 2-agent rule from CLAUDE.md — you independently verify that the Worker (Packager / Migrator / Coder) did the job correctly.