mcpField
S
setup-pstack

setup-pstack

github.com/backnotpropエージェントワークフロー3.1k5.9k 回インストール今日更新
リポジトリ

setup-pstack について

Setup pstackは、各ハーネスのpstackロールにモデルを割り当てる設定スキルです。利用可能なモデルを検出し、推論予算に応じて選び、Cursor、Claude Codeなどの設定ファイルに書き込みます。

主な機能

  1. 01利用可能なサブエージェントモデルを検出
  2. 02ロールごとにモデルを設定
  3. 03推論予算の設定を適用
  4. 04ハーネス別の設定ファイルを書き込み
  5. 05書き込み前にロール設定を確認

活用シーン

  1. 01新しいハーネスでpstackを設定
  2. 02ロールごとのモデル割り当てを更新
  3. 03推論予算に合わせてモデルを調整

インストール

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

$npx skills add https://github.com/backnotprop/pstack --skill setup-pstack

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

詳細

pstack の設定

pstack のモデル設定を、ロールごとに 1 つずつ記述します。

  • Cursor: ~/.cursor/rules/pstack-models.mdc。常に適用されるルールです。
  • Claude Code: ~/.claude/rules/pstack-models.md。Claude Code は新しいセッションごとに ~/.claude/rules/ 内のすべてのファイルを読み込みます。
  • その他すべてのハーネス(Codex、Pi、OpenCode など): ~/.agents/pstack-models.md。これらのハーネスはこのファイルを自動では読み込まないため、pstack のスキルがモデルを選択する際にこのファイルを読み込みます。

以下で「設定ファイル」と呼ぶのは、使用するハーネスに対応するファイルです。Claude Code でそのファイルが存在しない場合は、代わりに ~/.agents/pstack-models.md を読み込んでください。以前のバージョンのこのスキルでは、ここにファイルを書き込んでいました。

手順

1. 利用可能なモデルを検出する

このセッションでサブエージェントに渡せるモデルスラッグを列挙します(Cursor の Task、Claude Code の Agent、OpenCode の task、Codex の spawn_agent)。これが信頼できる情報源です。使用するハーネスにユーザーのモデル一覧を表示するコマンドもある場合は、網羅性のためにそちらを優先してください(例: opencode models、pi --list-models)。何も検出できない場合は、利用できるモデルスラッグをユーザーに貼り付けてもらいます。利用可能だと確認していない実際のスラッグは、決して記述しないでください。エイリアスの inherit-parent と auto は、検出されたスラッグでなくても常に有効です。

2. 現在の状態を読み込む

デフォルトのロールとモデルのマッピングは、手順 5 に示すルールの形式です。設定ファイルがすでに存在する場合はそれを読み込み、# budget 行と各ロールの値を現在の設定として扱います。存在しない場合は、デフォルトから開始します。手順 5 にないロール(how critics など)の行は、廃止されたロールのものです。削除してください。

3. 予算、割り当て、確認

(a) 予算を尋ねます。 自由入力よりも、構造化質問ツール(Cursor の AskQuestion、Claude Code の AskUserQuestion、OpenCode の question)を優先してください。次の 4 つの選択肢を、ラベルも含めてそのまま提示します。ルールに現在の予算が記録されている場合は、その予算を明記してください。ルールがない場合は、large がスキルのデフォルトに相当することを伝えます。

  • unlimited — max reasoning
  • large — xhigh reasoning
  • medium — high reasoning
  • small — medium reasoning

(b) 予算を適用します。 スキルのデフォルトから作業用テーブルを作成し、再実行時には、ファミリー、リスト、またはエイリアス(inherit-parent、auto)によって変更されたロールをそのまま保持します。unlimited、large、medium、small は、実際のスラッグすべてのエフォートトークン(パネル項目を含む)を、それぞれ max、xhigh、high、medium に設定します。エフォートトークンは末尾のトークンです。ただし末尾に fast が付く場合は、その 1 つ前のトークンです。段階は max > xhigh > high > medium > low の順です。結果が検出済みスラッグでない場合は、同じファミリーの検出済みスラッグのうち、目標以下で最も高いエフォートのものを使います。それもなければ、そのロールは選択が必要であると記します。inherit-parent と auto は変更しません。したがって、unlimited では claude-opus-5-5-xhigh が claude-opus-5-5-max になります。Grok のスラッグは xhigh が上限なので、unlimited では代替として Grok を xhigh にし、grok-4.7-xhigh-fast はそのままにします。large では両方のデフォルトが維持されます。small では claude-opus-5-5-medium と grok-4.7-medium-fast になります。

