coral について
Coralは、Coral MCPのツールとリソースを通じて外部コンテキストを調べるAIエージェント向けスキルです。データ発見からSQLクエリまでの手順を示し、回答やコード変更の前にソースとメタデータを確認するよう定めています。
主な機能
- 01テーブルとテーブル関数の検索
- 02スキーマ、列、ソース入力の確認
- 03SQLによるデータ照会
- 04必須フィルターと結果範囲の指定
- 05根拠、不足情報、次の手順の要約
活用シーン
- 01回答前の外部状態の確認
- 02依頼に応じたデータソースの検索と照会
- 03クエリ結果に基づくコード変更の検討
MCP 対応
データの発見と照会にはCoral MCPのツールとリソースを使用します。Coral MCPを利用できない場合は、停止して阻害要因を報告するよう定めています。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ withcoral/ skills --skill coralインストール後、Claude Code で/coralを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Coral
概要
外部コンテキストを取得する際の Coral のエントリーポイントとして使用してください。ライブの外部状態が重要な場合は、前提に基づいて回答したり、コードを変更したりする前に Coral に問い合わせてください。
- 検出とクエリには Coral MCP ツール/リソースを使用してください。
- 明示的に依頼された場合を除き、
coralCLI の使用、Coral のコンパイル、バイナリのコピー、サーバーのブートストラップは行わないでください。 - ユーザーから Coral を使わずに続行するよう依頼された場合、または Coral が対象の情報源に対応していない場合を除き、同じ情報の読み取りにベンダーのツールへ切り替えないでください。
サポート状況の確認
- 外部システムについて主張する前に、Coral MCP のツール/リソースを確認してください。
- Coral MCP を利用できない場合は、障害要因を伝えて停止してください。ローカルでの復旧は行わないでください。
- 情報源の設定不足、認証情報の不足、クエリエラー、結果が空であることを区別してください。
- スコープが指定されていない場合は、まずガイダンスを確認してから、不足している識別子のうち必要最小限のものを尋ねてください。
ワークフロー
- ユーザーの依頼から、必要な情報源、エンティティ、スコープを特定します。
searchで関連するテーブル、テーブル関数、列、フィルターを検出します。カタログ、スキーマ、種類で絞り込んだページ分割済みのカタログ一覧が必要な場合は、list_catalogを使用します。- 正確なメタデータが必要な場合は、
schemaと単独のsurface名を指定してdescribeを使用します。3 部構成のテーブルの場合はcatalogも追加します。Coral が対象をテーブルかテーブル関数か判定します。正確な応答では対象が再掲されず、メタデータのみが返されるため、リクエスト対象または先行する検出結果を保持してください。kind、guide、required_filters、関数の引数、結果列を確認します。クエリパターンにはcoral://guide、テーブルの概要にはcoral://tablesを使用します。 - テーブルの列、必須フィルター、仮想列、説明を確認するには、
coral.columnsを調べます。 - 情報源に応じた関数のガイド、引数、結果列を確認するには、
coral.table_functionsを調べます。 - 情報源の設定が回答に影響する場合は、
coral.inputsを調べます。 sqlでクエリを実行します。有用な列を選択し、必須フィルターまたは関数の引数を含め、完全な出力を求められていない限りLIMITを追加します。- 根拠、不足情報、次のアクションを要約します。コードを編集する場合は、Coral の結果を変更の指針にしてください。
クエリのルール
- 各テーブルで
sql_referenceが利用可能な場合は、それを使用してください。catalog_nameが空の場合はschema_name.table_name、空でない場合はcatalog_name.schema_name.table_nameを使用します。識別子はそれぞれ個別に引用符で囲み、完全修飾参照全体を囲まないでください。 - 各テーブル関数では
sql_call_exampleを使用し、必須の引数を埋めてからクエリを実行してください。 - メタデータの検出は範囲を限定してください。カタログの検出ではページ分割し、可能であれば
coral.columnsには 1 つのテーブルを、coral.table_functionsには 1 つの情報源を指定してください。広範なメタデータを直接読み取る場合はLIMITを追加します。 - 仮想列はフィルター専用で、
NULLを返します。is_virtualを確認してください。 - 必須フィルターは
WHEREに含める必要があります。required_filtersとis_required_filterを確認してください。 - シークレット入力では常に
value = NULLが返されます。is_setを使用してください。 - 情報源をまたぐ結合は可能で、情報源のスキャン完了後にローカルで実行されます。
- 回答は簡潔にまとめ、情報源、テーブル、必須フィルター、クエリの形式を示してください。依頼されていない限り、列を網羅的に列挙しないでください。
- 回答または障害要因から先に示してください。ユーザーが結果を信頼または再利用するうえで役立つ場合にのみ、SQL を含めてください。
境界
- マニフェストへのフォールバックは依頼された場合に限ります。関連する最小限のセクションを確認し、テーブルとフィルターの構成を要約してください。
- マニフェストの大きな抜粋を貼り付けたり、クエリで確認した範囲を示さずに情報源全体について結論を述べたり、クエリの失敗を結果が空であることとして扱ったりしないでください。
フィードバック
MCP の feedback ツールが利用可能な場合、Coral が作業を妨げる、生産性の低いパターンを促す、または同じ情報の読み取りにベンダーのツールを使うほうが簡単だったときは、フィードバックを送信してください。
trying_to_do、tried、stuck を含め、テーブル名/情報源名、クエリの抜粋、エラーテキストを記載してください。通常の結果なしや認証情報の不足については、Coral が問題を分かりにくくしていた場合を除き、フィードバックを送信しないでください。
コメント
Markdown 対応