<Skill Name>
Free<What this skill does>
The English summary is being prepared. Showing the original description.
River Review の artifact / memory / log に対して、retention 設定 + hard guards + excludes から決定論的に KEEP/REMOVE を判定する GC skill
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
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)No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
<What this skill does>
The English summary is being prepared. Showing the original description.
画像・ボタン・フォーム要素に適切なアクセシブルネームがあるか確認する。
The English summary is being prepared. Showing the original description.
Ensure ADRs capture context, decision, alternatives, tradeoffs, and follow-ups in a way that prevents future drift.
The English summary is being prepared. Showing the original description.
敵対的分析手法を統合したレビューの entry skill。認知バイアス対策の3手法 (Pre-mortem / War Game / Logic Torturing)と、宣言・主張と実態の乖離を突く claim-vs-actual 検出3パターン(Self-Contradiction / Refactor-Claim Audit / Cross-File Leakage)へルーティングし、通常のレビューでは見えない設計の盲点・ 防御の穴・論理の弱点・宣言と実装のズレを可視化する。
The English summary is being prepared. Showing the original description.
Review changes to the Agent Skills import/export bridge for path safety, round-trip fidelity, and validation correctness.
The English summary is being prepared. Showing the original description.
Checks whether AI-assisted work defines review criteria, accessible context, explicit review loop, human judgment boundary, and feedback capture before delegating to an agent.
The English summary is being prepared. Showing the original description.