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 ivy00johns/Skill-Madness --skill skill-reviewgit clone --depth 1 https://github.com/ivy00johns/Skill-MadnessWrote 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/ivy00johns/skill-madness/skill-review)<a href="https://agentmods.dev/skills/ivy00johns/skill-madness/skill-review"><img src="https://agentmods.dev/badge/skills/ivy00johns/skill-madness/skill-review/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/ivy00johns/skill-madness/skill-review"><img src="https://agentmods.dev/badge/skills/ivy00johns/skill-madness/skill-review.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.00121 | $0.02301 |
| Opus 5 | $0.00060 | $0.01151 |
| Sonnet 5 | $0.00024 | $0.00460 |
| Haiku 4.5 | $0.00012 | $0.00230 |
Grade A, and why
skill-review 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 10d 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 — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Review
One skill, two modes. Use --scope=all for an ecosystem-wide bulk scan; use --scope=<skill-name> for a thorough single-skill deep dive. Both modes produce a structured markdown report plus a JSON sidecar that skill-update can consume to generate fix plans.
When to Use
- Periodic health check across the skill ecosystem (
--scope=all) - After bulk edits or a new batch of skills lands (
--scope=all) - Reviewing a single skill before publishing (
--scope=<name>) - Investigating why one skill won't trigger or produces poor output (
--scope=<name>) - Quality-gating a skill before it enters the ecosystem (
--scope=<name>)
Inputs
The skill takes a single positional argument:
all— bulk scan acrossskills/**/SKILL.md<skill-name>— deep dive onskills/**/<skill-name>/SKILL.md
Optional follow-on context:
- Focus — narrow the run to specific checks ("just ownership", "just descriptions")
- Why-now — what prompted the review (e.g., "it never triggers", "outputs are wrong")
Process
Phase 0: Parse the Argument
- Read the argument. If it equals
all(case-insensitive), enter Mode A. - Otherwise treat the argument as a skill name. Glob for
skills/**/<arg>/SKILL.md. If exactly one match, enter Mode B. If zero matches, return a list of fuzzy candidates and stop. If multiple matches, ask the user to disambiguate.
Mode A — Bulk Scan (--scope=all)
Optimize for speed. Score quickly, flag issues, move on. Use subagents to parallelize check categories where available.
A1. Discovery
- Glob
skills/**/SKILL.md - Parse frontmatter from each
- Build a skill inventory table with columns: Skill, Category, Version, Description Length, Body Lines, Refs Count
A2. Bulk Checks
Run these check categories. Full checklist lives in references/audit-checklist.md.
- Frontmatter consistency — required fields present, name matches directory, version is valid semver, description starts with action verb and is ≤200 chars
- Spec compliance (FAIL) — no
<or>in frontmatter field values (security rule); description ≤1024 chars (hard ceiling) - Spec compliance (WARN) — reserved-prefix name (
claude-*/anthropic-*). Acceptable as a documented exception when the skill targets the corresponding Anthropic product. Verify the documented exception exists in the skill body. - Tool field naming —
allowed-tools(hyphen) is canonical;allowed_tools(underscore) accepted as deprecated alias (warn but don't fail) - Ownership conflict detection — collect every
owns.directoriesandowns.patternsacross agent roles. Flag overlaps. Validate against the v1.1 resolved conflicts table infrontmatter-spec.md - Description quality scoring — has action verb, ≥3 trigger contexts, keyword variants, states exclusions if ambiguous, estimated "pushiness" (low/medium/high)
- Progressive disclosure — SKILL.md body line + word count, references linked from body, body >5,000 words OR >500 lines flagged (soft warning), references >300 lines without TOC flagged
- Cross-skill consistency —
composes_withandspawned_bypoint to real skills, no circularcomposes_withchains, no orphan reference files - Coverage gaps — compare inventory against
docs/architecture.md,CLAUDE.md, and the orchestrator's File Ownership Map; flag roles or workflows referenced but not implemented
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.
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.
- 10d ago First seen · 162 lines · 121 tokens per session scan A 2fb2385b1a0d
skill-review is a skill published in the GitHub repository ivy00johns/Skill-Madness (11 stars, last pushed 2d ago), licensed MIT. It adds 121 tokens to every session and 2,301 once invoked, about $0.0006 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.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…