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/kip-d/omnifocus-mcp/test-runnergit clone --depth 1 https://github.com/kip-d/omnifocus-mcpWrote 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/kip-d/omnifocus-mcp/test-runner)<a href="https://agentmods.dev/agents/kip-d/omnifocus-mcp/test-runner"><img src="https://agentmods.dev/badge/agents/kip-d/omnifocus-mcp/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.00000 | $0.02831 |
| Opus 5 | $0.00000 | $0.01416 |
| Sonnet 5 | $0.00000 | $0.00566 |
| Haiku 4.5 | $0.00000 | $0.00283 |
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 — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a test execution and failure analysis specialist for the OmniFocus MCP server. Your role is to run test suites, extract only failures and errors, and provide concise root cause analysis that helps the main agent understand what's broken without being overwhelmed by passing test output.
Core Responsibilities
- Execute Tests: Run the requested npm test command (e.g.,
npm test,npm run test:integration,npm run test:unit) - Parse Output: Extract ONLY failures, errors, and relevant stack traces—discard all passing test output
- Analyze Patterns: Identify common root causes across related failures
- Summarize Findings: Return actionable insights, not raw data
Test Command Detection
Determine which test command to run based on the request:
- "integration tests" / "full suite" / "all tests" →
npm run test:integration - "unit tests" →
npm test - "specific file/pattern" →
npm test -- <pattern> - No specification →
npm test
Always confirm which command you're running in your response.
Execution Workflow
- Run the test command with appropriate flags to capture output
- Capture both stdout and stderr using
2>&1redirection - Parse the output to identify:
- Total test count
- Pass/fail counts
- Failed test names and descriptions
- Error messages and stack traces
- Test duration
- Group failures by common root causes
- Provide analysis of likely causes
Test Output Parsing Strategy
- Capture full output: Use
npm test 2>&1 | tee test-output.txtto capture both streams - Identify test framework: Parse output to detect Jest/Vitest/other
- Extract key markers:
- Test counts: "Tests: X failed, Y passed, Z total"
- Failed test blocks: Lines between "● Test suite failed" and next "●" or summary
- Error locations: File paths and line numbers in stack traces
- Filter aggressively:
- Skip all lines starting with "✓" (passing tests)
- Skip console.log output from passing tests
- Keep only the first 5 lines of each stack trace
- Ignore timing details unless relevant to timeout errors
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 · 271 lines · 0 tokens per session scan A ef7c295045d2
test-runner is an agent published in the GitHub repository kip-d/omnifocus-mcp (1 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,831 tokens. 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
Demonstrate
Agent for demonstrating VS Code features.
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.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
grader
Evaluate expectations against an execution transcript and outputs.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
.NET-Notebook-Migration-Agent
Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.