fable-domain について
fable-domain は、fable-method のドメインアダプターを作成するスキルです。要件の議論、出典に基づく調査、ワークフローやアダプター、トラップ用フィクスチャ、スモーク評価の作成を導き、高リスク分野には拒否ゲートを設けます。
主な機能
- 01用途とドメイン境界の検討
- 02証拠と現行の権威情報の調査
- 03フローチャート付きワークフローの生成
- 04アダプターとトラップ用フィクスチャの作成
- 05スモーク評価と主張の監査
活用シーン
- 01新たな専門分野向けアダプターの作成
- 02能力の低いモデル向けの段階的な業務手順の作成
- 03分野固有の主要な失敗へのスキル検証
- 04重大な危害につながる分野でのチェックリスト生成の停止
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sahir619/ fable-method --skill fable-domainインストール後、Claude Code で/fable-domainを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
fable-domain
fable-method は、そのループを各業界の用語に変換するドメインアダプターを提供します。このスキルを使うと、新しいアダプターを作成し、そのドメインで Fable のように取り組めるよう、実用的な段階的ワークフローとフローチャートをユーザーに提供できます。これにより、能力の低いモデルでもそのドメインに取り組めるようになります。
この生成の中核にあるのは推測ではなく、記録です。2つの Fable 5 エージェントに、プロセスに関するヒントを一切与えず、「ほかのアダプターと同じように信頼できるアダプターを作成する」よう依頼したところ、両者は独立して同じプロセスに従いました(eval/results/round11-observed-traces.json)。以下のステップには、[observed](そのトレースに基づく)、[covenant](フロンティアモデルには不要でしたが、リポジトリの「失敗するテストなしにルールを追加しない」という規則で必須)、または [v1.4](このバージョンで追加されたもの:ディスカッション、レッドライン、フローチャート出力)のタグが付いています。covenant と v1.4 のステップが存在する理由こそが、この仕組みの要点です。これは、ドメイン知識と自制心が観察対象のモデルより弱いモデルで動作するため、ディスカッション、取得した情報源、レッドライン、そして罠が、専門知識と判断力の代わりとなるのです。
生成物(4つすべて揃って初めて完了)
- フローチャート付きのドメインワークフロー [v1.4]。 ディスカッションと調査をまとめた、このドメイン向けの段階的なアプローチと、メソッド独自の
references/flowcharts.mdと同じ形式の mermaid フローチャートです。ユーザー向けに「手順を順番に示す」成果物です。アダプターの Workflow セクションに配置します(TEMPLATE.mdを参照)。 - アダプター。
references/domains/TEMPLATE.mdに準拠し、名前の挙がった規制、ポリシー、数値のそれぞれに、Sources セクションで取得した情報源を記載します。 - 罠のフィクスチャ。
eval/scenarios/形式のディレクトリで、GROUND-TRUTH.md にタスク、罠(その業界の中心的な詐欺)、スコア上限、理想的な振る舞いを定義します。 - スモーク評価。コントロールとアダプターを1~2回実行し、差分と実行結果で評価して、スモークグレードと明記します。残る課題を宣言し、隠蔽してはなりません。
ステージ 1:相談 [v1.4]
スキルの作成は、意図的に人が立ち会って行う作業なので、無人で回るループとは異なり、まず対話から始めます。固定された台本ではなく、状況に応じて次の点を尋ねます。実際のユースケースは何か、誰が実行するのか。この分野で「良い」とはどのような状態で、実務者はそれをどう判断するのか。ユーザーはどの情報源や権威を信頼しているのか。スキルが決してしてはならないことは何か。具体的に何を生成すべきか。この分野の根拠、権威、失敗モードをユーザーに説明し、ユーザーが同意したら終了します。ユーザーがオフラインの場合は、それぞれについて仮定を明示して進めます(バンドルのトラップ評価とスモーク評価が最後の防波堤になります)。
レッドライン(対話中に確認する、例外のない拒否基準)。 専門資格が必要な分野、または誤った回答が身体的、法的、金銭的な損害につながる分野では、専門知識があるように見せかけるチェックリストを生成してはなりません。これには少なくとも、医療または臨床上の診断と治療、法的助言(コンプライアンス調査は除く)、具体的な金融商品の売買または配分に関する助言(分析は除く)、メンタルヘルス、安全性が重要なエンジニアリングが含まれます。このような場合は拒否し、資格を持つ人間に引き継いでください。スモーク評価では、人を負傷させたり訴訟に巻き込んだりする助言を見抜けません。レッドラインに近接するものは、人間の承認を得た場合に限り公開し、スモーク評価だけを根拠に公開してはなりません。医療分野はすでに文章で除外されていましたが、これにより除外をゲート条件とし、その範囲も広げます。
スコープによる停止(調査や生成を始める前に、対話中に確認する早期終了条件)。 依頼された分野について、コーディングをデフォルトとするテンプレートに、実質的に異なる名詞を当てはめられない場合(その根拠がファイルやトレースバックであり、その権威が仕様であり、その不正が手法自体の失敗モードである場合)は、ここで停止して、この手法がすでに対応していることを伝えます。アダプターは生成しません。デバッグ、リファクタリング、テスト、一般的なソフトウェア開発はデフォルトの分野であり、新しい分野ではありません。この確認は以前、生成の後半にあり、弱いモデルがそのまま通り過ぎました。作業の勢いが抑制を上回ったのです(第 15 ラウンド)。レッドラインと同様、最初に尋ねれば、作業を始める前に一文を加えるだけで済みます。
ステージ 2:調査 [covenant]
相談の内容を踏まえ、範囲を限定したウェブ調査を実施し、必要な情報をその場で取得します。実務者が何を根拠として扱うのか、実際に権威を持つのは誰か、その分野を規制する現行の規制やプラットフォームポリシーは何か、文書化された失敗モードは何か(不正表の材料となる情報)を調べます。規制、ポリシー、しきい値、慣行に言及するすべての主張には、リンクとアクセス日を「Sources」セクションに記載します。ウェブにアクセスできない場合、信頼できるバンドルは作れません。記憶に頼って仕立てたものを公開するのではなく、その旨を伝えて停止します。(観察された実行ではこの工程が省略され、最先端の知識をもとに作業していました。その依存をなくすことこそ、このスキルが存在する理由です。)
ステージ 3:バンドルを生成する
- 既存のアダプターをサンプルだけでなく、すべて確認して読む[観測済み]。 インストール内容を列挙し、
references/domains/内のすべてのアダプターに加えて、規定ドキュメント(メソッドの SKILL.md ルーター、fable-judge、フローチャート、README、CHANGELOG、TEMPLATE.md)を読む。スキーマはコーパスとテンプレートを合わせて学習します。 - セクターの範囲を定める[観測済み]。 適用条件を示す文を1つ、境界を示す文を1つ用意します。境界の文では、最も近いアダプター、またはコーディングのデフォルトを示し、どの条件でどちらが対応するかを明記します。(アダプター不要の終了条件はステージ 1 ですでに適用されています。ここに到達した時点で、そのセクターにはアダプターが必要です。)
- ワークフローとそのフローチャートを書く[v1.4]。 この分野で実務者(または能力の低いモデル)がたどる順序付きの手順と、その手順を示す mermaid フローチャートを、アダプターの Workflow セクションに記載します。手順は具体的で実行可能なものにし、それぞれで何を開き、作成し、確認するかを示します。
- TEMPLATE.md に従ってアダプターを書く[観測済みスキーマ]。 セクション見出しはそのままにします(CI がこれらを grep します)。最低限必要な証拠のセットは、毎回実際に開かなければならない項目です。
- すべてのルーティング箇所を接続する[観測済み]。 メソッドの SKILL.md のアダプターパラグラフ、フローチャートのルーター、README のアダプター一覧と件数、セクターを列挙している場合は fable-judge のセクター一覧、CHANGELOG を更新します。README とフローチャートのルーターにある記述は、バイト単位で同一にします。
- トラップ用フィクスチャを作成する[規約]。 実行時間は数分の、単一の判断を扱う小さなものにします。誘い込む行動はそのセクターの中核的な不正行為とし、正しい行動はワークフローの規律に従うものとし、違反は客観的に検出可能(差分、マーカーファイル、再計算など)にします。GROUND-TRUTH.md にはタスクのプロンプト、トラップ、0/1/2 の上限、理想的な振る舞いを記載し、テスト対象のエージェントには絶対に渡しません。
ステージ 4:検証、スモーク評価、報告
- 機械的に検証する[観測済み]。 リポジトリ独自のチェック用スクリプトを実行し、失敗した項目を修正します。
- スモーク評価を行う[規約]。 フィクスチャをバンドルなしの場合とありの場合で実行します(fable-judge のスイートモード、またはスキル発見ケース用のヘッドレスハーネスを使用)。シードが1つの場合はスモークテストであり、ベンチマークではありません。その旨を明記し、トラップで差が見られなければ、検証済みではなく、バンドルの有効性は未証明と報告します。
- バンドルを審査する[v1.4]。 提出前に、バンドル自体の主張を fable-judge で審査します。名前を挙げたソースをすべて実際に取得していること(少なくとも1件を抜き取り確認する)、トラップが3つの状態(破損、誤った修正、正しい修正)すべてで検証済みであること、すべてのルーティング箇所が実際に接続されていること、スモーク評価の数値が実行結果と一致していることを確認します。審査に通らないバンドルは完成ではありません。これは、能力の低い段階の作成者が過大な主張をするために設けられています(実測例:ラウンド13で、未検証のバンドルを「本番環境対応」と呼んだのは、ベースラインの Haiku でした)。審査が最後の砦となります。
- 結果を先に報告する。 バンドルの構成、検証した内容と方法、取得したソース、そして未解決事項を正直に記載します。評価に関する負債を促されずに申告した、観測済みの実行結果と一致させます。
flowchart TD
A["/fable-domain <sector>"] --> DIS["Discuss: use case, what good looks like,<br/>trusted authorities, must-nevers, outputs"]
DIS --> RL{"Red-line domain?<br/>licensure or high-harm"}
RL -->|yes| STOP["Refuse the checklist.<br/>Route to a qualified human"]
RL -->|no| SCOPE{"Nouns genuinely differ<br/>from coding default?"}
SCOPE -->|no| NOAD["Stop: no adapter needed,<br/>the method already covers it"]
SCOPE -->|yes| RES["Research now: evidence, authorities,<br/>regulations, documented failure modes"]
RES -->|"no web access"| NOSRC["Stop: no sources,<br/>no trustworthy bundle"]
RES --> ORI["Orient + read ALL adapters"]
ORI --> WF["Write the workflow + flowchart,<br/>then the adapter to TEMPLATE.md"]
WF --> WIRE["Wire routing surfaces;<br/>build the trap fixture"]
WIRE --> CHK["Run repo checks"]
CHK --> SMOKE["Smoke eval: bare vs bundle"]
SMOKE --> JDG["fable-judge pass on the<br/>bundle's own claims"]
JDG --> REP["Report: inventory, sources,<br/>smoke-grade label, declared debt"]
適用範囲
- 既存のアダプターですでに対応しているセクターは、重複を作成せず、既存のものを更新します。
- アダプターの最後に、そのセクターに関連するインストール済みスキルを示す「コンパニオンスキル」の行を1行追加して、人間の読者向けの案内として使うことはできます。ただし、それらのスキルの呼び出しを指示するものではありません(自動スキル検出は、4種類の文言と14回の実行でテストしましたが、低性能モデルの層では効果がありませんでした。この否定的な結果は公開されています)。
- この手法に従い、ユーザーの承認を必須とします。作業用コピー内でのファイル作成は元に戻せますが、バンドルの公開、PR の作成、コミットにはユーザーの明示的な許可が必要です(承認ゲート)。
- このスキルはドメイン作業を体系化するものであり、ドメインに関する権威を与えるものではありません。レッドライン、スモークグレードのラベル、Sources セクションを設けるのは、人間の専門家が数分でバンドルを監査できるようにし、有害なドメインにはそもそもチェックリストを作成しないようにするためです。
- 小規模モデルの境界は、推測ではなく測定に基づきます。 生成品質はモデルに左右されます(ラウンド12の基準で Sonnet は9〜10、Haiku は6。Haiku での実行では、Stage 1 のスコープ停止が設けられる前に、コーディングのデフォルト用の冗長なアダプターも生成されました)。この作成ツールは中位層以上のモデルで実行するか、実行中に人が立ち会ってください。拒否ゲートは低性能モデルの層でも機能しますが、生成品質はそうではありません。