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 review-to-lintgit 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/review-to-lint)<a href="https://agentmods.dev/skills/shimo4228/claude-harness/review-to-lint"><img src="https://agentmods.dev/badge/skills/shimo4228/claude-harness/review-to-lint/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/review-to-lint"><img src="https://agentmods.dev/badge/skills/shimo4228/claude-harness/review-to-lint.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.00213 | $0.02355 |
| Opus 5 | $0.00106 | $0.01177 |
| Sonnet 5 | $0.00043 | $0.00471 |
| Haiku 4.5 | $0.00021 | $0.00235 |
Grade A, and why
review-to-lint 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.
How it starts
The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review → Lint 吸収
reviewer のチェックリストには、LLM が数えるより script が数える方が正確で安い項目が混ざる。
この skill はその境界を引き、機械側を script へ降ろし、reviewer の注意を意味的チェックに
集中させる。先行実例: readme_evidence.py(readme-writer)、adr_lint.py(adr-writer、
ADR-0051)。分業原理は「存在 = code、内容 = LLM」(ADR-0021 が導入、ADR-0044 が ADR へ適用)と
feedback: deterministic_semantic_layering(script 計測 + LLM 解釈)。
0. 入口 — チェックリスト起点と履歴起点
対象 reviewer が決まっているならそのまま §1 へ。「どの reviewer / どの規約を lint 化すべきか」
から決めるなら reviewer の履歴を掘る。チェックリスト起点の棚卸しは reviewer が明文で持つ
項目しか出さないので、実際に反復している指摘を取りこぼす(2026-08-29 の実測: RFC-0005 の
12 候補は document / skill-asset 層のみで、hooks/*.sh を対象とする 3 クラスを見落としていた
= 同 RFC の #13〜#15)。
機構は作らない — 抽出 script も回収 hook も新設しない(ADR-0055 Decision 5「回収機構は 作らない」)。1 回の手調査で足りる。2 回目を要求されたら、そのとき ADR-0055 の supersede 込みで script を提案する。
corpus と抽出の非自明点:
- reviewer 報告は
~/.claude/projects/<project>/<session-id>/subagents/agent-*.jsonl。 親 transcript の隣ではない - reviewer 種別は subagent 冒頭の user message で判別する。
agentTypeフィールドは無く、 親 transcript とは id で繋がらない(突合は最終 assistant text と親の tool_result の一致) - 組込
/code-reviewの署名は`medium effort → 3+5 angles × 6 candidates …` - 取るのは最終 assistant メッセージ。
jq | tail -1は最終行しか取らない (1 ファイル 100〜450KB あるので全文は読めない) ReportFindingsの構造化 tool_use は保存されない。抽出は自然言語パースになる
閾値を掘る前に固定する。 クラスの粒度は自由変数で、細かく切れば「台帳に無いクラス」は 必ず作れる。既定: 同一クラスが 3 回以上 かつ 2 セッション以上、採用実績 1 件以上、 退役 reviewer 由来のみのクラスは数えない(その reviewer はもう走らないので需要が無い)。
行き先は 2 つ。採用が反復 → lint 候補(§1 へ)、却下が反復 → 退役候補(形骸規約・ reviewer remit のズレ。lint 化すると偽陽性を永続化する)。
1. 棚卸しと 3 分類(この skill の核)
対象 reviewer のチェックリストを 1 項目ずつ分類する。判断基準:
| 分類 | 判定の入力 | 行き先 |
|---|---|---|
| deterministic | 構造・書式・実在・一致(節の有無、enum、日付書式、リンク解決、index drift、命名規則、相互参照の整合) | script |
| semantic | 意図・忠実性・両面性・妥当性(後付け正当化、藁人形、片面 Consequences、主張と証拠の対応) | reviewer に残す |
| hybrid | script が数え、LLM が解釈する(カウント条件の固定対象、数値の分母、用語の出現分布) | script が evidence を出し、reviewer が解釈 |
迷う項目は semantic に倒す — 誤って機械化した項目は偽陰性を「検査済み」の顔で通す。
2. search-first 照合
書く前に外部 lint ツールと harness 内の既存 evidence script(skills/*/scripts/)を探す。
既存が対象 corpus を移行なしで検査できるなら書かない。移行が要るなら移行コストと
自作コストを比べ、却下理由を ADR に残す(先例: adrkit の照合、ADR-0051)。
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 · 114 lines · 213 tokens per session scan A 9d9a540f482a
review-to-lint is a skill published in the GitHub repository shimo4228/claude-harness (3 stars, last pushed 5d ago), licensed MIT. It adds 213 tokens to every session and 2,355 once invoked, about $0.0011 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
pi-parity-review
Adversarially verify that a ported change is faithful to the original pi implementation (TS source + published npm build). Use after porting upstream pi changes, or standalone on any area of this repo ("is X faithful to pi?").
pi-go-review
Review ported Go code for idiomatic quality — that the port maximizes Go rather than transliterating TypeScript. Use after porting upstream pi changes, or standalone on any diff in this repo.
clean
Pre-commit anti-slop audit — checks staged/dirty files for code slop (debug artifacts, single-use helpers, dead imports) AND documentation slop (stale claims, broken internal links, new .md files, redundant sections). Writes a sentinel so the pre-commit-gate hook lets the commit through. MUST be invoked before git…
coding-quality-loop
Use when a coding agent must turn a software goal, bug, issue, or refactor into a small, verified, independently reviewed code change.
agent-adoption-triage
Five-question triage for routing AI work to the right architecture — script, algorithmic search, LLM workflow, or autonomous agentic loop — before any agent is built. Use when someone says "let's build an agent for X", when deciding whether a use case actually needs an autonomous agent, when reviewing an agent…
self-critic
This agent's own internal adversarial critic loop. Hardens every deliverable with a fresh no-memory domain critic until it passes twice consecutively with zero CRITICALs before return.