tooling-runner

tooling-runner is an agent for Claude Code from adamayoung/TMDb. It costs 89 tokens per session (2,487 once invoked), scanned A, original, Apache-2.0.

A controlled runner for one TMDb Swift package build or test command. It stores the complete command output in a log and returns a short result with failures identified by file and line.

In plain words
What is it for?
Use it for one requested build, build-for-testing, unit-test, or integration-test target when you need a concise pass or failure report.
Why use it?
It keeps noisy build output out of the main workflow and ensures commands run against the intended working copy.

Agent for Claude Code

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/adamayoung/tmdb/tooling-runner
Clone the repo
git clone --depth 1 https://github.com/adamayoung/TMDb

Made for: Claude Code.

Wrote 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.

agentmods badge for tooling-runner

README.md
[![agentmods](https://agentmods.dev/badge/agents/adamayoung/tmdb/tooling-runner.svg)](https://agentmods.dev/agents/adamayoung/tmdb/tooling-runner)
Your own site
<a href="https://agentmods.dev/agents/adamayoung/tmdb/tooling-runner"><img src="https://agentmods.dev/badge/agents/adamayoung/tmdb/tooling-runner.svg" alt="Measured on agentmods" height="20"></a>
Per session 89 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,487 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.00089 $0.02487
Opus 5 $0.00044 $0.01243
Sonnet 5 $0.00018 $0.00497
Haiku 4.5 $0.00009 $0.00249

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

Security

Grade A, and why

tooling-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 5d 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.

.claude/agents/tooling-runner.md · 191 lines

How it starts

The opening of the file, as written. The whole thing — 191 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Claude Subagent: Tooling Runner (build/test)

You run exactly one build or test target for the TMDb Swift package and report the result concisely. Your job is containment: the raw output stays in a log file and out of the caller's context. Run only the target you were asked for — nothing else.

You cannot modify the tree. disallowedTools removes Edit, Write and NotebookEdit — you report failures, you never fix them — plus Agent and Skill, so you cannot fan out or re-enter the build skills that spawned you. Bash and the xcode-tools MCP are yours, because running the target is the job. The log file is written by the shell redirect in the make command, not by a file-writing tool.

Working directory — required, and never assumed

Your shell does not reliably inherit the caller's working directory. When the caller is working in a git worktree (every /deliver run is), a bare make runs against the main checkout instead — building pristine sources that lack the caller's changes, and reporting a green build or "no matching test cases found" for suites that plainly exist. Silent, and wrong in the most convincing direction.

So the package directory is passed to you explicitly and you must never fall back to pwd:

  1. The task names an absolute package directory. If it does not, stop and report Status: refused — no package directory supplied (see Refusing safely). Do not guess, and do not run the target.
  2. Verify it before running: test -f "<dir>/Package.swift". If that fails, stop and report Status: refused — no Package.swift at <the path you were given>. A wrong path must be an error, not a misleading result.
  3. Run every command against that directory explicitlymake -C "<dir>" and absolute log paths. Do not cd; -C is unambiguous and leaves no chance of a later command running elsewhere.
  4. Echo the directory you used in your report, so the caller can confirm the run hit the right tree.

Read the full file on GitHub · 191 lines

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. 5d ago First seen · 191 lines · 89 tokens per session scan A f60032581db8

Subscribe to this mod's changes

tooling-runner is an agent published in the GitHub repository adamayoung/TMDb (176 stars, last pushed 10d ago), licensed Apache-2.0. It adds 89 tokens to every session and 2,487 once invoked, about $0.0004 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.

Related

Other agents, from other repositories

js-error-handler-auditor

Use this agent when you need to audit a JavaScript codebase for unhandled errors in top-level async operations, event handlers, and callback functions. This agent should be used proactively when:\n\n \nContext: User wants to improve error handling across their JavaScript codebase.\nuser: "Can you check if we're…

rivet-dev/actors · 0 tokens

i18n

Hermex ships one String Catalog, HermesMobile/Resources/Localizable.xcstrings, included in the app, widget, and share-extension targets. Every user-facing literal is already externalized (String(localized:) / LocalizedStringKey), so adding a language is normally translation-only — no Swift edits.

uzairansaruzi/hermex · 0 tokens

feature-gap-index

Thin, always-current classification of upstream Hermes-WebUI API route groups against Hermes-Mobile. This file replaces an earlier 1,400-line per-endpoint catalog, which mixed durable judgment (priority, defer/skip decisions, safety notes) with volatile detail (exact JSON shapes, handler names) that rotted between…

uzairansaruzi/hermex · 0 tokens

issue-tracker

Issues and PRDs for this repo live as GitHub issues. Use the gh CLI for issue operations.

uzairansaruzi/hermex · 0 tokens

omp

Install Remarc's public OMP plugins, verify the MCP connection, and pair a session for instant comment delivery.

metedata/Remarc · 23 tokens

triage-labels

The skills speak in terms of five canonical triage roles. This file maps those roles to the actual label strings used in this repo's issue tracker.

shaps80/SwiftUIBackports · 0 tokens