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 rhtevan/agentfs --skill skill-evalgit clone --depth 1 https://github.com/rhtevan/agentfsWrote 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/rhtevan/agentfs/skill-eval)<a href="https://agentmods.dev/skills/rhtevan/agentfs/skill-eval"><img src="https://agentmods.dev/badge/skills/rhtevan/agentfs/skill-eval/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/rhtevan/agentfs/skill-eval"><img src="https://agentmods.dev/badge/skills/rhtevan/agentfs/skill-eval.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.00021 | $0.01487 |
| Opus 5.5 | $0.00008 | $0.00595 |
| Sonnet 5.5 | $0.00004 | $0.00297 |
| Haiku 4.5 | $0.00002 | $0.00149 |
Grade A, and why
skill-eval 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 19d 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 — 137 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Eval
Evaluate individual skills against the seven quality principles
defined in skill-gen. Runs deterministic checks on structure,
scripts, and content, plus optional LLM rubric checks for semantic
quality. Produces a severity-graded report per skill.
This skill is the sole authority for skill-level evaluation.
agentfs-eval evaluates workspace health and does NOT inspect
skill internals.
Prerequisites
bash,grep,find,wcshellcheck(optional — S05 skipped if absent)- LLM required only for S23–S26 rubric checks
Modes
| Mode | Signal | Behavior |
|---|---|---|
| Single skill | hey check skill <name> |
Run all checks against that skill, report |
| All skills | hey check all skills |
List skills → ask human permission → run each → summary |
Mode 1: Single Skill
- Resolve skill path — check USER (
~/.agents/skills/<name>/) then PROJECT (./.agents/skills/<name>/) - Run deterministic checks:
bash <skill-dir>/scripts/skill-check.sh <path-to-skill-dir> - Run LLM rubric checks (S23–S26) by reading each rubric YAML and applying it to the skill content
- Present report
Mode 2: All Skills
- List all skills at the target scope (USER or PROJECT)
- Present the list and ask for human confirmation before proceeding
- On approval, run Mode 1 against each skill
- Produce summary report with per-skill pass/warn/fail counts
Checks
Deterministic Checks (S01–S22)
Run via scripts/skill-check.sh. No LLM required.
| ID | P | Check | Severity | Method |
|---|---|---|---|---|
| S01 | 1 | Frontmatter has name, description, metadata.version (quoted semver), metadata.tags (non-empty), user-invocable |
🔴 | YAML parse |
| S02 | 1 | name matches parent directory name |
🔴 | String compare |
| S03 | 1 | Signal phrases are 2–4 words each | 🟡 | Word count |
| S04 | 1 | Opening paragraph after # Title heading |
🟡 | Line scan |
| S05 | 1 | Shellcheck passes on .sh scripts |
🟡 | shellcheck |
| S06 | 1 | Consistent values across scripts and SKILL.md (ports, hostnames) | 🟡 | Cross-reference |
| S07 | 2 | Referenced commands exist | 🟡 | command -v |
| S08 | 2 | Referenced file paths exist | 🔴 | Filesystem check |
| S09 | 2 | Supporting Files section matches actual directory contents | 🟡 | Dir listing diff |
| S10 | 2 | No references to deleted/renamed files | 🔴 | Path check |
| S11 | 3 | CHANGELOG.md exists; latest version matches metadata.version |
🟡 | Version compare |
| S12 | 3 | Markdown well-formed (unclosed code blocks, broken tables) | 🟢 | Syntax scan |
| S13 | 4 | Specification section exists with IDs | 🟡 | Section scan |
| S14 | 4 | Tests section exists with testcases mapped to spec IDs | 🟡 | Section + ID cross-ref |
| S15 | 5 | No hardcoded secrets/API keys in scripts | 🔴 | Regex patterns |
| S16 | 5 | No eval/source of untrusted input in scripts |
🔴 | Grep scan |
| S17 | 6 | SKILL.md line count; warn if >300 | 🟡 | wc -l |
| S18 | 6 | ## References section if references/ dir exists |
🟡 | Dir + heading check |
| S19 | 7 | Scripts use semantic exit codes (0/1/2/3) | 🟡 | Parse exit statements |
| S20 | 7 | Error Handling table exists | 🟡 | Section scan |
| S21 | 7 | Troubleshooting table exists | 🟡 | Section scan |
| S22 | 7 | Privilege gates use exit 3 | 🟡 | Grep sudo + exit code |
What ships with it
6 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.
- 19d ago First seen · 137 lines · 21 tokens per session scan A 4b8fc7119871
skill-eval is a skill published in the GitHub repository rhtevan/agentfs (2 stars, last pushed yesterday), licensed Apache-2.0. It adds 21 tokens to every session and 1,487 once invoked, about $0.0001 per session on Opus 5.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-10-03.
Other skills, from other repositories
research-engineer
An uncompromising Academic Research Engineer. Operates with absolute scientific rigor, objective criticism, and zero flair. Focuses on theoretical correctness, formal verification, and optimal implementation across any required technology.
tika-eval-compare
Compare extracts from two Tika builds over a corpus to detect regressions in content, encoding, exceptions, and embedded-document handling. Use for "compare before/after extracts", "eval this change against the corpus".
cua-driver
Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.
jetson-validate-image
Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build or flash steps. Triggers: validate bsp, on-target validation.
atmos-validation
Validate Atmos projects, components, arbitrary JSON Schema inputs, EditorConfig, and GitHub Actions; use affected-file selection and native CI annotations.
skill-benchmark
Benchmark AI skill effectiveness by measuring implementation quality against legacy constraints.