Borrowing it
Nothing to install: this file belongs to apokamo/kaji. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/apokamo/kaji/main/.claude/skills/incident-review/SKILL.mdgit clone --depth 1 https://github.com/apokamo/kajiWrote 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/apokamo/kaji/incident-review)<a href="https://agentmods.dev/skills/apokamo/kaji/incident-review"><img src="https://agentmods.dev/badge/skills/apokamo/kaji/incident-review/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/apokamo/kaji/incident-review"><img src="https://agentmods.dev/badge/skills/apokamo/kaji/incident-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Agent Snooping · line 30 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.00090 | $0.01871 |
| Opus 5 | $0.00045 | $0.00936 |
| Sonnet 5 | $0.00018 | $0.00374 |
| Haiku 4.5 | $0.00009 | $0.00187 |
Grade A, and why
incident-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 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 — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Incident Review(査読)
調査 artifact に対する実行型査読。main session は環境準備・転記・verdict 発行のみを担い、
検証本体は kaji-incident-reviewer subagent が使い捨て検証環境の中で行う。
判定軸の分離(#303 決定 D): 査読の評価対象は 調査品質のみ(受理基準の充足・反証への耐性・
記述の充足)であり、conclusion の値そのものではない。「結論は INCONCLUSIVE だが棄却仮説・不足証拠・
再現結果の記述が十分なので verdict は PASS」を明示的に許可する。
ワークフロー内の位置: investigate → review →(PASS: report / RETRY: fix)
入力
| 変数 | 型 | 説明 |
|---|---|---|
issue_id |
str | 対象インシデントイシュー ID |
issue_ref |
str | 人間可読の Issue 参照 |
step_id |
str | 現在のステップ ID |
cycle_count / max_iterations |
int | サイクル内ステップのため注入される |
手動実行時は $ARGUMENTS 第 1 トークンを issue_id とする。
共通ルール
.claude/skills/incident-investigate/SKILL.md § 全 incident-* skill 共通ルールに従う
(worktree_dir 非参照 / verdict 3 経路 / foreground + timeout / 副作用禁止 / ログ sanitize /
auto-close hazard 回避)。
受理基準(§ 別軸設計。#303 決定 A / D)
- conclusion が
internal-bug/upstream/environment/transient/duplicateの場合: 実再現、または実障害ログの引用(<run_id>:<ファイル>付き citation)が必須。欠けば RETRY。 - conclusion が
INCONCLUSIVEの場合: 棄却済み仮説(反証根拠つき)・不足証拠の列挙・ 試行した再現の記録が必須。欠けば RETRY。充足していれば PASS(結論がINCONCLUSIVEであること自体は 減点しない)。 risk-acceptedは人間専用語彙。査読結果の語彙に含めない。
実行手順
Step 0: 前提ガード
artifact root を解決する(共通ルール参照。以降のパスはこの絶対 root 基準):
ART="$(kaji config artifacts-dir)"
調査 artifact($ART/[issue_id]/investigation/report.md)と直近の調査報告コメントが
存在することを確認する。対象が非インシデント(incident ラベルなし / identity marker なし)と判明した
場合は ABORT。
Step 1: 入力の収集
- 調査 artifact 全文(
$ART/[issue_id]/investigation/report.md)・インシデントイシュー本文・直近の調査報告コメントを読む。 - artifact のメタデータから調査対象 run_id 一覧・提案役モデルを取得する。
Step 2: 使い捨て検証環境の準備
# 例: main の HEAD を detach した一時 worktree。査読後に破棄する。
git worktree add --detach /tmp/kaji-incident-review-[issue_id] HEAD
隔離 venv または scratch dir でも可。main checkout を検証で汚さないことが要件。
Step 3: 査読役の起動(capability-based fallback)
docs/dev/development_workflow.md § Pre-Handoff Review と同型の分岐で査読役を起動する。
- 経路 A(subagent): Agent tool で
subagent_type: "kaji-incident-reviewer"を起動する。 prompt に「対象イシュー番号・本文/コメント要約・調査 artifact 全文・検証環境パス・調査対象 run_id 一覧・提案役モデル」を渡す(入力契約の SoT は.claude/agents/kaji-incident-reviewer.md§ 入力)。 - 経路 B(self-review, fallback): Agent tool が使えない runtime / 起動失敗時は、main session が
.claude/agents/kaji-incident-reviewer.mdの rubric を自セッションで適用する。この場合は縮退。
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 · 134 lines · 90 tokens per session scan A cb1b10d1da82
incident-review is a skill published in the GitHub repository apokamo/kaji (12 stars, last pushed 4d ago), licensed Apache-2.0. It adds 90 tokens to every session and 1,871 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-30.
Other skills, from other repositories
superpowers-systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
rust-check
Run cargo check on the current Rust project to find compile errors.
debug
Reproduce, minimize, localize, identify root cause, and distinguish diagnosis from an authorized fix. Prefer root-cause over symptom patches.
langsmith-tracing
LangSmith tracing and debugging setup for LLM applications. Configure observability, capture traces, and enable debugging for LangChain/LangGraph agents.
behavior-contract
Bug condition/postcondition formalization as testable Behavior Contracts. Defines invariants that must be preserved across fixes.
quality-hooks
Language-specific auto-lint/format/typecheck pipeline. Supports Python (ruff+pyright), TypeScript (prettier+eslint+tsc), Go (gofmt+golangci-lint). Auto-fix and convergence loops.