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 aaronartistzhang-afk/DailyWork --skill blind-ab-verifygit clone --depth 1 https://github.com/aaronartistzhang-afk/DailyWorkWrote 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/aaronartistzhang-afk/dailywork/blind-ab-verify)<a href="https://agentmods.dev/skills/aaronartistzhang-afk/dailywork/blind-ab-verify"><img src="https://agentmods.dev/badge/skills/aaronartistzhang-afk/dailywork/blind-ab-verify/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/aaronartistzhang-afk/dailywork/blind-ab-verify"><img src="https://agentmods.dev/badge/skills/aaronartistzhang-afk/dailywork/blind-ab-verify.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.00305 | $0.06160 |
| Opus 5.5 | $0.00122 | $0.02464 |
| Sonnet 5.5 | $0.00061 | $0.01232 |
| Haiku 4.5 | $0.00030 | $0.00616 |
Grade A, and why
blind-ab-verify 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 1mo 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 — 225 lines — stays where its author put it; the contents beside it link to each section on GitHub.
blind-ab-verify(防污染盲测 A/B 闭环)
改动已经落地了(新版 prompt / 新版 skill / 两版文案),现在要回答一个问题:新版真的更好吗,还是只是我以为更好? 人一旦知道「哪个是我改的新版」,盲读就废了——会不自觉地帮新版找优点。本 skill 把这道判断固化成一条闭环:每个变体交给一个完全隔离、不知道自己是哪一臂的子代理生成 → 打成去标签的盲包(含对照组)→ 你本人离线盲读打分 → 回灌解析 → 三段式 verdict + blind-packet 留痕。 从生成到打分,谁是新版这件事对判者永远保密,直到回灌那一刻。
它不产 PRD、不设计方案、不做线上实验——模式 A 只在「改动已落地、要判两版优劣、且这个判断必须人工盲读」这个窄口上工作(单版 skill 包能否独立跑通见下方模式 B)。
何时用 / 不用
- 用:一个 prompt / skill 改动已经落地,要在不被变体标签污染的前提下判新旧两版谁更好;两版一句话文案要盲读选一个;怀疑之前的「新版更好」结论是自己脑补出来的,想要一次干净的复验。
- 不用:
- 动工前要对抗式地设计 / 审查方案(找漏洞、定结构、GO/NO-GO)→ 用
debate(生成 PRD)或codex-review-gate(跨模型审查门禁)。这两个是左移——在改动之前。本 skill 是右移——在改动之后判效果。 - 需要真实线上流量、真实用户行为的效果验证 → 那是 eng-gated 的 live-RPC /
custom_rpc_server实验,不是本 skill 能做的(见下方「保真度天花板」——本 skill 只能到 prompt-level,越过这条线的主张一律标 UNPROVEN)。 - 单轮、无对照、纯主观的比稿 → 直接比即可,不必上盲测机器(若目的是验单个 skill 包能否照说明书独立跑通,见下方模式 B)。
- 动工前要对抗式地设计 / 审查方案(找漏洞、定结构、GO/NO-GO)→ 用
一句话分工判据:动工前的对抗设计 / 审查 = 左移(debate / codex-review-gate);改动落地后两个变体谁更好且需人工盲读 = 右移模式 A、单个 skill 包独立复现验收 = 右移模式 B(均本 skill)。底座是 dispatching-parallel-agents 的并行原语,本 skill 在其上加一层盲测语义(去标签、对照、盲序、回灌)。
铁律一:分臂隔离(防污染的地基)
每一臂 = 一个独立子代理,彼此不共享上下文。 这是整套方法的地基,塌了后面全废。分臂子代理一律 model=opus(执行层模型分工惯例)。
给每个分臂子代理的 prompt 必须满足分臂三铁律:
- 无变体标签:prompt 里不出现「这是新版 / 旧版 / OLD / NEW / 变体 A / 你是被改进的那个」。子代理不知道自己是哪一臂。
- 无假设:不写「我们认为新版会更自然」「预期这版能修好掉奖问题」。任何方向性暗示都会让子代理往那个方向使劲,制造伪信号。
- 无预期结果:不写「应该输出带奖励的文案」「理想情况下 CTR 更高」。让它按 prompt 本身产出,不迎合。
配套两条硬约束:
- 版本 pin 死:每臂用到的 skill / prompt 版本逐个钉死并写进 blind-packet(例:
OLD = gen 0.5.0 + components/scoring 0.0.1;NEW = gen 0.6.0 + components/scoring 0.0.2)。含糊的「新版」不算 pin。 - 无关变量跨臂 constant:只让「被测的那个东西」在两臂间变,其余全部保持一致(例:region localization skill 在两臂间held constant)。任何没 constant 住的变量都会变成混杂因子(confound),让结果既不能证也不能否——见范例里 de/pl 两行就是这么废掉的。
反模式声明(已被你的实践作废,明文钉在这里):
单 agent 两头都做 = 污染。 让同一个 agent 先生成 OLD 再生成 NEW(或先看到一版再改出另一版)——它带着上一臂的记忆和「我在做 A/B」的自觉进第二臂,两臂不再独立。你早期几轮就是这么做的,已被本方法明确 supersede:范例
examples/blind-packet-region-emoji.md和examples/blind-packet-reward-surfacing.md都在正文里写明「Prior/earlier contaminated single-agent-does-both rounds are superseded by this report」。任何新的验证若退回单 agent 两头做,直接判无效。
What ships with it
4 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.
- 1mo ago First seen · 225 lines · 305 tokens per session scan A ccf0063dffcf
blind-ab-verify is a skill published in the GitHub repository aaronartistzhang-afk/DailyWork (1 stars, last pushed 1mo ago), licensed MIT. It adds 305 tokens to every session and 6,160 once invoked, about $0.0012 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-08-31.
Other skills, from other repositories
uig
Build a User Input Grid (UIG) for an AI product or feature, evaluate existing eval datasets against it, and propose new inputs to fill coverage gaps. Use this skill whenever someone asks to design an eval framework, audit a test set, build a "user input grid", "synthetic query matrix" or "SQM", improve dataset…
eval-llm-judge
Write LLM-as-judge evaluator prompts for AI products. Use this skill whenever you need to evaluate semantic properties of AI outputs that cannot be checked programmatically — output quality, tone, factual accuracy, edge case handling, reference alignment. Also use when auditing existing judge prompts for bias…
eval-code
Write deterministic, code-based evaluator functions for an AI product. Use this skill whenever you need to write evaluators that check structural properties of AI outputs (format, count, presence, schema compliance) without calling another LLM. Also use when auditing existing code-based evaluators for brittleness…
llm-align
Analyze alignment between LLM judge scores and human labels in an eval dataset. Use this skill whenever someone wants to evaluate how well an LLM judge agrees with human reviewers, calculate TPR/TNR, investigate disagreements, or improve a scorer prompt. Trigger on phrases like: "calculate TPR/TNR", "judge alignment"…
ticket-to-eval
Strip PII from a customer support ticket or eval trace and convert it into eval dataset rows. Produces two outputs: a regression dataset row (close to the original input, tagged with failuremode) and a generalized dataset row (abstracted for broader coverage). Works with local CSV files or any eval platform. Use this…
create-custom-grader
Use when converting an existing benchmark, rubric, verifier, task YAML/JSON, or domain check into SkillEvaluator BYOG/BYOT custom evaluation.