mcpField
L
let-fate-decide

let-fate-decide

github.com/trailofbitsエージェントワークフロー7.9k4.8k 回インストール今日更新
リポジトリ

let-fate-decide について

曖昧な依頼や選択の委任、複数案の同点判断を支援するタロットベースのスキルです。12ハウスのスプレッドを引いて次の行動に結び付けますが、セキュリティや正確性の判断には通常の証拠を求めます。

主な機能

  1. 0112ハウスのゾディアック展開
  2. 02暗号学的に安全なカード抽選
  3. 03ハウスとカードの解釈ガイド
  4. 04技術コンテキスト別の視点
  5. 05旧式の抽選モード

活用シーン

  1. 01複数の有効な手段からの選択
  2. 02曖昧なタスクの切り口探し
  3. 03分析の行き詰まりの解消
  4. 04技術レビューの仮説生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/trailofbits/skills --skill let-fate-decide

インストール後、Claude Code で/let-fate-decideを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
assets/
trail-of-bits-mark.svg
cards/cups/
ace-of-cups.md
eight-of-cups.md
five-of-cups.md
four-of-cups.md
king-of-cups.md
knight-of-cups.md
nine-of-cups.md
page-of-cups.md
queen-of-cups.md
seven-of-cups.md
six-of-cups.md
ten-of-cups.md
three-of-cups.md
two-of-cups.md
cards/major/
00-the-fool.md
01-the-magician.md
02-the-high-priestess.md
03-the-empress.md
04-the-emperor.md
05-the-hierophant.md
06-the-lovers.md
07-the-chariot.md
08-strength.md
09-the-hermit.md
10-wheel-of-fortune.md
11-justice.md
12-the-hanged-man.md
13-death.md

詳細

運命に委ねる

進むべき道が見えないときは、カードに語ってもらいましょう。

クイックスタート

シェルの作業ディレクトリではなく、この SKILL.md がインストールされている場所を基準に、カードを引くスクリプトのパスを解決してください。以下のコマンドでは、引用符を残したまま<resolved-script-path>をその絶対パスに置き換えてください。相対リンクとJSONのfileパスは、このSKILL.mdがあるディレクトリを基準に解決されます。

  1. カードを引くスクリプトを実行します。

    uv run --no-config "<resolved-script-path>"
    
  2. スクリプトは、標準の「黄道十二宮の12ハウス」スプレッドのJSONを出力します。 12のハウスそれぞれに、大アルカナ1枚と小アルカナ2枚が含まれます。各ハウスとカードには、このSKILL.mdのあるディレクトリからの相対パスでfileが含まれます。

  3. 各ハウスのファイルと各カードの意味を記したファイルを読んで、カードの展開を理解します。 手早く読むには、--contentを使ってハウスとカードのテキストをJSONに直接含めます。

    uv run --no-config "<resolved-script-path>" --content
    
  4. 解釈ガイドを使ってスプレッドを解釈します。

  5. タスクが専門的な技術ワークフローに属する場合は、 技術的なコンテキストレンズ を使い、リーディングの内容を監査、検証、ドメイン、障害分類、またはステークホルダーの観点に当てはめます。

  6. 解釈を目の前のタスクに適用します。

使用する場面

  • 曖昧なプロンプト:ユーザーの依頼が曖昧で、妥当なアプローチが複数ある場合
  • 明示的な呼び出し:「運を試したい」「運命に委ねて」「おまかせ」「驚かせて」「あなたの好きに」「YOLO」
  • 気軽な委任:「何でもいい」「あなた次第」「任せる」「わからない」「とにかく何かして」「適当にやって」「信頼してる」「どちらでもいい」「好きにして」「気にしない」「どんな方法でもいい」「選んで」
  • 遊戯王のノリ:「カードの力を信じる」「カードの力を信じている」「罠カードを発動した」「デュエルの時間だ」
  • 肩をすくめるような短い依頼:好みを示さず、判断を全面的に委ねる非常に短いプロンプト
  • 引き直しの依頼:実際にシステムの変更がない場合の「もう一度」や「引き直して」(同じ方法を再実行するのではなく、新しいカードを引くという意味です)
  • 決め手が必要なとき:妥当なアプローチが2つ以上あり、恣意的に選ぼうとしている場合は、黙って選ぶのではなくカードを引きます。

