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 hxy91819/mason-skills --skill skill-testgit clone --depth 1 https://github.com/hxy91819/mason-skillsWrote 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/hxy91819/mason-skills/skill-test)<a href="https://agentmods.dev/skills/hxy91819/mason-skills/skill-test"><img src="https://agentmods.dev/badge/skills/hxy91819/mason-skills/skill-test/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/hxy91819/mason-skills/skill-test"><img src="https://agentmods.dev/badge/skills/hxy91819/mason-skills/skill-test.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.00024 | $0.01478 |
| Opus 5 | $0.00012 | $0.00739 |
| Sonnet 5 | $0.00005 | $0.00296 |
| Haiku 4.5 | $0.00002 | $0.00148 |
Grade A, and why
skill-test 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 today.
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 — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Test
这是流程类 Skill,仅在用户显式调用 $skill-test 时运行。主 Agent 设计测试、保存判定标准并复核证据;新建的原生 subagent 只接收待测 skill 与原始任务并完成任务。
建立测试契约
- 完整读取待测
SKILL.md及完成测试所需的直接引用。 - 优先使用用户给出的原始任务;没有时,按待测 skill 的描述构造一个最小、真实、可验证的任务。
- 在 subagent 上下文之外记录可观察的成功标准、工作区基线、安全边界和允许的副作用。
- 为生成物准备临时目录、隔离夹具、mock 或只读环境。测试任务需要额外授权且无法安全等价时,报告受阻。
待测 skill、原始任务、成功标准、基线和隔离方式均明确后再派生 subagent。
选择 subagent 和模型
使用当前宿主提供的原生 subagent/delegation 工具;不要通过 ACPX 或 shell 启动另一个 coding agent。
按以下顺序选择模型:
- 用户指定模型时使用该模型;不可用则报告基础设施失败,不静默替换。
- 宿主允许选择模型时,优先选择具备任务所需工具与上下文长度的非 frontier、较低成本模型。只有模型目录或用户明确标注时才写
non-frontier,无法确认时写unknown。 - 宿主不允许选择模型时使用其原生默认值或继承值,并在结果中明确说明模型选择未受控。
模型较弱造成的失败是测试信号,不自动改用更强模型覆盖。需要区分 skill 缺陷和模型能力边界时,再用同一任务增加一个更强模型对照组。
保持测试上下文纯净
创建全新 subagent,不继承当前对话。Codex 使用 spawn_agent 的 fork_turns: "none";其他宿主使用等价的 fresh/isolated context 选项。若宿主只能继承当前上下文,可以继续做探索性测试,但必须标为 context_isolated=no,不得声称是盲测。
发送给 subagent 的任务只包含:
Use $<skill-name> at <absolute-skill-path> to complete this user request:
<original-user-request>
若 subagent 可稳定发现该 skill,可省略路径,但仍显式写 $<skill-name>。不得加入成功标准、预期答案、已知缺陷、怀疑原因、拟议修复、实现计划、历史输出或主 Agent 结论。安全隔离放在环境和权限边界中,不写进任务来暗示期望行为。
保存实际发送的完整任务。删除 skill 选择行与原始任务后,不应剩余测试语义;满足此条件才派生 subagent。
执行与取证
一次测试对应一个全新 subagent。A/B 或多模型对照使用彼此独立的 subagent;环境没有共享写入时可并行执行。
subagent 完成后,由主 Agent 检查:
- 实际模型、上下文隔离方式及其原生运行标识;
- subagent 是否读取并使用了指定 skill;
- 工具调用、错误、最终答复和可观察产物;
- 工作区变化、测试结果、安全边界和完成条件;
- 是否出现任务之外的上下文泄漏。
subagent 的自我评价不是通过证据。未成功派生、未读取 skill、模型不可用或工具基础设施失败时,结论是 infrastructure-failed,不是 skill 失败。
判定与对照
主 Agent依据预先保存的标准给出 passed、partial、failed 或 infrastructure-failed,每项判断都对应可复核证据。
验证一次 skill 修订时优先做盲 A/B:
- 将修订前后版本放入名称不泄漏版本身份的隔离目录。
- 使用相同模型、原始任务、权限和夹具;唯一变量是 skill 内容。
- 每组使用全新 subagent,不向任一组提供另一组结果。
- 比较可观察行为。结果含糊时增加独立重复,不污染任务提示。
只有差异可归因于 skill 版本时,才声称修订有效。用户要求迭代 skill 时,只修复证据支持的问题;每次修订后用新 subagent 复测,最多两轮,然后报告剩余不确定性。
运行历史
使用 scripts/test_history.py 保存最小事实。默认历史位于 ${XDG_CACHE_HOME:-~/.cache}/skill-test/history.json,只包含 engine、model、model class、耗时、outcome、上下文隔离状态、稳定 test ID 和主 Agent disposition;不保存任务、回复、diff、日志、路径或密钥。
What ships with it
5 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.
- today Changed · +2 lines ef97899c59a7
- 8d ago First seen · 101 lines · 24 tokens per session scan A da8590c6ddac
skill-test is a skill published in the GitHub repository hxy91819/mason-skills (2 stars, last pushed today), licensed MIT. It adds 24 tokens to every session and 1,478 once invoked, about $0.0001 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-09-04.
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".
neuron-evaluation-engineer
Create and run AI evaluations with datasets, assertions, and output drivers in Neuron AI. Use this skill whenever the user mentions evaluation, testing AI systems, creating evaluators, dataset-driven testing, assertion-based validation, or wants to measure AI system performance. Also trigger for tasks involving…
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.