基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/s977043/river-review --skill context-budget-tuning命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
6つの専門レビュアーロールを並列実行し、consensusLevel(複数ロールの合意度)と Tech Lead レポート(top3指摘・blindSpots・consensusSummary)で結果を統合する マルチエージェントレビュー entry skill。 Parallel multi-role review with consensus scoring (consensusLevel) and Tech Lead report. Use when a major release needs exhaustive multi-angle review, or when a single-perspective review is not enough and you want confidence that no reviewer angle was missed(重要リリース前の網羅レビュー・多視点の確証が 欲しいとき)。
検査器(linter / ガード / CI ゲート / バリデータ / フィルタ)そのものの検出力が差分で静かに落ちていないか、また新設した検査が実際に検出できることが実証されているかを diff-time で検出する。Check 1 unverified detection reduction(検査器の検出ロジック(正規表現・除外パターン・解決集合・allowlist・baseline)を変更して検出件数が減ったのに、減った 1 件ずつが誤検出であった根拠が示されないまま「誤検出を潰した」「N → M 件に減少」と改善として主張している)、Check 2 unproven guard detection power(新しい検査ロジック・CI ゲート・バリデーションを追加・変更したのに、検出すべき入力を注入して検出されること/検出すべきでない入力で黙ることを示す変異注入の証跡が無く、「追加した」「CI が緑」を検出力の証拠として扱っている)、の 2 Check を対象とする report-only。テスト自身のアサーションが実質何も検証していない構造は test-assertion-effectiveness、レビュー基準・品質ゲートの明示的な弱体化(ルールの削除・閾値の引き下げ・suppression entry 追加・lint ルールの無効化)は review-criteria-integrity、リファクタ完了主張一般の検証は refactor-claim-audit、workflow の permissions と action pin は gha-workflow-security、設定ファイルの構文・型の妥当性は config-json へ委譲する
pbi-input, plan, todo, test-cases 間の整合性をチェックし、実装着手前の仕様漏れを検知する
| id | context-budget-tuning |
| name | Context Budget Tuning |
| description | .river-review.{yaml,json} の context.budget / ranking / reviewMode 設定をモデル仕様とリポジトリ規模に合わせて調整するレビュー観点。 |
| version | 0.1.0 |
| category | upstream |
| phase | upstream |
| applyTo | [".river-review.yaml",".river-review.yml",".river-review.json"] |
| inputContext | ["diff","repoConfig"] |
| outputKind | ["findings","actions"] |
| modelHint | balanced |
| tags | ["configuration","context","process","upstream"] |
| severity | minor |
Primary pattern: Reviewer
Secondary patterns: Tool Wrapper
Why: .river-review の context 設定変更時に、reviewMode プリセット選択 / token・char 上限 / ranking weights をモデル仕様と照合してレビューする educator スキル。
.river-review.{yaml,json} の context.reviewMode / context.budget / context.ranking 変更が モデル仕様 (model.modelName) と整合しているか をレビューで確認する。reviewMode: tiny | medium | large プリセットの 既定値 (1024 / 4000 / 16000 max tokens) と explicit budget の優先関係を理解させる。pathProximity / symbolUsage / siblingTest / commitRecency) の 0.0〜1.0 範囲 とスキーマキー名を schema (src/config/schema.mjs) と照合する。src/lib/context-presets.mjs)| reviewMode | maxTokens 既定 | 想定モデル |
|---|---|---|
tiny | 1024 | コンテキスト窓の小さいモデル / 短い PR |
medium | 4000 | gpt-4o-mini / sonnet 級モデルの通常 PR |
large | 16000 | 大型モデルでの深掘りレビュー |
context.budget がある場合は 常に preset より優先 する。budget.maxTokens の上限は schema で 64000、maxChars は 200000 まで。context.budget.maxTokens は 使用する model.modelName の公式仕様(または運用上採用している実効 context window) を超えないように設定する。プロバイダの仕様変更で値は変動するため、本スキルでは具体値を固定しない。gpt-4o-mini 級)に large プリセット (16000 token) を当てると、モデルの実効 context window を超える分は切捨てられて redundant になり、コストのみ増える。プリセットの maxTokens がモデル仕様の上限を上回らないか を確認する。tiny プリセット (1024 token) を当てている場合は、context が不足してレビュー品質が落ちる可能性を指摘する。pathProximity / / / ) と一致しなければならない。古い名称( / )は 。symbolUsagesiblingTestcommitRecencysymbolOverlaptestAffinitycontextRankingSchema.weights は .strict() のため、未知キーを含む設定は 設定ロード時に Unknown key エラーで失敗 する(silently 無視されない)。古い名称が残っている設定は CI でも気付かれず動き続けることはなく、即座に明示的なエラーになる。0.0〜1.0。合計が 1 を超えても問題ないが、scoreContextCandidate が weighted average を取るため相対比のみが意味を持つ。budget.perSectionCaps (fullFile / tests / usages / config) は char 単位。各 cap と budget.maxChars、token budget の min が実効値。context.budget を使わない運用判断(CI 環境差異など)。reviewDebug.repoContextBudget の観測責務)。このスキルは以下のいずれかが満たされない限り NO_REVIEW を返す。
.river-review.{yaml,yml,json} の変更が含まれている(src/config/loader.mjs が探索する対象はこの 3 ファイルのみ)context.budget / context.ranking / context.reviewMode のいずれかに触れているゲート不成立時の出力: NO_REVIEW: context-budget-tuning — context.* 設定の変更が検出されない
Pre-execution Gate を通過した後の 個別指摘の抑制条件 に絞る。
0.0〜1.0) で、合計が 1 でなくとも relative ratio として正しければ指摘しない (合計 1 制約は schema にない)。reviewMode を tiny にして budget を明示しないケースを「budget 不足」と誤認しない(preset がカバーしている)。findings:
- severity: minor
file: .river-review.yaml
line: 18
issue: |
`reviewMode: large` (preset maxTokens 16000) を小型モデル `model.modelName: gpt-4o-mini`
と組み合わせています。`large` プリセットの 16000 token は当該モデルの公式仕様の
effective context window を上回る可能性が高く、末尾 context が切捨てられて redundant になります
(具体値は使用モデルの公式仕様で確認してください)。
suggestion: |
モデル仕様の上限内に収まる `reviewMode: medium` (preset maxTokens 4000) を起点に検討し、
depth が必要な場合は `context.ranking.enabled: true` で近接度の高い候補を
優先させ、weights を `pathProximity: 0.5, symbolUsage: 0.3` 等に調整してください。
- severity: major
file: .river-review.yaml
line: 24
issue: |
`context.ranking.weights.symbolOverlap` を指定していますが、schema
(`src/config/schema.mjs` `contextRankingSchema.weights`) は `.strict()` で、
正規キー名は `symbolUsage` です (#728 でリネーム済み)。古い名称のままだと
設定ロード時に **Unknown key エラーで失敗** します。
suggestion: |
`symbolOverlap` → `symbolUsage`、`testAffinity` → `siblingTest` にリネームしてください。
actions:
- type: 'verify'
description: 'PR 後の review で `reviewDebug.repoContextBudget.remaining` が 0 / 過大に余っていないかを観測する'