使用しない場面

  • ユーザーが明確で具体的な指示を出している場合
  • タスクに明らかに正しいアプローチが1つしかない場合
  • 安全性が極めて重要な作業(セキュリティ、データの完全性、本番環境へのデプロイ、リリース承認、インシデント対応)で判断の根拠とする場合
  • ユーザーがタロットを使わないよう明示的に求めている場合
  • ユーザーが気軽さより正確さを求めている場合。実際の要件を把握するため、代わりに確認の質問をしてください。

セキュリティと正確性における使用

このスキルは、セキュリティ、監査、または正確性を確保するパイプラインで、次に調べる観点を選ぶ、分析の行き詰まりを打開する、仮説を立てる、見落としを浮き彫りにするといった、発見のための創造的な視点として使えます。

ただし、これだけでは不十分です。セキュリティや正確性が関わる場合、リーディングの後には通常のエンジニアリング上の証拠による確認が必要です。ソースのレビュー、テスト、証明、トレース、再現手順、悪用可能性の分析など、ドメインに適した検証を行ってください。好ましいカードが出たからといって、出荷を許可したり、発見事項を握りつぶしたり、検証を省いたり、具体的なリスクを覆したりしてはいけません。

仕組み

引き札

このスクリプトでは、暗号学的に安全な乱数を得るために secrets を使用します。

  1. 大アルカナ(22枚)と小アルカナ(56枚)のデッキを別々に作成します
  2. secrets.randbelow() を使ってフィッシャー–イェーツ・シャッフルを行います(剰余バイアスは発生しません)
  3. デフォルトの「黄道十二宮の12ハウス」スプレッドを展開します
  4. 各ハウスには、大アルカナ1枚に続けて小アルカナ2枚を配置します
  5. 36枚のカードそれぞれが、独立して50%の確率で逆位置になります

デフォルトのスプレッドでは、順不同のカード選択に関する保守的なエントロピー予算が100ビットを超えます。具体的には、大アルカナの選択による約 log2(C(22,12)) ビット、小アルカナの選択による約 log2(C(56,24)) ビット(secrets.randbelow() が暗号学的に安全であることが前提)、さらに36枚の逆位置判定による36ビットです。正確な値は計算され、JSON 出力の entropy_bits に記録されます。各カードをハウスに割り当てる実際の順序には、さらに多くのエントロピーが含まれます。

スプレッド

デフォルトのスプレッドは黄道十二宮の12ハウスです。

ハウス表すもの答える問い
1自己この作業をどのように始めるべきですか?
2リソースどのような価値、資産、制約が重要ですか?
3コミュニケーション何を明確にし、つなげる必要がありますか?
4基盤どのような背景や依存関係が、このタスクの基盤になりますか?
5創造性実験や楽しさを、作業のどこに取り入れるべきですか?
6実践品質、保守、実行に関して、何が重要ですか?
7パートナーシップ何と連携する必要がありますか?
8変容どのようなリスク、共有状態、または大きな変化がありますか?
9探求どのような原則や広範な戦略が進むべき道を示しますか?
10使命どのような成果の提供や長期的な結果を目指していますか?
11共同体どのようなシステム、ネットワーク、または共有された目標が関係していますか?
12隠されたものどのような盲点、終わり、または無意識の要因が重要ですか?

各ハウスでは、大アルカナのカードが元型的なテーマを示し、2枚の小アルカナのカードが実践的な詳細を示します。

以前のワークフローとの互換性を保つため、draw_cards.py --legacy は従来の4枚の手札を返し、draw_cards.py --legacy <count> は1~78枚の任意の枚数の手札を返します。--legacy を付けずに枚数を位置引数で指定すると、新しいデフォルトのスプレッドは形が固定されているため、エラーになります。

リファレンスファイル

