dogfood

dogfood is a skill for Claude Code from paiml/paiml-mcp-agent-toolkit. It costs 40 tokens per session (5,325 once invoked), scanned A, original, MIT.

A read-only testing guide for running every command of PMAT, a code-analysis toolkit, against PMAT's own source code.

In plain words
What is it for?
Use it to rebuild and install PMAT, exercise its full command set, inspect output quality, and report issues. It can target a specified directory or PMAT's own repository.
Why use it?
It checks whether the installed command-line program works end to end and whether its output is complete and reliable. It can expose bugs and identify follow-up work without changing the audited files.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: installed under .agents/ (shared by several agents).

Good fit Use it to rebuild and install PMAT, exercise its full command set, inspect output quality, and report issues. It can target a specified directory or PMAT's own repository.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/paiml/paiml-mcp-agent-toolkit/dogfood
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.

Any agent
npx skills add paiml/paiml-mcp-agent-toolkit --skill dogfood
Clone the repo
git clone --depth 1 https://github.com/paiml/paiml-mcp-agent-toolkit

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 dogfood

README.md
[![agentmods](https://agentmods.dev/badge/skills/paiml/paiml-mcp-agent-toolkit/dogfood/github.svg)](https://agentmods.dev/skills/paiml/paiml-mcp-agent-toolkit/dogfood)
Your own site
<a href="https://agentmods.dev/skills/paiml/paiml-mcp-agent-toolkit/dogfood"><img src="https://agentmods.dev/badge/skills/paiml/paiml-mcp-agent-toolkit/dogfood/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for dogfood

Your own site · 80×15
<a href="https://agentmods.dev/skills/paiml/paiml-mcp-agent-toolkit/dogfood"><img src="https://agentmods.dev/badge/skills/paiml/paiml-mcp-agent-toolkit/dogfood.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,325 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 2 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 5 findings, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Tool Misuse · line 296
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
  • high Agent Snooping · line 300
    Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access.
    Fix: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variabl
  • high Tool Misuse · line 367
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
  • medium Agent Snooping · line 15
    Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
    Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
  • medium Data Exfiltration · line 213
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
How audits are shown
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.1 $0.00040 $0.05325
Opus 5 $0.00020 $0.02662
Sonnet 5 $0.00008 $0.01065
Haiku 4.5 $0.00004 $0.00532

Measured 12d ago against content hash 778ea119dc01, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

dogfood scanned grade A with 2 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 12d 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.

Reads agent configuration directorieslowAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

pmat analyze dead-code --top-files 5 --format json 2>/dev/null | jq -r '.files[].path' | grep -q '.claude/worktrees' && echo "P7 FAIL (worktree paths in results)" || echo "P7 PASS"

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

for _ in $(seq 20); do curl -s -o /dev/null localhost:9977/ && break; sleep 0.5; done
.agents/skills/dogfood/SKILL.md · 369 lines

How it starts

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

PMAT Exhaustive Dogfood — Run pmat On Itself

Rebuild and install the local pmat, then exercise its entire command surface against this repository (pmat analyzing pmat), check output integrity and self-quality, and surface the next work. This is the canonical "does the binary actually work end-to-end" audit — complementary to pmat verify (which runs the CI gate) and make dogfood (which only touches a few analyze commands).

Lineage: modeled on ../aprender/.claude/skills/dogfood/SKILL.md (apr-cli exhaustive QA), adapted to pmat's command surface and bug history.

Context

  • pmat local version: !grep '^version' Cargo.toml | head -1
  • Current git commit: !git rev-parse --short HEAD on !git branch --show-current
  • Installed pmat version: !pmat --version 2>/dev/null || echo "not installed"
  • Subcommand count: !pmat --help 2>/dev/null | sed -n '/Commands:/,/Options:/p' | grep -cE '^ [a-z]'
  • Lib test count: !grep -roE '#\[test\]|#\[tokio::test\]' src/ 2>/dev/null | wc -l test attrs

Arguments

$ARGUMENTS

If arguments name a target directory, dogfood against it. Otherwise dogfood against this repo (the canonical pmat-on-pmat case).

Your Task

Run ALL gates below. For each: run the check, report PASS / FAIL / SKIP with one line of evidence. Run independent gates in parallel (use Agent for fan-out). At the end, give a single GO / WARN / FAIL verdict.

Do NOT modify source files. This is a read-only audit. If bugs are found, file GitHub issues (gh issue create --repo paiml/paiml-mcp-agent-toolkit).

CRITICAL: exit-code capture (the gotcha that fakes bugs)

$? after a pipe reports the LAST stage's status, not your command's. NEVER do pmat foo | tail; echo $?tail always exits 0, so you'll report false passes/fails. Always:

OUT=$(timeout 60 pmat <cmd> 2>&1); EC=$?
echo "$OUT" | tail -3; echo "exit=$EC"

This bug has been filed-then-retracted multiple times in this repo's history. Every gate below uses the OUT=$(...); EC=$? pattern.

Read the full file on GitHub · 369 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. 12d ago First seen · 369 lines · 40 tokens per session scan A 778ea119dc01

Subscribe to this mod's changes

dogfood is a skill published in the GitHub repository paiml/paiml-mcp-agent-toolkit (165 stars, last pushed today), licensed MIT. It adds 40 tokens to every session and 5,325 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 2 findings (reads agent configuration directories, makes network calls). 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

flutter-mcp-toolkit-control

Drive a running Flutter app — tap, scroll, type, fill forms, hot-reload, navigate. Use when you need to interact with the UI.

Arenukvern/mcp_flutter · 38 tokens

11-browser-qa

Run post-review browser QA and produce short named videos for a locked happy path and sourced browser edge cases. Use when the user wants concise reviewer evidence for a web journey. Not for API, CLI, automated tests, diff review, or application fixes.

ai-driven-dev/framework · 55 tokens

harness-engineering-lifecycle

Design, implement, and integrate generalized validation harnesses across a producer-consumer boundary after a local harness contract exists. Use when refactoring custom validation CLIs/MCPs for large polyrepos, extending Steward across sibling repos, or deploying a local tool to a consumer project for dogfooding and…

Arenukvern/mcp_flutter · 88 tokens

flutter-mcp-toolkit-dogfood-iterations

Runs and records fluttertestapp dogfood iterations (toolqualityrubric, rundogfoodeval.sh, dogfoodwebeval.yaml). Use when scoring MCP/intentcall quality, appending iteration N, comparing regressions, or CI static/weekly eval gates.

Arenukvern/mcp_flutter · 66 tokens

coding-agents-hooks-authoring

To author, register, and test Rosetta hooks, add a SemanticKind, or debug a hook that won't fire.

griddynamics/rosetta · 31 tokens

issue-resolve

Use when an assessed gflow-cli issue (verdict CONFIRMED-BUG or LIKELY-BUG) has localized, verifiable scope and should be driven to a fix. Mutating and gated: it works in an isolated worktree, fixes test-first, and opens a DRAFT PR for human review. Built to run autonomously (hermes-ops) within a strict action envelope…

ffroliva/gflow-cli · 97 tokens