メインコンテンツまでスキップ

スキルスキーマ・リファレンス

River Review のすべてのスキルは、以下の JSON スキーマに準拠する必要があります:

/schemas/skill.schema.json

必須フィールド

フィールド説明
id一意のスキル識別子(ディレクトリ名と一致させる)
name人間が読めるスキル名
descriptionスキルが何をチェックするか
categorycore / upstream / midstream / downstream(ルーティングの第一キー)
applyToファイルのグロブパターン

category がルーティングの第一キーで(トップレベルで)必須です。phaseupstream / midstream / downstream)は後方互換のため残る任意フィールドで、新規スキルでは category を使います。phase / applyTo はトップレベルまたは trigger 内に書けます(両方指定した場合はトップレベルが優先)。

---
id: rr-python-sqlinj-v1
name: Python SQL Injection Check
description: Python コード内の SQL インジェクションパターンを検出する
phase: midstream
applyTo:
- '**/*.py'
tags: ['security', 'owasp']
---
# 指示...

trigger ラッパーを使用した例

---
id: rr-python-sqlinj-v2
name: Python SQL Injection Check
description: Python コード内の SQL インジェクションパターンを検出する
trigger:
phase: midstream
files:
- '**/*.py'
tags: ['security', 'owasp']
---
# 指示...

Loading Stages

スキルのフィールドは、Progressive Disclosure の 3 段階に対応しています。

Stageタイミングフィールド
1: Metadata常時(起動時)id, name, description, phase, applyTo, tags, severity, inputContext, outputKind, modelHint, dependencies, priority
2: Instructionsスキル選択後body(Markdown 本文)
3: Referencesレビュー実行時prompt.system, prompt.user, fixtures/, golden/, Riverbed Memory entries

Stage 1 のフィールドはフィルタリングとルーティングに使用され、Stage 2 以降は LLM プロンプトの構築に使用されます。ローダーは Stage 1 のメタデータのみでスキル選択を完了できるように設計されています。