Self-Contradiction Detector 自己矛盾検出

Self-Contradiction Detector 自己矛盾検出 is a skill for Claude Code from s977043/river-review. It costs 59 tokens per session (1,690 once invoked), scanned A, original, MIT.

A consistency check that compares written rules with the code or implementation next to them.

In plain words
What is it for?
Use it for rule files, documentation, and code that declare requirements and implement them in the same or related files.
Why use it?
It finds cases where a file says something must or must not happen but the implementation does the opposite.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions AGENTS.md.

Part of the river-review plugin — 138 skills, 18 commands, 5 agents, 3 hooks shipped together

Good fit Use it for rule files, documentation, and code that declare requirements and implement them in the same or related files.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/s977043/river-review/self-contradiction
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 s977043/river-review --skill self-contradiction
Clone the repo
git clone --depth 1 https://github.com/s977043/river-review

Made for: Claude Code.

Or install river-review, the plugin that ships this one along with the rest of its 138 skills, 18 commands, 5 agents, 3 hooks.

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 Self-Contradiction Detector 自己矛盾検出

README.md
[![agentmods](https://agentmods.dev/badge/skills/s977043/river-review/self-contradiction/github.svg)](https://agentmods.dev/skills/s977043/river-review/self-contradiction)
Your own site
<a href="https://agentmods.dev/skills/s977043/river-review/self-contradiction"><img src="https://agentmods.dev/badge/skills/s977043/river-review/self-contradiction/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 Self-Contradiction Detector 自己矛盾検出

Your own site · 80×15
<a href="https://agentmods.dev/skills/s977043/river-review/self-contradiction"><img src="https://agentmods.dev/badge/skills/s977043/river-review/self-contradiction.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 59 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,690 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.00059 $0.01690
Opus 5 $0.00030 $0.00845
Sonnet 5 $0.00012 $0.00338
Haiku 4.5 $0.00006 $0.00169

Measured 6d ago against content hash 61d2818031b7, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

Self-Contradiction Detector 自己矛盾検出 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 6d 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/midstream/self-contradiction/SKILL.md · 120 lines

How it starts

The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Pattern declaration

Primary pattern: Reviewer Secondary patterns: Inversion Why: 宣言(declarative phrase)と実装の突合はチェックリスト型だが、宣言が差分に存在しない変更では実行を止めるゲートが必要

Goal / 目的

  • ファイル/スキル/ドキュメントが「規則 X を守れ」と宣言した直後・同じファイル内で 規則 X を破っている パターンを検出する。
  • Pre-mortem(失敗シナリオ)や Logic Torturing(論理の穴)では捉えにくい、「宣言」と「実装」の乖離 に特化する。

Non-goals / 扱わないこと

  • 個別の論理的整合性の検証(logic-torturing の役割)。
  • 攻撃経路の分析(war-game の役割)。
  • 規則そのものの妥当性判断(規則が正しいか否かではなく、宣言と実装が一致するかを見る)。

Pre-execution Gate / 実行前ゲート

このスキルは以下の条件がすべて満たされない限り NO_REVIEW を返す。

  • 差分に宣言的フレーズ(「〜しない」「禁止」「必ず〜する」「don't」「never」「MUST」「always」等)が含まれている、またはそれを含む既存ファイルへの変更である
  • inputContext に diff または fullFile が含まれている

ゲート不成立時の出力: NO_REVIEW: self-contradiction — 宣言的フレーズが検出されない

False-positive guards / 抑制条件

  • 宣言が「例外を明示している」場合(「ただし X の場合を除く」)で、実装がその例外条件に該当するなら抑制。
  • 宣言がコメントアウトされた旧仕様や、引用ブロック(「悪い例」として提示されたコード)の場合は抑制。
  • 宣言と実装が別の対象を指している(同名だがスコープが異なる)場合は抑制。

Rule / ルール

検出ロジック

  1. 宣言の抽出: 差分・対象ファイルから declarative phrase を抽出する。
    • 禁止形: 「〜しない」「〜してはいけない」「禁止」「避ける」「don't」「never」「avoid」「MUST NOT」
    • 義務形: 「必ず〜する」「〜すること」「MUST」「always」「required」
  2. 対象の特定: 各宣言が何を規律しているか(参照形式・命名・依存方向・出力形式等)を1文で言語化する。
  3. 実装との突合: 同一ファイル、次いで隣接/関連ファイルの本文・コードを走査し、宣言に違反する箇所を探す。
  4. 乖離の報告: 宣言の位置と違反の位置を両方 <file>:<line> で示す。

制約

  • 検出は最大 5 件。乖離が明白で影響の大きいものを優先。
  • 各指摘には「宣言」「宣言位置」「違反位置」「乖離の説明」を必ず含める。
  • 宣言が差分外にあっても、違反が差分内にあれば指摘可能(逆も可)。ただし両方とも差分外の場合は対象外。

Evidence / 根拠の取り方

  • 宣言と違反は必ず両方の <file>:<line> を示し、推測ではなく実際の行に紐づける。
  • 「規則 X」を引用し、違反箇所がどう X に反するかを具体的に説明する。

Output / 出力フォーマット

すべて日本語。

(self-contradiction):1: [要約] 最も重大な宣言と実装の乖離は〈1文〉

<file>:<line>: [自己矛盾1] <タイトル>
  宣言: 「<規則 X の引用>」(<file>:<宣言の行>)
  違反: <宣言に反する実装の説明>(<file>:<違反の行>)
  乖離: <なぜ宣言と矛盾するか>
  Fix: <宣言に合わせるか宣言を改めるか、最小限の修正>

<file>:<line>: [自己矛盾2] ...

Good / Bad Examples

Good

sub-supervisor.md:38: [自己矛盾] 章番号参照禁止を宣言した直後に章番号参照を使用
  宣言: 「章番号参照ではなくファイル単位で参照する」(sub-supervisor.md:17)
  違反: 本文で `SKILL §2.1` / `§4` と章番号参照を使用 (sub-supervisor.md:38,68,85)
  乖離: L17 の宣言と同一ファイル L38 以降の実装が真逆
  Fix: `SKILL §2.1` を該当ファイルパス参照に置換、または L17 の宣言を実態に合わせて緩和

Read the full file on GitHub · 120 lines

Files

What ships with it

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

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. 6d ago First seen · 120 lines · 59 tokens per session scan A 61d2818031b7

Subscribe to this mod's changes

Self-Contradiction Detector 自己矛盾検出 is a skill published in the GitHub repository s977043/river-review (3 stars, last pushed today), licensed MIT. It adds 59 tokens to every session and 1,690 once invoked, about $0.0003 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-09-03.

Related

Other skills, from other repositories

code-gauntlet

Prefer this skill for code review requests — it runs a multi-agent pipeline with blind challenge verification for high-confidence results. Trigger for ANY of these situations: (1) user says "review" in the context of code, PRs, MRs, branches, diffs, or changes, (2) user references a PR/MR number and wants feedback or…

liatrio-labs/claude-code-gauntlet · 218 tokens

logic-health

Sweep a directory, module, or full codebase for logic correctness and produce a scored health dashboard with systemic patterns. Trigger when the user requests a health view — "audit the whole codebase", "health check", "health overview", "logic health overview", "audit src/", "audit auth and payments modules", "where…

hyhmrright/logic-lens · 180 tokens

logic-diff

Compare two code versions for semantic equivalence via semi-formal tracing of both versions side-by-side. Trigger when the user shares a refactor, rewrite, migration, or A/B implementation and wants to confirm behavior is unchanged — "did I break anything", "is this equivalent", "are these equivalent", "semantically…

hyhmrright/logic-lens · 192 tokens

omnicheck-gitlab

Use when checking if MR review findings have been applied — verifies both OmniForge-generated and human reviewer comments against the current diff, posts nudge replies on unaddressed threads.

nexiouscaliver/OmniForge · 41 tokens

omnicheck-github

Use when checking if PR review findings have been applied — verifies both OmniForge-generated and human reviewer comments against the current diff, posts nudge replies on unaddressed threads.

nexiouscaliver/OmniForge · 40 tokens

omnicreate-gitlab

Use when creating a GitLab merge request (OmniForge). Auto-populates title and description from commits, supports draft MRs, labels, assignees, reviewers, and issue linking.

nexiouscaliver/OmniForge · 45 tokens