catalog-audit

catalog-audit is a skill for Claude Code, Codex from stacklok/toolhive-catalog. It costs 137 tokens per session (2,264 once invoked), scanned A, original, Apache-2.0.

A report-only checker for existing ToolHive catalogue entries. It compares each entry with its container image, source repository, documented environment variables, and required network access.

In plain words
What is it for?
Use it to check whether catalogue images still exist, repositories are active, and declared settings and network permissions still fit the server.
Why use it?
It finds catalogue information that has become outdated or no longer matches the upstream project without changing the registry.

Skill for Claude CodeCodex

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 skills/stacklok/toolhive-catalog/catalog-audit
Any agent
npx skills add stacklok/toolhive-catalog --skill catalog-audit
Clone the repo
git clone --depth 1 https://github.com/stacklok/toolhive-catalog

Made for: Claude Code, Codex.

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 catalog-audit

README.md
[![agentmods](https://agentmods.dev/badge/skills/stacklok/toolhive-catalog/catalog-audit.svg)](https://agentmods.dev/skills/stacklok/toolhive-catalog/catalog-audit)
Your own site
<a href="https://agentmods.dev/skills/stacklok/toolhive-catalog/catalog-audit"><img src="https://agentmods.dev/badge/skills/stacklok/toolhive-catalog/catalog-audit.svg" alt="Measured on agentmods" height="20"></a>
Per session 137 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,264 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.00137 $0.02264
Opus 5 $0.00068 $0.01132
Sonnet 5 $0.00027 $0.00453
Haiku 4.5 $0.00014 $0.00226

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

Security

Grade A, and why

catalog-audit 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.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/check_entries.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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/skills/catalog-audit/SKILL.md · 190 lines

How it starts

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

Catalog audit

Audit catalog entries that are already in the registry for three kinds of drift:

  1. Still valid - the pinned OCI image still resolves; repository.url still loads.
  2. Still active - the upstream repo isn't archived/disabled and isn't stale.
  3. Still canonically correct - declared env vars and the network-permission profile match what the upstream project actually documents and requires.

This is report-only. Produce findings for a human to triage; never edit a server.json, open a PR, or change permissions. The output is a dated markdown report under audits/.

Checks 1 and 2 are mechanical and run via the bundled script. Check 3 needs judgment over upstream docs and is done by fanning out sub-agents. Grading rules and severity live in references/audit-criteria.md - read it before writing findings.

Step 1 - resolve scope

Infer scope from the request, don't ask for rigid flags. Map intent to a server set:

  • "the community servers" / "community tier" -> --tier community
  • "official servers" -> --tier official
  • "the whole catalog" / "everything" -> --tier all
  • "re-check X, Y, Z" / a list of names -> --names X,Y,Z
  • a specific registry tree -> --registry toolhive|official|all (default toolhive)

The repo has two server trees: registries/toolhive/servers/ (contribution path, default) and registries/official/servers/ (curated subset). Default to toolhive unless the user clearly means otherwise.

Skills (registries/toolhive/skills/) are out of scope unless explicitly asked. If asked, audit them separately (their packages[] carry registryType: git with a ref/subfolder and registryType: oci images - check the git ref resolves and the repo is active; there are no env vars or network permissions to canonicalize).

State the resolved scope and the entry count back to the user before crawling, so a mistaken scope is caught early.

Step 2 - mechanical checks (script)

Read the full file on GitHub · 190 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 4d ago First seen · 190 lines · 137 tokens per session scan A 0bbf9fb97786

Subscribe to this mod's changes

catalog-audit is a skill published in the GitHub repository stacklok/toolhive-catalog (22 stars, last pushed today), licensed Apache-2.0. It adds 137 tokens to every session and 2,264 once invoked, about $0.0007 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 skills, from other repositories

npm-search

Search npm packages, compare libraries, and check download stats via MCP. Use when evaluating or researching npm packages.

ofershap/mcp-server-npm · 25 tokens

agent-registry

Discover, register, and hire ERC-8004 autonomous agents across 22,000+ agents on EVM + Solana. Search by capability, check on-chain reputation scores, compare agent services by category with composite scoring, browse the service catalog, enrich agent profiles, check buyer reputation, and get complete machine-readable…

lxyeternal/MalSkillBench · 78 tokens

opik-diagnose

Surface the Opik traces worth a developer's attention, ranked by signal — errors, failed tool calls, latency, regressions, and low online-eval scores — plus Diagnostics issues. Reads live/production traces via the SDK (searchtraces and agentinsights) and works with no MCP; uses the MCP issue entity when connected.…

comet-ml/opik-mcp · 147 tokens

client-scripts

Write ServiceNow client scripts (onLoad/onChange/onSubmit/onCellEdit) using gform, guser, GlideAjax, field visibility/mandatory toggles, and validation with debounced server calls.

serac-labs/serac · 45 tokens

agoragentic-transaction-assurance

Prepare, evaluate, and reconcile autonomous agent transactions without self-granting payment or owner authority. Use when an agent must bind principal authority, seller terms, payment evidence, execution, delivered outcome, and reconciliation; handle paid retries safely; or prepare an authority request for owner…

rhein1/agoragentic-integrations · 65 tokens

maya-shot-export

Pipeline stage — shot-level export: frame ranges, cameras, FBX / Alembic packaging for editorial. Use when packaging shot data for downstream departments. Not for full pipeline publish (maya-pipeline) or scene assembly (maya-scene-assembly).

dcc-mcp/dcc-mcp-maya · 60 tokens