(c) ロールを表示して確認します。 各ロールとそのモデルをすべて表示し、検出されたモデルの一覧にない実際のスラッグには、選択が必要であると明記します。また、手順 2 で削除した行もそれぞれ列挙します。そのまま受け入れるか、特定のロールを変更するかを尋ね、検出済みモデルに加えて inherit-parent と auto も選択肢として提示します。どちらのエイリアスも、このロールを親チャットのモデルで実行することを意味します。これにより、Auto ユーザーは Auto のまま利用できます。自由入力よりも構造化質問ツールを優先してください。パネルロール(アリーナの実行担当、アーキテクトの実行担当、尋問レビュー担当)の値はリストです。エイリアスの項目も含めて、項目ごとに 1 つのサブエージェントが実行されるため、リストの長さが実行数になります。arena cross-judge pool もリストですが、Arena は可能な場合、親のものとはモデルファミリーが異なる値を 1 つ選択します。swarm workers は、レースまたは比較で各アームに別のモデルが割り当てられない限り、すべてのワーカーに適用されるデフォルトモデルです。

4. 検証する

記述する実際のスラッグは、すべて検出されたセットに含まれている必要があります。inherit-parent と auto は常に有効です。選択した実際のスラッグが利用できない場合は、処理を中断して再度尋ねてください。

5. ルールを記述する

選択したラベルとその目標 effort を含む # budget 行と、ロールごとに1行を設定ファイルに記述します。ラベルには poteto-mode と同じものを使用してください。Cursor では、alwaysApply: true を含む以下のフロントマターを追加します。他のハーネスでは、フロントマターを付けずに(最初の # 行から)設定ファイルを記述します。再実行しても冪等性が保たれるよう、ファイル全体を上書きしてください。形式:

---
description: pstack per-role model choices (overrides skill defaults)
alwaysApply: true
---
# pstack model configuration. One line per role. Delete a line to fall back to the skill default.
# `inherit-parent` or `auto` as a value: the role runs on the parent chat model (omit the subagent `model`). Alias entries in a panel list still count toward its fan-out.
# budget: large (xhigh)
feature, refactoring: grok-4.7-xhigh-fast
bug-fix: grok-4.7-xhigh-fast
perf-issue: grok-4.7-xhigh-fast
hillclimb: grok-4.7-xhigh-fast
judgment and prose: claude-opus-5-5-xhigh
hardest tasks: claude-opus-5-5-xhigh
how explorer: grok-4.7-xhigh-fast
how explainer: claude-opus-5-5-xhigh
why investigators: grok-4.7-xhigh-fast
why synthesizer: claude-opus-5-5-xhigh
reflect tooling: grok-4.7-xhigh-fast
reflect judgment, divergent, synthesizer: claude-opus-5-5-xhigh
arena runners: claude-opus-5-5-xhigh, grok-4.7-xhigh-fast
arena cross-judge pool: claude-opus-5-5-xhigh, grok-4.7-xhigh-fast
swarm workers: grok-4.7-xhigh-fast
architect runners: claude-opus-5-5-xhigh, grok-4.7-xhigh-fast
interrogate reviewers: claude-opus-5-5-xhigh, grok-4.7-xhigh-fast
6. 確認する

どのファイルに書き込んだかをユーザーに伝えます。Cursor と Claude Code では、新しいセッションから適用されます。他のハーネスでは、pstack のスキルがモデルを選択するときに ~/.agents/pstack-models.md を読み込みます。このスキルを再実行すると設定が更新されます。

7. 検証スキルを提案する(任意)

プロジェクトに、実際のアプリを操作して動作を確認する方法(verify-* スキル、または既存のハーネス)があるか確認します。ない場合は、次のように一度だけ提案します。「エージェントがユーザーと同じ方法でアプリを操作し、変更が機能することを実証できる、プロジェクト固有の検証スキルを作成しますか?/create-verification-skill で生成できます。」承諾されたら /create-verification-skill を呼び出します(pstack がワークスペース、ユーザー、プラグインのどこにインストールされていても解決されます)。断られた場合は、しつこく勧めずに先へ進みます。

8. 正式検証スキルを提案する(任意)

プロジェクトに正式検証スキル(モデルチェッカー、証明、または別の検証ツールをコードに対して実行するプロジェクトスキル)がすでにあるか確認します。ない場合は、次のように一度だけ提案します。「テストで到達できるケースだけでなく、対象範囲内のあらゆるケースでコードの重要な性質が成り立つことをエージェントが証明できる、正式検証スキルを作成しますか?/create-formal-verification-skill で生成できます。」承諾されたら /create-formal-verification-skill を呼び出します(pstack がワークスペース、ユーザー、プラグインのどこにインストールされていても解決されます)。断られた場合は、しつこく勧めずに先へ進みます。

コメント