<What this skill does>
日本語の概要は準備中です。原文の説明を表示しています。
River Review の artifact / memory / log に対して、retention 設定 + hard guards + excludes から決定論的に KEEP/REMOVE を判定する GC skill
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Primary pattern: Reviewer
Secondary patterns: Inversion
Why: river gc から呼び出され、retention 設定・hard guards・excludes を基準に artifact inventory を突き合わせて決定論的に KEEP/REMOVE を出力する照合型 skill。必須入力が欠ければ実行を止めるゲート(Inversion)も担う。
river gc CLI が供給する file inventory(path / sizeBytes / mtimeEpoch)と retention 設定・hard guards・excludes から、各パスを KEEP または REMOVE に決定論的に分類する。age / count / size)を 1 つだけ紐付け、river gc の JSON 出力 removed[] にそのまま流せる形で返す。river gc の削除実行段)が retention policy を再現可能に適用できるよう、判定順序とタイブレークを固定する。river gc --force の実行段で行う)。--retention-days / --max-entries / --max-size-mb の設計は pages/reference/cli-gc-spec.md と CLI に委ねる)。pages/reference/artifact-input-contract.md に従い artifact-driven で判断)。このスキルは以下の条件がすべて満たされない限りNO_REVIEWを返す。
{ "paths": [...], "scope": "..." } が存在し、paths が空でないpaths[] 要素に path / sizeBytes / mtimeEpoch が揃っている{ "days": N, "maxEntries": N, "maxSizeMb": N } のすべてのキーが数値として与えられているnow が epoch 秒として明示的に与えられている(呼び出し時刻へのフォールバックは決定論を破るため禁止)ゲート不成立時の出力: NO_REVIEW: plangate-gc-deterministic — inventory / retention config が不足
Gate と抑制条件の違い:
hardGuards に列挙された single-source ファイル(例: .river/memory/index.json、artifacts/evals/latest、schema 本体)は、どの retention policy にヒットしても REMOVE に分類しない。removed[] には一切現れない。--exclude glob に一致したパスも同様に常に KEEP とし、removed[] には現れない。scope に該当しないパス(呼び出し側が誤って混入させた場合)は判定対象から外す。混入そのものは warning としても良いが、再現性を崩さないため severity は据え置く。抑制時の出力: 該当する指摘を出力しない(黙る)。
GC 判定は以下の順序で固定適用する。順序を変えると同一入力で出力が変わりうるため、この順序自体が決定論契約の一部。
hardGuards に列挙されたパスは retention policy のヒット状況に関わらず KEEP。reason は付けず、removed[] に絶対に出さない。--exclude glob に一致するパスは KEEP。hard guard と同じ扱い。reason: "age" で REMOVE)mtimeEpoch が now - days * 86400 より古いパスを REMOVE。now は 入力として CLI から明示的に与えられる必須フィールド(実行開始時に固定された epoch 秒)。呼び出し時刻へのフォールバックはしない — 同一入力で再実行したとき removed[] が変わらないよう、now が欠損していれば Pre-execution Gate で NO_REVIEW とする。reason: "count" で REMOVE)(mtime DESC, path DESC) で並べ、maxEntries 番目を超える末尾側(=古いもの)を REMOVE。reason: "size" で REMOVE)(mtime DESC, path DESC) に並べ、cumulative sizeBytes が maxSizeMb * 1024 * 1024 を超えた時点以降のエントリを REMOVE。タイブレークは Count と同じ。reason にヒットすることはロジック上起こらない。cli-gc-spec.md の「複数ルールヒット時は age > count > size」記述は将来ルール追加時の保険として残すが、現時点の判定順では deduplicate は不要。hardGuards + 同一 excludes + 同一 now を与えれば、removed[] の内容・順序・reason が完全に一致する。(mtime DESC, path DESC) で並べる。mtime が同じエントリが複数ある場合、path 降順で補助キーを取ることで「切り捨て境界」が決定論的になる(末尾に入る古いものが常に一意)。removed[] は評価ロジック上の順序に関わらず、path の昇順(lexicographic)で再ソートしてから返す。これにより呼び出し順やハッシュマップ走査順に依存しない。path と、ヒットしたルールの根拠(age なら mtimeAge、count なら scope 内順位、size なら cumulative bytes)を 1 行で示す。hardGuards や exclude により KEEP された件数は keptSummary 用のカウントとして要約に含める。個別の KEEP 指摘は出さない。すべて日本語。River Review の <file>:<line>: <message> 形式。
blocker|warning|nit を使用し、スキーマ側 critical|major|minor|info への変換は review-core ルールに委ねる。本スキルの既定は nit(= minor)で、下記 Severity 節の条件でのみ warning(= major)に昇格する。(summary):1: scope <name>: keep <N>, remove <N>, hard-guarded <N>, excluded <N><path>:0: [severity=minor] reason=<rule>, sizeBytes=<n>, mtimeAge=<days>日(warning):1: [severity=major] <issue description>removed[] のソート規則(path 昇順)に従い、サマリ → 警告 → REMOVE 一覧の順で並べる。例:
(summary):1: scope memory: keep 42, remove 7, hard-guarded 1, excluded 2(warning):1: [severity=major] hard guard .river/memory/index.json が exclude glob と重複しています。保持は維持されますが設定を整理してください。.river/memory/snapshots/2025-11-01T12-00-00Z.json:0: [severity=minor] reason=age, sizeBytes=1048576, mtimeAge=120日nit(→ minor): 通常の age / count / size ルールによる REMOVE。GC の定常運用としての削除は情報レベル扱い。warning(→ major): 以下のいずれかに該当する場合のみ昇格。
hardGuards が exclude glob や retention 設定と重複している(設定汚染の兆候)。mtimeEpoch が欠けていたため評価から除外したエントリがある。blocker(→ critical): 既定では使用しない。GC は原則として非致命。ただしスキルが hardGuards を無視して削除判定を出した場合(実装バグ)は呼び出し側テストで critical として扱う。docs/review/output-format.md(severity の SSoT)を参照。scope=memory のとき、.river/memory/index.json のような single-source は原則 hardGuards 経由で保護されるべき。渡されていない場合は warning。scope=evals のとき、artifacts/evals/latest/** は CLI 側で hard guard される前提。inventory に混入していたら KEEP し、警告を出してよい。scope=review-artifacts のとき、artifacts/review-artifact.schema.json は schema 本体なので hard guard 必須。scope=tmp は retention を短く切って攻撃的に掃除するのが想定運用。80% 超削除でも warning を出すが blocker ではない。mtimeEpoch が 0 や未来値のエントリは inventory 不整合の兆候。evaluation から外して warning を出す。scope=memory、100 件の inventory、days=90 / maxEntries=1000 / maxSizeMb=500 → age で 7 件 REMOVE、count / size は不発 → removed[] に 7 件(path 昇順)+ summary。.river/memory/index.json が inventory に含まれる → removed[] に現れず、summary の hard-guarded カウントが +1。removed[] の順序が変わる → 決定論契約違反。reason に "age+count" のように複数ルールを連結 → 契約違反(最初にヒットしたルール 1 つのみ)。NO_REVIEW を返さず removed[]=[] を生成する → Gate の誤判定。removed[] が完全一致する(内容・順序・reason)。hardGuards / excludes が例外なく KEEP される。警告は Severity 節の条件にのみ一致する。reason 連結、hard guard の REMOVE)、Gate 条件の誤判定、inventory に無いパスへの推測指摘、一般論のみの警告、外部ツール(fs walk 等)への依存。maxEntries=0、days < 0、maxSizeMb が非数)で、Gate は通ったが評価が成立しない場合は questions として返す。hardGuards が渡されず、scope の性質上 single-source の保護が必須(memory / review-artifacts の schema 本体など)と判断される場合。mtimeEpoch が欠損しており、age 判定が信頼できない場合。path / sizeBytes / mtimeEpoch が揃い、retention config に days / maxEntries / maxSizeMb が数値で揃い、さらに基準時刻 now が epoch 秒で与えられているか確認。いずれか欠ければ NO_REVIEW。hardGuards / excludes に一致するパスを KEEP リストに入れ、以降の判定から除外する。mtimeEpoch < now - days * 86400 のパスを REMOVE 候補に入れ、reason: "age" を記録。(mtime DESC, path DESC) に並べ、maxEntries を超える末尾側を REMOVE 候補に追加(reason: "count")。構造上、各パスに割り当たるルールは 1 つのみ。(mtime DESC, path DESC) 順で並べ、cumulative sizeBytes が maxSizeMb * 1024 * 1024 を超えた時点以降を REMOVE 候補に追加(reason: "size")。ここでも各パスは 1 ルールのみ。removed[] を path 昇順(lexicographic) で並べ替える。Step 3–5 の構造上、同一パスが複数 reason を持つことはないため deduplicate は不要。questions として返す。river gc — 呼び出し側 CLI の契約。JSON 出力 removed[] / keptSummary / タイブレーク規則はこちら。docs/review/output-format.md — severity とコメント形式の SSoTplangate-plan-integrity(#519)、plangate-exec-conformance(Exec Conformance Guard)まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
<What this skill does>
日本語の概要は準備中です。原文の説明を表示しています。
画像・ボタン・フォーム要素に適切なアクセシブルネームがあるか確認する。
Ensure ADRs capture context, decision, alternatives, tradeoffs, and follow-ups in a way that prevents future drift.
日本語の概要は準備中です。原文の説明を表示しています。
敵対的分析手法を統合したレビューの entry skill。認知バイアス対策の3手法 (Pre-mortem / War Game / Logic Torturing)と、宣言・主張と実態の乖離を突く claim-vs-actual 検出3パターン(Self-Contradiction / Refactor-Claim Audit / Cross-File Leakage)へルーティングし、通常のレビューでは見えない設計の盲点・ 防御の穴・論理の弱点・宣言と実装のズレを可視化する。
Review changes to the Agent Skills import/export bridge for path safety, round-trip fidelity, and validation correctness.
日本語の概要は準備中です。原文の説明を表示しています。
Checks whether AI-assisted work defines review criteria, accessible context, explicit review loop, human judgment boundary, and feedback capture before delegating to an agent.
日本語の概要は準備中です。原文の説明を表示しています。