narrative-review

narrative-review is a skill for Claude Code, Codex from MH4GF/claude-code. It costs 100 tokens per session (1,735 once invoked), scanned A, original, MIT.

A review check for changes to Markdown documents, shell scripts, SB files, and JSON settings. It looks for bloated explanations and comments about past decisions that no longer describe the current design.

In plain words
What is it for?
Use it to review a branch’s changes against the main branch, checking Markdown structure and finding outdated history comments in documentation, scripts, and settings.
Why use it?
It helps keep documentation and code focused on how things work now, instead of making readers sort through old explanations. It reports findings without changing files.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/mh4gf/claude-code/narrative-review
Any agent
npx skills add MH4GF/claude-code --skill narrative-review
Clone the repo
git clone --depth 1 https://github.com/MH4GF/claude-code

Made for: Claude Code, Codex.

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 narrative-review

README.md
[![agentmods](https://agentmods.dev/badge/skills/mh4gf/claude-code/narrative-review.svg)](https://agentmods.dev/skills/mh4gf/claude-code/narrative-review)
Your own site
<a href="https://agentmods.dev/skills/mh4gf/claude-code/narrative-review"><img src="https://agentmods.dev/badge/skills/mh4gf/claude-code/narrative-review.svg" alt="Measured on agentmods" height="20"></a>
Per session 100 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,735 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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.00100 $0.01735
Opus 5 $0.00050 $0.00868
Sonnet 5 $0.00020 $0.00347
Haiku 4.5 $0.00010 $0.00173

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

Security

Grade A, and why

narrative-review 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 5d 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.

user-scope-backup-2026-07-04/skills/narrative-review/SKILL.md · 118 lines

How it starts

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

ナラティブ レビュー (markdown / script / 設定の差分)

main ブランチとの diff を下記ルールで判定する。ファイル編集は行わない。修正判断は呼び出し元に委ねる。

対象

git diff --name-only origin/main...HEAD -- \
  '*.md' '**/*.md' \
  '*.sh' '**/*.sh' \
  '*.sb' '**/*.sb' \
  '*.json' '**/*.json'

出力が空なら PASS (no target files changed) を返して終了する。

ファイル種別ごとに適用ルールが変わる。次の表のとおり

  • *.md — 文量バランス (4 観点) と経緯コメント検出 (5 観点目) の両方
  • *.sh / *.sb / *.json — 経緯コメント検出のみ

ルール

文量バランス (markdown 専用)

SKILL.md / CLAUDE.md / commands/*.md の散文肥大化を 4 観点で検出する。README.md 等の一般 docs には緩く適用する。

  1. 判定 / 分岐ロジックがコマンド節 (実行可能 snippet) に集約されているか
  2. description / 目的 / 手順が最小置換で済んでいるか
  3. 手順への補足が 1 行に圧縮されているか
  4. 差分の経緯解説が本文に残っていないか (経緯は commit メッセージ / PR description 側にあるべき)

経緯コメント検出 (markdown / script / 設定共通)

経緯コメントとは、現在の挙動や設計意図でなく、過去の状態や廃止された案を残した記述。git history で追える情報のため、コード / docs 本体には残さない。

何を「経緯」と判定するか

次の signal のうち 1 つ以上に当たると「経緯コメント」と判定する。トリガー語そのものを禁止リスト化するのではなく、文の 指示対象 を読む

  • 過去状態への言及 — 「もとは X だった」「以前は X」「これまでは X」「当初は X」「従来は X」「以前の実装」「previously」「originally」「used to」
  • 廃止 / 移行 / 削除に至った理由 — 「X を廃止した」「X から Y へ移行した」「X を整理 / trim / 統一した」「X を捨てた理由」
  • 過去の方針への言及 — 「過去の方針」「廃止背景」「廃止理由」「以前の判断」「経緯」
  • 比較対象が現存しない過去案 — 「A 案ではなく B にした」「X だと Y で困るので Z」(X が既に存在しない時)
  • 変更時刻に紐づく説明 — 「2026-06-XX に変更」「PR #XYZ で変わった」「コミット XXXXXX で」

トリガー語を避けた言い換えも、指示対象が過去であれば経緯として扱う。例:

  • 「もとは〜だった」
  • 「当初の意図は」
何を「正当」と判定するか

次に当たる記述は「経緯」に該当せず、コード / docs 本体へ残してよい。git history で補えない情報のため

  • 現在の挙動 / 意図の説明 — 「X は Y を保証する」「この関数は Z 用」
  • 現在有効な制約 / 不変条件 — 「modereadwrite のいずれか」「ここで lock を握る」
  • 既知の落とし穴 / 警告 — 「N >= 100 で O(N^2) になるため注意」「この path は IPv4 のみ受け取る」
  • 設計判断のうち 今も生きている 根拠 — 「順序依存があるため逐次実行」「冪等性確保のため UUID 採用」(過去案との対比ではなく現在の制約)
  • 引用 / 外部仕様への参照 — 「RFC 1234 セクション 3.2 に従う」「man 5 sudoers 参照」

判別の核は 時制と指示対象。「現在こうである」を述べる文は残す。「過去こうだった」「過去こうしたから今こう」を述べる文は剥がす。

経緯コメント (FAIL すべき)

# もともと Obsidian Sync を使っていたが、サブスク解約のため git clone へ移行。
# SSH key は当時の認証で必要だった。
{
  // 廃止理由: 旧 API は rate limit が低かったため v2 に切り替え。
  "endpoint": "v2"
}

Read the full file on GitHub · 118 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. 5d ago First seen · 118 lines · 100 tokens per session scan A c14ff877d252

Subscribe to this mod's changes

narrative-review is a skill published in the GitHub repository MH4GF/claude-code (2 stars, last pushed yesterday), licensed MIT. It adds 100 tokens to every session and 1,735 once invoked, about $0.0005 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

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens

chronicle

Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…

microsoft/vscode · 72 tokens