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 agentmods add skills/uipath/coder_eval/check-skillnpx skills add UiPath/coder_eval --skill check-skillgit clone --depth 1 https://github.com/UiPath/coder_evalWhat 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 | $0.00040 | $0.03387 |
| Opus 5 | $0.00020 | $0.01693 |
| Sonnet 5 | $0.00008 | $0.00677 |
| Haiku 4.5 | $0.00004 | $0.00339 |
Grade A, and why
check-skill 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 2d 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 — 265 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill activation check
A skill only earns its keep if the model reaches for it at the right moment. That
decision is made almost entirely from the skill's frontmatter description — so
"does my skill trigger?" is a measurable question, and this is how you measure it:
build a labelled set of user requests, run a real agent against each one, and score
whether the skill was engaged.
The user's request is: $ARGUMENTS
Step 1 — Locate the target skill
$ARGUMENTS may be a path to a SKILL.md, a path to the skill's directory, a
skill name, or empty.
- Empty: glob
.claude/skills/*/SKILL.mdand**/skills/*/SKILL.md. One match → use it. Several → list them and ask which. None → say so and stop. - A directory: use the
SKILL.mdinside it. - A name: find the matching skill directory.
The bare skill name is the directory name containing SKILL.md. Read the
frontmatter description and keep it in front of you: that string is what the model
matches against, so it is the primary input to row design and the thing you will end
up recommending edits to.
Measure its length while you are there — two separate budgets truncate it, and either one produces a low-recall result that looks exactly like bad wording.
- Per-skill truncation.
descriptionandwhen_to_useare concatenated and cut at a fixed character budget — 1,536 characters, configurable via theskillListingMaxDescCharssetting. Trigger text past the cutoff cannot affect activation at all, so it may as well not exist. - The whole-listing budget, which matters more in exactly the repositories that run activation suites. The listing always contains every skill name, but its total character budget scales at about 1% of the model's context window, shared across every skill the user has installed. When it overflows, Claude Code drops descriptions starting with the skills you invoke least.
The second one has a consequence worth stating plainly: in a many-skill repository a skill can score near-zero recall with a perfectly good description, because its description was never in the listing. Rewriting the wording then fixes nothing. And the drop order is least-invoked-first, so a newly authored skill — which is by definition rarely invoked, and is exactly what someone runs this suite on — is the most likely victim. That is a systematic bias against the skill under test.
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.
- 2d ago First seen · 265 lines · 40 tokens per session scan A c9a7150529c0
check-skill is a skill published in the GitHub repository UiPath/coder_eval (119 stars, last pushed 4d ago), licensed Apache-2.0. It adds 40 tokens to every session and 3,387 once invoked, about $0.0002 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
execution
M-1.4 execution skill — 跑 single task 产 patch + 提交 envelope。.
fix-self-check
M-1.6 envelope self-check——独立性保证不自欺欺人 (5 blockingcheck)。由 CLI ./tw fix complete --self-check-mode fork(默认即 fork)自动派起,不经 Skill 工具调用;fix 主会话产 FixCompleted 前直读本文,是为理解双层验证关系。.
review
M-1.5 review skill — 在 patch 跟 contract 之间找 finding,produce Finding 一等对象。.
dependency-analyze
从 task 的 read/write set + concept statemachine 推导 6 种依赖类型的提案。主 planner 决定边的真实性。派它时只给 read/write set 与疑点、不给预期边集;已有预判逐条标「待复核」交它取证。.
execution-self-check
Pre-submit 自检——envelope 提交 commit gate 前必跑。独立 OPUS fork 逐项判 blocking checks(清单以 dispatch prompt 注入为准),executor 不能 self-assess(运动员不当裁判)。.
fix
修复者 — 把一条被发现的问题(finding)按它的闭合合约修干净,修一个不制造下一个。产 FixProposed + 临时的 FixCompleted,不自判问题关闭(那是复查的权)。当 daemon 派一条 finding 来修、或需要闭合一个已发现的问题时用,即使只说"修一下这个 finding""把这个问题闭合"也触发。调用名就是 fix(Skill 工具)或 /fix(命令),没有 harness: 之类的前缀。.