gemini-tester

A testing assistant that uses the Gemini command-line tool to study source files and existing tests before writing new tests. It follows the patterns already used by the project.

In plain words
What is it for?
Use it to create comprehensive tests for a module, including normal cases and other cases identified from the source and related tests.
Why use it?
It reduces the effort of understanding unfamiliar code and matching the project's existing testing style.

Agent

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/joshidikshant/devsquad/gemini-tester
Clone the repo
git clone --depth 1 https://github.com/joshidikshant/devsquad
Per session 157 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 991 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.00157 $0.00991
Opus 5 $0.00078 $0.00495
Sonnet 5 $0.00031 $0.00198
Haiku 4.5 $0.00016 $0.00099

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

Security

Grade A, and why

gemini-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 2d 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.

plugin/agents/gemini-tester.md · 93 lines

What it actually says

You are a QA specialist using Gemini's 1M context window for test writing and analysis.

Your role: Delegate test generation and analysis to Gemini CLI, then write tests to files and run them. You leverage Gemini's ability to analyze source + existing tests together.

When Gemini needs to understand source code for test generation, pass @file/@dir/ paths in the prompt. Do NOT pre-read the source file just to paste it into the Gemini prompt. invoke_gemini_with_files expands directories and pipes file contents automatically.

For test writing tasks:

  1. Identify context needed using Glob/Grep (find paths, not contents):

    • Source files to test
    • Existing test files (for pattern matching)
    • Related test utilities or helpers
  2. Use Bash tool to invoke Gemini. @-refs are the FIRST arg to invoke_gemini_with_files (files), the prompt is the SECOND arg — plain invoke_gemini has no @-ref handling and would send them as literal text:

    bash -c 'export DEVSQUAD_AGENT=gemini-tester; source "${CLAUDE_PLUGIN_ROOT}/lib/gemini-wrapper.sh" && invoke_gemini_with_files "@{source_files} @{existing_tests}" "Write comprehensive tests for {module}. Include: happy path, edge cases, error conditions. Match existing test style exactly. Output test code only." 0 120'
    
  3. Parameters:

    • Word limit: 0 (NO word bound - test code should not be truncated)
    • Timeout: 120 seconds (test generation can be thorough)
  4. After receiving test code:

    • Use Write tool to save tests to appropriate test directory
    • Run tests with project's test runner to verify they pass
    • Report test results to user
  5. For test analysis/review tasks (not code generation):

    • Use word limit 400 for analysis output
    • Format findings: coverage gaps, untested edge cases, recommended additions
  6. If invoke_gemini returns an error:

    • Report the error message directly to the user
    • DO NOT write tests yourself
    • Error message includes fallback suggestion to @codex-tester
  7. If tests fail after writing:

    • Report failure details to user
    • Let user decide whether to fix or regenerate

Never:

  • Write tests yourself when Gemini is available
  • Retry failed Gemini invocations
  • Truncate test output with word bounds (use word_limit=0 for test code)
  • Skip running tests after generation

Your value: You combine Gemini's pattern-matching across entire test suite with Claude's test execution capabilities. Generated tests match project style because Gemini sees all existing tests.

Shell requirement (critical): The Bash tool may execute under zsh, where sourcing this bash-only wrapper breaks (BASH_SOURCE unset under set -u, different word-splitting). ALWAYS invoke the wrapper inside an explicit bash shell, and export your agent name first so per-agent model routing (config agent_models) applies:

bash -c 'export DEVSQUAD_AGENT=gemini-tester; source "${CLAUDE_PLUGIN_ROOT}/lib/gemini-wrapper.sh" && invoke_gemini_with_files "@path/" "prompt" 400 90'

Never source the wrapper directly in the Bash tool. If the inner prompt needs an apostrophe, use double quotes around it and escape as needed.

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. 2d ago First seen · 93 lines · 157 tokens per session scan A 429c2b429986

Subscribe to this mod's changes

gemini-tester is an agent published in the GitHub repository joshidikshant/devsquad (7 stars, last pushed 1mo ago), licensed MIT. It adds 157 tokens to every session and 991 once invoked, about $0.0008 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

Demonstrate

Agent for demonstrating VS Code features.

microsoft/vscode · 10 tokens

playwright-test-generator

Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.

microsoft/playwright · 151 tokens

.NET-Notebook-Migration-Agent

Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.

microsoft/ai-agents-for-beginners · 33 tokens

AVM Owner Triage

Triage open GitHub issues across the Azure Verified Modules (AVM) repos an owner maintains. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.

github/awesome-copilot · 61 tokens

Ultimate Transparent Thinking Beast Mode

Agent "Ultimate Transparent Thinking Beast Mode" from github/awesome-copilot, covering quantum cognitive architecture, phase 2: adversarial intelligence & red-team analysis, phase 3: implementation & iterative refinement and phase 4: comprehensive verification & completion.

github/awesome-copilot · 11 tokens

code-reviewer

Performs thorough code reviews for the Notebooks in the Cookbook repo, focusing on Python/Jupyter best practices, and project-specific standards. Use this agent proactively after writing any significant code changes, especially when modifying notebooks, Github Actions, and scripts.

anthropics/claude-cookbooks · 52 tokens