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 SimpleEve/eo-skills --skill eo-testgit clone --depth 1 https://github.com/SimpleEve/eo-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/simpleeve/eo-skills/eo-test)<a href="https://agentmods.dev/skills/simpleeve/eo-skills/eo-test"><img src="https://agentmods.dev/badge/skills/simpleeve/eo-skills/eo-test.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.00111 | $0.01562 |
| Opus 5 | $0.00056 | $0.00781 |
| Sonnet 5 | $0.00022 | $0.00312 |
| Haiku 4.5 | $0.00011 | $0.00156 |
Grade A, and why
eo-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 4d 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 — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.
eo-test — 独立测试(按需闸门)
本 skill 是可选闸门,不是流程节点。默认主路里 eo-implement 自验足够;只有 ../eo-shared/granularity.md §5 风险信号命中(且用户未豁免)或用户显式点名时才调用。价值 = 独立视角:不是把 implement 跑过的再跑一遍,而是审计真实性 + 补 AC 没想到的输入。
职能边界
- 绝对禁令:禁止修改任何非测试相关的业务源码。发现 bug 只记录并建议修复,不自行改源码
- 审计 + 补缺,不重写:先盘点既有测试并审计真实性(断言是否真实覆盖对应 AC、有无被弱化/删除、有无过拟合/硬编码特判),只为缺口编写
- 简版报告:结论 + 未决清单 + 失败定位,写入
eo-doc/changes/<change-id>/test.md;同一 change 再次调用时覆盖重写(历史由 git 兜),速报恒在对话里给
前置条件
- 必须能找到
.eo-project.json。同目录存在.eo-project.local.json时顶层字段覆盖合并(local 优先)。找不到 → 报错退出,提示运行/eo-project-init eo-doc/changes/<change-id>/change.md已存在,相关代码已实现(status: implementing或reviewed)- 调用依据二选一:change.md §6 记录了命中信号且未豁免 / 用户显式点名。都没有 → 告知用户默认主路不需要本闸门,确认仍要跑再继续
工作流程
- 消费 lessons:按 ../eo-shared/lessons.md §1 扫 INDEX 匹配 trigger——尤其环境相关 lesson(起停命令、单次代价)
- 盘点覆盖:读 change.md §2 全部 AC 与 §5 TODO;读 frontmatter
base_commit..HEAD的[<change-id>]提交 diff;建立「AC → 已有证据」映射(既有测试、implement 速报里的一次性执行证据都算输入) - 提取缺口:对照映射列出无覆盖验证点。AC 决定验什么,代码决定拿什么验——从 diff 的分支、默认值、空值与边界处理、类型转换里提取 AC 没写、已有测试也没碰、但代码实际会遇到的输入,补进缺口清单(只按 AC 文字正向推导,验的永远只是「AC 想到的路径」)
- 补缺编写:只为缺口写测试,遵循项目既有测试目录与命名约定;回归资产分层——逻辑密集 / 边界多 / 共享路径的落成永久测试文件,其余以一次性执行证据作证(命令 + 关键输出记入 test.md)
- 执行:跑全部相关测试与必要回归;需要起环境的按 ../eo-shared/ac-spec.md「起环境的纪律」——探测复用、按环境组合分组跑完
- 失败分析:测试代码自身写错 → 直接修正重跑;业务代码 bug → 停手,记入报告并建议走 /eo-fix 循环内分支
- 报告与速报:
-
test.md 简版(覆盖式):
# <标题> 测试报告 > 日期:YYYY-MM-DD | 基线:<HEAD short-sha> | 结论:通过 / 不通过(失败 x 项) ## 未决清单 | 项 | 失败现象 | 位置 | 修复 commit | 状态 | |----|---------|------|------------|------| | F-1 | <一句话> | <用例/文件> | | open / fixed / verified | ## 缺口补缺摘要 <补了哪些测试、一次性证据清单(命令 + 关键输出)> -
修复后再跑:核销未决清单(fixed 项复测 → verified / 回 open),覆盖重写报告
-
对话速报(硬性):
结论:通过 / 不通过(失败 x 项)[基线 <short-sha>] 失败项: 1. <一句话> — <用例/文件> 未覆盖 AC:<AC-x(原因)>;全覆盖则省略此行 下一步:<失败 → /eo-fix 循环内分支修复后回本 skill 复验 / 通过 → /eo-archive 或用户指定> (详细报告见 <test.md 路径>)
-
What ships with it
1 file 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.
- 4d ago Changed · -1 lines · +64 tokens per session 96f84faba347
- 8d ago First seen · 72 lines · 47 tokens per session scan A 1ff6e9670661
eo-test is a skill published in the GitHub repository SimpleEve/eo-skills (31 stars, last pushed today), licensed MIT. It adds 111 tokens to every session and 1,562 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
coverage-enhancer
Analyze existing test suites and source code to suggest additional unit tests that improve test coverage. Use this skill when working with test files and source code to identify untested code paths, missing edge cases, uncovered branches, untested error conditions, and gaps in test coverage. Supports major testing…
incremental-python-programmer
Takes a Python repository and natural language feature description as input, implements the feature with proper code placement, generates comprehensive tests, and ensures all tests pass. Use when Claude needs to: (1) Add new features to existing Python projects, (2) Implement functions, classes, or modules based on…
java-regression-test-generator
Automatically generate regression tests for Java codebases by analyzing changes between old and new code versions. Use when users need to: (1) Generate tests after refactoring or code changes, (2) Ensure previously tested behavior still works in new versions, (3) Cover modified or newly added code paths, (4) Migrate…
symbolic-execution-assistant
Performs symbolic execution to detect potential errors by exploring execution paths, solving path constraints, and generating test inputs. Use when you need to analyze code for bugs like null dereferences, division by zero, buffer overflows, or assertion violations. Also use to generate test inputs that exercise…
test-suite-prioritizer
Analyzes test suites and suggests optimal test execution order based on code change impact and project requirements. Use when optimizing CI/CD pipelines, deciding which tests to run before committing, or selecting critical tests under time constraints. Prioritizes tests by analyzing recently modified files, test…
assertion-synthesizer
Generate test assertions from existing code implementation. Use when the user has implementation code without tests or incomplete test coverage, and needs assertions synthesized by analyzing the code's behavior, inputs, outputs, and state changes. Supports Python (pytest/unittest), Java (JUnit/AssertJ), and…