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.
npx skills add s977043/river-review --skill plangate-gc-deterministicgit clone --depth 1 https://github.com/s977043/river-reviewWrote 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/s977043/river-review/plangate-gc-deterministic)<a href="https://agentmods.dev/skills/s977043/river-review/plangate-gc-deterministic"><img src="https://agentmods.dev/badge/skills/s977043/river-review/plangate-gc-deterministic/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/s977043/river-review/plangate-gc-deterministic"><img src="https://agentmods.dev/badge/skills/s977043/river-review/plangate-gc-deterministic.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00049 | $0.04342 |
| Opus 5.5 | $0.00020 | $0.01737 |
| Sonnet 5.5 | $0.00010 | $0.00868 |
| Haiku 4.5 | $0.00005 | $0.00434 |
Grade A, and why
PlanGate 決定論的 GC 判定 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 1mo 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 — 181 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: river gc から呼び出され、retention 設定・hard guards・excludes を基準に artifact inventory を突き合わせて決定論的に KEEP/REMOVE を出力する照合型 skill。必須入力が欠ければ実行を止めるゲート(Inversion)も担う。
Goal / 目的
river gcCLI が供給する file inventory(path / sizeBytes / mtimeEpoch)と retention 設定・hard guards・excludes から、各パスを KEEP または REMOVE に決定論的に分類する。- REMOVE と判定したエントリには、根拠となったルール名(
age/count/size)を 1 つだけ紐付け、river gcの JSON 出力removed[]にそのまま流せる形で返す。 - 下流(
river gcの削除実行段)が retention policy を再現可能に適用できるよう、判定順序とタイブレークを固定する。
Non-goals / 扱わないこと
- ファイルシステムの走査(inventory 生成は CLI 側の責務)。このスキルは渡された inventory だけを評価する。
- 実際の削除操作(副作用は
river gc --forceの実行段で行う)。 - retention 値そのものの妥当性判断(
--retention-days/--max-entries/--max-size-mbの設計はpages/reference/cli-gc-spec.mdと CLI に委ねる)。 - review / midstream / downstream 観点の品質指摘(GC 専任)。
- PlanGate 固有のディレクトリ構成や内部コマンドへの依存判定(
pages/reference/artifact-input-contract.mdに従い artifact-driven で判断)。
Pre-execution Gate / 実行前ゲート
このスキルは以下の条件がすべて満たされない限りNO_REVIEWを返す。
- 入力 inventory
{ "paths": [...], "scope": "..." }が存在し、pathsが空でない - 各
paths[]要素にpath/sizeBytes/mtimeEpochが揃っている - retention 設定
{ "days": N, "maxEntries": N, "maxSizeMb": N }のすべてのキーが数値として与えられている - 基準時刻
nowが epoch 秒として明示的に与えられている(呼び出し時刻へのフォールバックは決定論を破るため禁止)
ゲート不成立時の出力: NO_REVIEW: plangate-gc-deterministic — inventory / retention config が不足
Gate と抑制条件の違い:
- Gate = 入力不足で判定ロジック自体が成立しないので実行しない。
- 抑制条件 = 実行した上で個別の指摘を黙らせる。
False-positive guards / 抑制条件
hardGuardsに列挙された single-source ファイル(例:.river/memory/index.json、artifacts/evals/latest、schema 本体)は、どの retention policy にヒットしても REMOVE に分類しない。removed[]には一切現れない。--excludeglob に一致したパスも同様に常に KEEP とし、removed[]には現れない。scopeに該当しないパス(呼び出し側が誤って混入させた場合)は判定対象から外す。混入そのものは warning としても良いが、再現性を崩さないため severity は据え置く。- inventory が同一スコープの異なる粒度(ファイル / ディレクトリ)を混在して渡してきた場合、ディレクトリは判定対象から外し、ファイル単位のみで評価する。
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.
- 1mo ago First seen · 181 lines · 49 tokens per session scan A 0e2e573ca602
PlanGate 決定論的 GC 判定 is a skill published in the GitHub repository s977043/river-review (7 stars, last pushed today), licensed MIT. It adds 49 tokens to every session and 4,342 once invoked, about $0.0002 per session on Opus 5.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.
Other skills, from other repositories
logic-review
Find logic bugs in a single file or function via semi-formal execution tracing (Premises → Trace → Divergence → Trigger → Remedy). Trigger when a user shares code and suspects something is wrong without naming a concrete failure — phrases like "review this", "does this look right", "check this function", "audit this…
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…
run-iteration-eval
Run the Logic-Lens content-eval pipeline for one iteration and produce a scored summary.json — use to measure a skill change. Wraps scripts/run-content-evals.sh (runner, costs tokens) and scripts/grade-iteration.py (grader, free, re-runnable). ALWAYS sync the plugin cache first. Use when the user wants to "run the…
sync-skill-cache
Sync the Logic-Lens working-copy skills/ into the installed plugin cache so content-evals test the EDITED skill, not the last published one. ALWAYS run this after editing any skills//SKILL.md or guide/shared file and BEFORE running content-evals — otherwise the eval silently grades stale content and every token is…
bump-version
Bump the Logic-Lens version across all six metadata locations at once (package.json, the four plugin manifests, and the README badge), then validate. Use when cutting a release or when npm run validate reports a version mismatch.
init
Opt-in onboarding for the mARC agent team. Scaffolds a per-repo team binding so the team graduates from ephemeral session-memory to persistent, versioned config — without ever writing a file silently. Discovers the repo's org/repo/ project at runtime via gh, prefills {{ agentsdir }}/team.toml, and (optionally) a lean…