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 escoffier-labs/skillet --skill publish-readinessgit clone --depth 1 https://github.com/escoffier-labs/skilletWrote 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/escoffier-labs/skillet/publish-readiness)<a href="https://agentmods.dev/skills/escoffier-labs/skillet/publish-readiness"><img src="https://agentmods.dev/badge/skills/escoffier-labs/skillet/publish-readiness/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/escoffier-labs/skillet/publish-readiness"><img src="https://agentmods.dev/badge/skills/escoffier-labs/skillet/publish-readiness.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00062 | $0.01079 |
| Opus 5 | $0.00031 | $0.00540 |
| Sonnet 5 | $0.00012 | $0.00216 |
| Haiku 4.5 | $0.00006 | $0.00108 |
Grade A, and why
publish-readiness 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 11d 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 — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
publish-readiness
The gate between a private repo and a public one. Working-tree scans catch today's leaks; history is where leaks hide. Verdict at the end: ship or fix first, with exact commands.
The checklist
Run every check. Report each as pass/fail with evidence.
1. Working tree scan
Search tracked files for:
- Secrets: API keys, tokens, passwords, private keys (
grep -rEfor common prefixes likeAKIA,ghp_,sk-,AIza,-----BEGIN, pluspassword\s*=) - Private IPs: RFC 1918 ranges (
10\.,172\.(1[6-9]|2[0-9]|3[01])\.,192\.168\.). Docs and examples should use RFC 5737 (192.0.2.x,198.51.100.x,203.0.113.x) or RFC 2544 (198.18.0.0/15) ranges instead. - Internal hostnames, machine names, LAN service URLs, personal email addresses that are not the public git identity
- Agent session dirs accidentally tracked:
.claude/,.codex/, memory handoffs, transcripts
A policy-driven scanner beats ad hoc grep. Install brigade-cli with pipx install brigade-cli. The pre-push hook calls brigade guard git. Scan only tracked files (git ls-files), not node_modules/.
2. History scan
The tree being clean means nothing if a secret was committed and later deleted:
git log --all -p | grep -nE '<patterns from check 1>'
git log --all --pretty=format:'%s%n%b' | grep -nE '<same>' # commit messages too
3. Hygiene
- LICENSE present and intentional
- README states what/why/how-to-run; no dead internal links or references to private repos
.gitignorecovers.claude/,.codex/, env files, build artifacts- No leftover TODO referencing private context ("ask about the prod box")
4. Remote state (if already public)
- No backup branches holding pre-scrub history:
git ls-remote origin 'refs/heads/backup/*' - Tags match local after any history rewrite
Remediation: history rewrite
When check 2 fails, forward-only "scrub commits" do not fix it; old content stays reachable. The recipe:
- Tarball
.gitsomewhere outside the repo (the only real safety net; local backup branches get rewritten too). - Build a replacements file,
old==>newper line, longest matches first. git filter-repo --replace-text <file> --force(also--replace-messageif commit messages quoted the strings).- filter-repo strips the origin remote; re-add it.
- Force-push the branch AND every tag (filter-repo repoints tags to new SHAs; stale remote tags keep the leak alive).
- Delete any remote backup branches.
- Verify from a fresh clone in /tmp, never from the working tree.
What ships with it
2 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.
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.
- 11d ago First seen · 80 lines · 62 tokens per session scan A a5a6adb1055b
publish-readiness is a skill published in the GitHub repository escoffier-labs/skillet (4 stars, last pushed 10d ago), licensed MIT. It adds 62 tokens to every session and 1,079 once invoked, about $0.0003 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-31.
Other skills, from other repositories
assess-interview-candidate
A structured hiring-assessment workflow that turns a candidate's résumé and a job description into reviewable evidence, interview questions, and an offline HTML report for interviewers.
task-clarifier
Deep need-clarification skill. Use only when the user explicitly invokes $task-clarifier. Once activated, keep asking until all three goals are met: the user fully understands their own needs, the AI fully understands the user's needs, and the user confirms the AI's understanding is correct. Do not intervene in task…
user-profile-keeper
Local user-profile maintenance skill for Codex, Claude Code, OpenClaw, OpenCode, and other agent harnesses. Use only when the user explicitly invokes $user-profile-keeper to create, initialize, update, query, correct, delete, export, or audit a local persistent user profile. It can extract durable collaboration…
run-history-skill-builder
Turn a completed task, browser flow, artifact pipeline, failure-recovery trace, or repeatedly refined workflow into a new reusable skill package or a reviewed skill-design plan. Use when the user asks to make a new skill from real run history, extract a reusable workflow from conversation/logs/files, summarize lessons…
run-history-skill-upgrader
Use real run evidence, validation failures, source drift, platform drift, and user feedback to plan and, only after explicit approval, apply structural upgrades to an existing skill. Use when the user asks to improve an existing skill from recent runs, recurring failures, outdated sources, excessive bloat, changed…
session-handoff-prompt
Create a concise continuation prompt that a fresh agent session can paste in to resume a long or degraded session. Use when the user asks for a handoff prompt, restart prompt, continuation prompt, context transfer, fresh-session resume, or a compact summary for opening a new session. Do not use for ordinary summaries…