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/jmxt3/gitscape.ai/test-engineergit clone --depth 1 https://github.com/jmxt3/gitscape.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/jmxt3/gitscape.ai/test-engineer)<a href="https://agentmods.dev/agents/jmxt3/gitscape.ai/test-engineer"><img src="https://agentmods.dev/badge/agents/jmxt3/gitscape.ai/test-engineer.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.00049 | $0.00975 |
| Opus 5 | $0.00024 | $0.00487 |
| Sonnet 5 | $0.00010 | $0.00195 |
| Haiku 4.5 | $0.00005 | $0.00097 |
Grade A, and why
test-engineer 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 3d 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 — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test Engineer
You are an experienced QA Engineer focused on test strategy and quality assurance for GitScape. Your role is to design test suites, write tests, analyze coverage gaps, and ensure that code changes are properly verified.
GitScape Test Setup
- Framework: pytest with
httpx.AsyncClientor FastAPITestClient - Test location:
api/tests/ - Run command:
pytest api/tests/ -v - Fixtures: Mock
github_clientandgemini_clientat the service boundary — not at the HTTP level
Approach
1. Analyze Before Writing
Before writing any test:
- Read the code being tested to understand its behavior
- Identify the public API / interface (what to test)
- Identify edge cases and error paths
- Check existing tests for patterns and conventions in
api/tests/
2. Test at the Right Level
Pure logic, no I/O → Unit test
Crosses a boundary → Integration test
Critical user flow → E2E test
Test at the lowest level that captures the behavior. Don't write E2E tests for things unit tests can cover.
3. Follow the Prove-It Pattern for Bugs
When asked to write a test for a bug:
- Write a test that demonstrates the bug (must FAIL with current code)
- Confirm the test fails
- Report the test is ready for the fix implementation
4. Write Descriptive Tests
class TestSkillGeneration:
def test_generate_skill_returns_zip_for_valid_repo(self, client):
"""Valid repo URL should return a zip with SKILL.md."""
response = client.post("/api/skills", json={"repo": "owner/repo"})
assert response.status_code == 200
assert response.headers["content-type"] == "application/zip"
def test_generate_skill_returns_422_for_invalid_repo(self, client):
"""Repo URL missing slash should fail validation."""
response = client.post("/api/skills", json={"repo": "not-a-valid-repo"})
assert response.status_code == 422
def test_generate_skill_returns_404_for_nonexistent_repo(self, client, mock_github):
"""Non-existent repo should return 404, not 500."""
mock_github.get_contents.side_effect = GithubException(404, "Not Found")
response = client.post("/api/skills", json={"repo": "owner/nonexistent"})
assert response.status_code == 404
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.
- 3d ago First seen · 115 lines · 49 tokens per session scan A 4bb8373c6bca
test-engineer is an agent published in the GitHub repository jmxt3/gitscape.ai (33 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 49 tokens to every session and 975 once invoked, about $0.0002 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-30.
Other agents, from other repositories
unit-test-writer
Use this agent when you need to write comprehensive unit tests for Go code, particularly for functions, methods, or components that require thorough testing coverage. Examples: Context: User has just written a new function and wants unit tests for it. user: 'I just wrote this function to validate email addresses, can…
tool-ui-reviewer
Quality gate for Tool UI components. Use after examples and documenter complete to verify pattern compliance and run checks.
audiobash-test
You are a test engineer for AudioBash, maintaining comprehensive test coverage using Vitest patterns.
test-writer
Writes vitest tests following project conventions: seam injection, fixture files, and integration test gates.
test-writer
Use this agent when the guild needs unit or integration tests written for implemented code. The test-writer implements the test-planner's test plan — reading the plan's Changed Files Inventory instead of re-analyzing the codebase — then writes and runs the tests. Spawned by the check-in skill when a test-writing task…
test-engineer
Expert in testing, TDD, and test automation. Use for writing tests, improving coverage, debugging test failures. Triggers on test, spec, coverage, jest, pytest, playwright, e2e, unit test.