grilling について
行動に移る前に、一度に一つの判断事項を質問し、明示的な確認を得て共通認識を作るスキルです。既存のストアにひもづくセッションへ判断と理由を記録し、その記録を検証します。
主な機能
- 01判断事項を一度に一つ質問
- 02環境内の事実を調査
- 03質問と回答をセッション JSON に記録
- 04セッションフォームの生成と公開
- 05引用と未マージ記録の検証
活用シーン
- 01実装前の要件確認
- 02ユーザーの選択と却下理由の記録
- 03追加回答による判断セッションの再開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pandoscope/ skills --skill grillingインストール後、Claude Code で/grillingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
check.shformat.mdreading.mdrecording.mdresolve-store.shrender/build.tsdecision-context.tspage.tsrender.tstemplate.htmltemplate.src.htmltext.tsview-model.ts詳細
グリリング
共通認識が得られるまでユーザーに質問します。意思決定ツリーのすべての分岐と依存関係を一つずつ確認します。質問は一度に1つだけにし、次の質問に進む前に回答を待ちます。環境内で確認できる事実は、質問せずに調べます。意思決定はユーザーが行うものです。それぞれユーザーに確認し、回答を待ちます。ユーザーの確認があるまで、実行しないでください。
命名規則:質問は S«s»Q«q»、回答は S«s»Q«q»A«n» です。
手順
-
resolve-store.sh path— すでにクローン済みのストアハーネスを特定します。場所を解決し、クローンはしません。ストアに名前がない、解決できない、または存在しない場合は、独自の修正方法を示してゼロ以外の終了コードで終了します。名前がない場合は、その旨を明示して記録しません(何も言わずにスキップすると、記録に成功した場合と区別できません)。ストアの URL は環境内にのみ存在します。ハードコードしたり、成果物に出力したりしないでください。 -
resolve-store.sh unmerged— 記録が1件でもある場合は、recording.md に従い、プリンシパルが前回の記録をマージするまでセッションの開始を拒否します。 -
resolve-store.sh preferences— セッションのpreferences用に、有効なセットを JSON 配列として出力します。コピーし、入力し直さないでください。そのセットのみを注入し、意思決定履歴は注入しないでください。 -
すべての意思決定ポイントをセッション JSON として作成します。回答を含む、ここまでのセッション全体を記録します。仕様はこのファイルと同じ場所にある
render/decision-context.ts、意味論は format.md を参照してください。質問を手動で整形するのは絶対に避けてください。レンダラーが自由記述欄を自動で追加します。 -
ユーザー向けの両方の形式をレンダリングします。検証に失敗した場合は問題のあるフィールドが示されるので、JSON を修正して再実行します。
node --experimental-strip-types <skill-dir>/render/render.ts <session.json> --out <dir> -
session.htmlを成果物として公開し、セッションが進むたびに同じ URL に再デプロイします。利用できない場合は、session.mdをチャットにそのまま出力します。ファイル添付や、ユーザーが入力中に閉じてしまう時間制限付きダイアログは使わないでください。 -
回答は、ページのコピー済み JSON をチャットに貼り付けるか、チャットで返信する形で届きます。回答 ID(「S1Q2A1」または「1」)、訂正は「N、実際は……だから」の形式です。短縮形は「N、BAB……」です。現時点ではページからエージェントへのライブ通信はありません(pandoscope/skills#139)。回答の意味は reading.md を参照してください。追加質問をする場合は、新しい質問と受け取った回答を追加して再レンダリングします。ユーザーは以前の回答を見直すことがあります。
-
セッション終了時には、すべての判断をストアに記録し、recording.md に従って、却下理由をセッションの対象成果物に埋め込みます。
-
check.sh <session.json>— セッションを再検証し、引用がストア内の行と逐語的に一致することを確認します。記録が未マージの間は失敗し、手動で確認する残余事項を出力します。
質問のルール
- スロット1には予測を示します。有効なルールが一致する場合(
matchesに名前が記載されます)は嗜好に基づく選択、それ以外は事前情報のない選択です。異なる推奨案はスロット2に示し、スロット1より優れている条件を if 節で説明します。 - 未検討の分岐が本当に妥当な場合に限り、ワイルドカードを使います。
- if 節には、その選択肢が推奨案を上回る条件を記載します。「推奨しない理由」を追加するのは、それが if 節の否定形と異なる場合に限ります。
- ほぼ同等の選択肢には必ずその旨を示します。僅差の選択肢について弱点を捏造したり、外れとして採点したりしないでください。
- 訂正(「N、実際は……だから」、短縮形「N、BAB……」)は、選択肢を受け入れたうえで、その選択肢に示された理由を上書きします。これは最も強いシグナルとなる出来事なので、記録にフラグを立ててください。
- 自由記述の回答で却下理由が示されていない場合に限り、追加で質問を1つ行います(順位付けした推測を2~3個と自由記述欄)。推測は予測として数えます。
対象外
嗜好ルールを自動的に受け入れることはありません。常に人間が関与します。埋め込み/RAG ツールはありません。上流との同期もありません。