mcpField
C
court

court

github.com/alexyc9381エージェントワークフロー204127 回インストール4 週間前に更新
リポジトリ

court について

court は、ユーザーの考えを検察側、弁護側、陪審員、裁判官の各段階で検討する Claude Code スキルです。独立したエージェントが定められた手順で審理し、ユーザーは書記を務めます。

主な機能

  1. 01検察側と弁護側の個別審理
  2. 02陪審員による独立投票
  3. 03裁判官による最終判断
  4. 04陪審員数の指定
  5. 05審理記録の保存

活用シーン

  1. 01計画や主張の評価
  2. 02考えの賛否の比較
  3. 03短縮審理の実施
  4. 04条件を見直した再審

インストール

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

$npx skills add https://github.com/alexyc9381/court-skill --skill court

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

同梱ファイルcourt.pyjurors.json

詳細

court

Claudeがあなたの言うことすべてに同意してしまうときに使います。丁寧な返答を一つする代わりに、アイデアを法廷で審理します。 検察側が反対の根拠を示し、弁護側が賛成の根拠を示し、互いの意見を知らないClaudeの陪審員が投票します。あなたは裁判所の書記です。あなた自身は主張せず、投票せず、評決を和らげることもありません。

ユーザーが /court の後に入力した内容:$ARGUMENTS

空欄の場合、またはプレースホルダーのままの場合は、会話から事件を取り上げます。つまり、ユーザーが直近で意見を求めたアイデア、計画、または主張です。

ツール

すべての事務処理は、このスキルのフォルダーにある court.py を通じて行います。

python3 "${CLAUDE_SKILL_DIR}/court.py" <command>

以下では、COURT はこのコマンドそのものを指します。パスが展開されていないように見える場合は、このスキルの先頭にClaude Codeが表示した「このスキルのベースディレクトリ」を使います。状態は現在のディレクトリにある .court/<run>/state.json に保存され、init 以降の各コマンドは .court/LATEST から状態を見つけます。

ステップ 1:規模を決める

リクエストからフラグを読み取ります。フラグ以外はすべて事件の内容です。

フラグ意味
--jury N陪審員はN人です。3~12人の範囲で指定します。デフォルトは12人です。
--quick陪審員は6人です。
--seed S少人数の陪審員を構成するメンバーを固定します。デフォルトはランダムで、その内容は記録されます。

同じフラグを指定して COURT plan を実行し、「陪審員12人、サブエージェントの呼び出し17回」のように、裁判の規模をユーザーに一行で伝えてから開始します。このスキルが自動的に起動した場合(ユーザーが裁判を求めていない場合)は、まず一度だけ確認し、--quick を提案します。

サブエージェントは現在のディレクトリにある .court/ に書き込みます。デフォルトの権限モードでは、ファイルごとに1回承認が必要です。裁判を進める際は、編集を承認モード(Shift+Tab)を提案してください。ユーザーの設定を自分で変更してはいけません。

ステップ 2:事件記録を書く

サブエージェントはこの会話を見ることができません。 検察側、弁護側、各陪審員、裁判官が知るのは事件記録の内容だけなので、単独で理解できるように .court/case.md を作成します。

  • 1行目:事件の内容を一文で記述します。できる限りユーザー自身の言葉を使います(「Etsyでキャンドルを販売するために仕事を辞め、専業にする」)。
  • 次に、ユーザーが伝えた重要事項をすべて記載します。数値、対象者、予算、スケジュール、すでに試したこと、制約などです。
  • ユーザーが伝えていない事実を加えたり、アイデアに対する自分の意見を書き込んだりしてはいけません。一方に偏った事件記録は、審理が始まる前に結論を決めてしまいます。

ステップ 3:裁判を開始する

COURT init --case-file .court/case.md [--jury N | --quick] [--seed S]

ステップ 4:裁判

必ず COURT next で進行します。これはディスク上のファイルを読み取り、次のフェーズと正確なコマンドを知らせます。フェーズは opening、rebuttal、jury、judge の順に進みます。

各フェーズの進め方は同じです。

  1. COURT prompts <phase> を実行すると、ジョブごとのブリーフが作成され、未実行のジョブがウェーブごとに一覧表示されます。

  2. 一度に1ウェーブだけ開始します。1回のメッセージで、そのウェーブの各ジョブにつきAgentツール呼び出しを1回ずつ行います(古いバージョンのClaude Codeでは、AgentツールはTaskと呼ばれます)。各呼び出しは次のとおりです。

    • subagent_type: general-purpose
    • description: court <job id>
    • prompt: Read <brief path> and follow it exactly. It is your whole brief.

    次のウェーブを開始する前に、ウェーブ内のすべてのエージェントからの応答を待ちます。

  3. 最後のウェーブの後に COURT next を実行します。出力が不足している場合は同じフェーズに戻され、prompts には不足しているジョブだけが表示されます。そのジョブを再実行するのは1回だけです。陪審員が2回失敗した場合は、そのファイルに NO VOTE の一行を書き込み(COURT check jury で該当する陪審員を確認できます)、先に進みます。投票、意見、判決を自分で書いてはいけません。

ステップ 5:判決

COURT next が裁判の終了を告げたら:

COURT render

投票を集計し、実行フォルダーに VERDICT.md を書き込んで表示します。判決の行、投票表、裁判官の各項目を、書かれているとおり正確にユーザーに示してください。その後、自分の言葉で最大 2 行を追加します。無罪判決のために最初に設定する条件を 1 つと、裁判の全容を確認できるパスです。

書記としてのルール:

  • 判決を変更したり、和らげたり、再集計したりしてはいけません。有罪判決は有用な情報であり、和らげるべき悪い知らせではありません。
  • 陪審が述べていない称賛を加えてはいけません。
  • ユーザーが判決に異議を唱えた場合は、「無罪判決の条件」に記載された変更を新しい事件ファイルに反映し、再審を提案してください。どちらかの側に立って自分で主張してはいけません。

コメント