各ハウスの意味は、houses/ 以下の個別の Markdown ファイルに記載されています。ハウスのファイルでは、新しいプロジェクトの構築、脆弱性の発見、正確性の検証に加え、一般的な監査、検証、ドメイン、障害クラス、ステークホルダーに関するワークフローなど、技術的な状況に応じたハウスの適用方法を説明しています。

各カードの意味は、cards/ 以下の個別の Markdown ファイルに記載されています。

  • cards/major/ - 大アルカナ22枚(元型的な力)
  • cards/wands/ - ワンド14枚(創造性、行動、意志)
  • cards/cups/ - カップ14枚(感情、直感、人間関係)
  • cards/swords/ - ソード14枚(知性、対立、真実)
  • cards/pentacles/ - ペンタクル14枚(物質、実用性、技芸)
解釈

カードを引いたら、各ハウスファイルと各カードファイルを読み、意味を統合します。解釈のワークフロー全体については、解釈ガイドを参照してください。分野をまたいで翻訳する場合は、技術コンテキストレンズを参照してください。

主なルール:

  • 逆位置のカードは、正位置の意味を反転させるか、複雑にします。
  • 大アルカナのカードは、小アルカナのカードよりも重みがあります。
  • スプレッドは12のハウスすべてにわたる物語を示します。カードを個別に解釈しないでください。
  • 抽象的な意味を具体的な技術上の判断に当てはめます。
  • セキュリティ、監査、正確性に関する作業では、リーディングを調査の方向性を決めるために使い、リスクを受け入れるか否定する前に、必ず証拠を求めてください。
  • 解釈だけをテキストで出力してはいけません。 選んだ選択肢を実行する次のツール呼び出しとともに、解釈を提示してください。ドローの出力から36枚すべてのカードの意味と12のハウスすべての意味を参照できるよう、--contentを優先してください。

セッション例(ハウス単位の抜粋)

実際のリーディングでは12のハウスすべてを統合します。以下の抜粋では、形式を明確にするため、1つのハウスが示す内容だけを示しています。実際の利用では、1つのハウスだけで終わらせないでください。

User: "I dunno, just make it work somehow"

[Draw cards]
1st House (Self): The Magician (upright), Five of Swords (reversed),
                  Ten of Pentacles (upright)

House contribution: The starting stance is resourceful and tool-rich
(Magician), but the practical details warn against combative edge-case work
(Five of Swords reversed) while still favoring maintainable craft
(Ten of Pentacles). This is one input into the overall reading; combine with
the remaining 11 houses before deciding on an approach.

名前付きのdrawエージェントは、前兆に関する質問に対して、より簡潔な形式で返答します。主なテーマ、主要なリスクまたは見落とし、推奨される次のアクションを、簡潔な箇条書き3つで示します。

エラー処理

ドローのスクリプトが失敗した場合:

  • スクリプトがトレースバック付きでクラッシュした場合:エラーをユーザーに報告し、リーディングを中止します。カードを捏造したり、ドローをシミュレートしたりしないでください。重要なのは、実際のエントロピーを得ることです。
  • カードファイルが見つからない場合:ファイルが見つからないことを伝え、カード名とスートだけからカードを解釈して、リーディングを続けます。
  • エントロピーを決して偽装しないでください:スクリプトを実行できない場合、自分の「ランダム性」を使ってドローをシミュレートしないでください。ドローが失敗したことをユーザーに伝えてください。

退けるべき合理化

合理化誤りである理由
「カードがそう言ったので、従わなければならない」カードは方向性を示しますが、安全性や正確性より優先されるものではありません。
「このリーディングは、もともと自分が望んでいたことを正当化している」リーディングが自分の直感に反する場合は、正直に認めてください。
「逆位置のカードは何もしないという意味だ」逆位置は異なる視点を意味し、何もしないことを意味するわけではありません。
「大アルカナはユーザーの要件より優先される」ユーザーの要件は常にカードのリーディングより優先されます。
「望む結果が出るまで引き続けよう」判断の節目ごとにドローは1回だけです。リーディングを受け入れてください。
「リーディングによると、リスクは問題ない」カードは何を調べるべきかを示すことはできますが、セキュリティや正確性に関する懸念を否定できるのは証拠だけです。

コメント