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 shimo4228/claude-harness --skill measurement-disciplinegit clone --depth 1 https://github.com/shimo4228/claude-harnessWrote 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/shimo4228/claude-harness/measurement-discipline)<a href="https://agentmods.dev/skills/shimo4228/claude-harness/measurement-discipline"><img src="https://agentmods.dev/badge/skills/shimo4228/claude-harness/measurement-discipline/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/shimo4228/claude-harness/measurement-discipline"><img src="https://agentmods.dev/badge/skills/shimo4228/claude-harness/measurement-discipline.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.00161 | $0.01135 |
| Opus 5 | $0.00081 | $0.00567 |
| Sonnet 5 | $0.00032 | $0.00227 |
| Haiku 4.5 | $0.00016 | $0.00113 |
Grade A, and why
measurement-discipline 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 11d 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.
What it actually says
Measurement Discipline
測定の主張には、その測定が成立する条件を先に問う。5 原則、いずれも実地の失敗から (出所は CA repo での実測。原則自体はどの repo でも同じ形で壊れる)。
1. 1 回の成功は証拠でない
smoke 1 回で「機能した」と言って commit しない。stochastic な系(LLM・外部 I/O・ タイミング依存)では 1 回は分布の 1 標本。主張の前に「何回・どの条件で見れば 言えるか」を決める — 決められないなら主張を「動くことがある」に弱める。 (出所: follow 修正で 1 run 観察を「直った」と報告しかけた 2026-06 の訂正)
2. ゲートは暦でなく観測量で
段階実装・部分導入の「次へ進む」条件を日付・期間にしない。必要な観測数を事前に 見積もり、その観測が溜まったら進む。暦ゲートは観測ゼロでも発火し、観測量ゲートは データが無ければ止まる — 止まるのが正しい。 (出所: shadow 計器の enforcement 判断を「2 週間後」でなく判定数で切った経緯)
3. ガードの発火率 0% と 100% はどちらも設計ミス
疑わしさフィールド・警告・検査を置いたら、実データで発火率を測る。一度も発火
しないガードは読者に「検査済み・問題なし」と誤読させ(無いより悪い)、常時発火する
ガードは読み飛ばされる。較正できるデータが無いなら、ガードでなく生の読み値を出す。
(出所: 恒久 0 の observed フィールドを読者が集計して逆の結論を出した ADR-0082)
4. 数値キャップを品質フィルタにしない
max_N 型の上限は量の制御であって質の判定ではない。「上位 N 件」で切ると、N+1 位
以降の良品を黙って捨て、N 位以内の不良を黙って通す。品質を切りたいなら品質の軸で
判定器を立て、量を切りたいときだけキャップを使う — 混ぜた瞬間、どちらの保証も消える。
5. 通過分だけのスコアで分布を語らない
フィルタの下流に残ったデータは選択バイアス済み。「通過分の平均が高い」はフィルタの 機能証明にならない(棄却分を見ていない)。分布・較正・閾値の議論はフィルタ前の 全量か、少なくとも棄却側のサンプルを添えてから。
使い方
設計・レビューの場で該当原則を 1 つ名指しして問う(「これは原則 3 — このガードの 発火率をどのデータで較正した?」)。5 原則を毎回全部なぞらない。
失効条件
- substrate がこれらの問いを設計時に自発するようになったら退役(Scaffold Dissolution)
- 原則の出所となった実測が反証されたら該当原則を削る(原則は経験則であり公理ではない)
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.
- 11d ago First seen · 56 lines · 161 tokens per session scan A 85ea173115e9
measurement-discipline is a skill published in the GitHub repository shimo4228/claude-harness (3 stars, last pushed 5d ago), licensed MIT. It adds 161 tokens to every session and 1,135 once invoked, about $0.0008 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-31.
Other skills, from other repositories
autoresearch
Canonical around-the-clock research loop. Defines the agent's outer loop — read taste corpus + queue, pick the next experiment, mutate the explicitly-declared mutation surface, run the experiment under a hard time budget against a frozen metric, score, codify, repeat. Augmented with Karpathy's sharp primitives (frozen…
experiment
Run a materials-science / ML compute job on Rockie GPU capacity. Trigger words "run experiment", "submit job", "/experiment", or requests to quote/approve GPU spend before an experiment. Picks the right GPU type and count from a natural-language description (DFT for QE/VASP/ABINIT, MD for GROMACS/LAMMPS/OpenMM…
physics
Route physics simulation, modeling, validation, and research-compute requests across force fields, molecular dynamics, electronic structure, particle transport/collision, continuum multiphysics, plasma/PIC, nuclear/radiation, and astro/cosmology. Use open-source-first engines, refuse local heavyweight execution on the…
sota-delta
Track 3 quickstart wrapper that reproduces a paper or repository baseline on Rockie GPU, then extends it with a user-specified delta and compares baseline versus delta.
post-run-review
After an experiment finishes, structured review emits {isbug, failureclass, summary, metric, lowerisbetter}, auto-closes the journal node, emits a [LEARN] block when isbug=true, and files a [DEAD-END] when the failureclass is "bad-hypothesis". Use immediately after any training/eval run — the agent invokes this…
queue-refill
Refill the experiment queue when it drops below target (default 5 pending items). Brainstorms 3–5 new high-quality experiments informed by recent [LEARN] rules, killed dead-ends, best-so-far results, and hypothesis-calibration drift. Use when queue.py refill-needed returns non-zero, when the user asks "what should we…