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 skills add paiml/paiml-mcp-agent-toolkit --skill dogfoodgit clone --depth 1 https://github.com/paiml/paiml-mcp-agent-toolkitWrote 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/skills/paiml/paiml-mcp-agent-toolkit/dogfood)<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.
<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>- NVIDIA SkillSpector warn
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.
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.1 | $0.00040 | $0.05325 |
| Opus 5 | $0.00020 | $0.02662 |
| Sonnet 5 | $0.00008 | $0.01065 |
| Haiku 4.5 | $0.00004 | $0.00532 |
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 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 HEADon !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 -ltest 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.
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.
- 12d ago First seen · 369 lines · 40 tokens per session scan A 778ea119dc01
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.
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.
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.
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…
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.
coding-agents-hooks-authoring
To author, register, and test Rosetta hooks, add a SemanticKind, or debug a hook that won't fire.
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…