review-to-lint

review-to-lint is a skill for Claude Code from shimo4228/claude-harness. It costs 213 tokens per session (2,355 once invoked), scanned A, original, MIT.

A procedure for turning repeatable review checks into scripts, while leaving meaning and judgment to the reviewer. It can use a reviewer's checklist or past review records to find checks that a program can decide.

In plain words
What is it for?
Use it to inspect review rules or review history, identify mechanical checks, and move them into scripts. It is not for creating a new reviewer.
Why use it?
It removes repetitive manual checks from code reviews and makes those checks more consistent. Reviewers can spend more time explaining meaning, quality, and design.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: reads .claude/ paths; mentions subagents.

Good fit Use it to inspect review rules or review history, identify mechanical checks, and move them into scripts. It is not for creating a new reviewer.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/shimo4228/claude-harness/review-to-lint
Install

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.

Any agent
npx skills add shimo4228/claude-harness --skill review-to-lint
Clone the repo
git clone --depth 1 https://github.com/shimo4228/claude-harness

Made for: Claude Code.

Wrote 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.

agentmods badge for review-to-lint

README.md
[![agentmods](https://agentmods.dev/badge/skills/shimo4228/claude-harness/review-to-lint/github.svg)](https://agentmods.dev/skills/shimo4228/claude-harness/review-to-lint)
Your own site
<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.

agentmods 80×15 button for review-to-lint

Your own site · 80×15
<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>
Per session 213 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,355 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 11d ago against content hash 9d9a540f482a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

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.

skills/review-to-lint/SKILL.md · 114 lines

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)。

Read the full file on GitHub · 114 lines

Changes

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.

  1. 11d ago First seen · 114 lines · 213 tokens per session scan A 9d9a540f482a

Subscribe to this mod's changes

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.

Related

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?").

sky-valley/pi · 54 tokens

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.

sky-valley/pi · 45 tokens

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…

Rockielab/rockie-claude · 114 tokens

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.

zaingz/coding-quality-loop · 33 tokens

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…

shimo4228/agent-adoption-triage · 143 tokens

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.

Rockielab/rockie-claude · 40 tokens