Borrowing it
Nothing to install: this file belongs to matteocervelli/llms. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/matteocervelli/llms/main/.claude/skills/skillify/SKILL.mdgit clone --depth 1 https://github.com/matteocervelli/llmsWrote 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/matteocervelli/llms/skillify)<a href="https://agentmods.dev/skills/matteocervelli/llms/skillify"><img src="https://agentmods.dev/badge/skills/matteocervelli/llms/skillify.svg" alt="Measured on agentmods" 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.00032 | $0.01931 |
| Opus 5 | $0.00016 | $0.00966 |
| Sonnet 5 | $0.00006 | $0.00386 |
| Haiku 4.5 | $0.00003 | $0.00193 |
Grade B, and why
skillify scanned grade B with 1 finding 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 3d 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 directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
**Verify**: `grep -A5 "^ <name>:" ~/.claude/docs/development/registry.yaml` shows the entry. How it starts
The opening of the file, as written. The whole thing — 261 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skillify
Converts a working solution into a permanent skill with routing tests, registry
entry, and DRY compliance. The complement of /hookify (which blocks failures)
— this crystallises successes.
Usage
/skillify <name> # Full 8-step pipeline for a new skill
/skillify <name> --check # Audit an existing skill (steps 3-8 only)
/skillify <name> --step 3 # Run a single step
When to use
- You just solved something ad-hoc and want it reusable
- A workaround worked 3+ times → time to make it a skill
/memory extractsurfaces a recurring pattern worth formalising- After
/quickor a raw session where something clicked
8-Step Pipeline
Run steps in order. Stop and report if any step fails — do not skip.
Step 1 — SKILL.md contract
If ~/.claude/skills/<name>/SKILL.md does not exist, create it.
Required frontmatter:
---
name: <name>
description: "<one sentence, < 200 chars, no quotes inside>"
allowed-tools: Read, Write, Edit, Bash, Grep, Glob # trim to what's needed
---
If it exists, validate:
name:matches directory namedescription:present and < 200 charactersallowed-tools:present
Verify: parse frontmatter with Python — must not raise yaml.YAMLError.
python3 -c "
import yaml, sys
fm = open('$HOME/.claude/skills/<name>/SKILL.md').read()
end = fm.find('---', 3)
d = yaml.safe_load(fm[3:end])
assert 'name' in d and 'description' in d, 'missing fields'
assert len(d['description']) < 200, f'description too long: {len(d[\"description\"])}'
print('OK:', d['name'], '-', d['description'][:60])
"
Step 2 — Deterministic extraction
Read the SKILL.md body. Identify logic that is:
- Computing / parsing / transforming data (same input → same output)
- Making API calls and parsing structured responses
- Searching files or running commands and collecting results
If found: create ~/.claude/skills/<name>/scripts/<name>.py (or .sh) and
replace the prose description with a Run: block that calls the script.
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.
- 3d ago First seen · 261 lines · 32 tokens per session scan B cd0b3e09f67f
skillify is a skill published in the GitHub repository matteocervelli/llms (25 stars, last pushed 3mo ago), licensed MIT. It adds 32 tokens to every session and 1,931 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
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…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
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…