ワークフロー&基本ツール · cursor/plugins

setup-pstack

pstack がロールごとに使用するモデルを設定します。利用可能なモデルを検出し、スキルのデフォルトを上書きする常合适用ルールを書き込みます。/setup-pstack、「configure pstack models」、または pstack のモデル選択を変更する際に使用します。

L2 ローカル · 作業ディレクトリ限定V1 コミット固定ファイル書き込みDual-pass Audit
Author cursorGitHub cursor/plugins ↗Stars 7799License MIT(pstack 插件自带 LICENSE,'Copyright (c) 2026 Lauren Tan';pstack/.cursor-plugin/plugin.json 声明 "license": "MIT")。cursor/plugins 仓库根目录无 LICENSE,GitHub API license 字段为 null。Commit df3fb154fb
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

唯一の成果物はユーザーレベルのルールファイル(~/.cursor/rules/pstack-models.mdc、alwaysApply: true 付き)であり、「ロール → モデル」を行単位で宣言します。

pstack/skills/setup-pstack/SKILL.md
Write `~/.cursor/rules/pstack-models.mdc`, an always-applied rule that sets pstack's model per role.
ここでの処理内容: 「どのロールがどのモデルを使用するか」を各スキル内のハードコードされたデフォルト表から切り離し、機械可読かつ常に有効な Cursor ルールとして定義します。これにより、ユーザーが一度モデル設定を変更すれば、スキルのソースコードを変更することなく、すべての pstack サブワークフロー(interrogate/arena/swarm/how/why/reflect…)に一括反映されます。

モデルの検出は「現在のセッションの Task ツールが受け入れ可能な slug」を唯一の信頼できる情報源とし、検出できない場合はユーザーに入力を求め、未確認の slug の書き込みを明示的に禁止します。

pstack/skills/setup-pstack/SKILL.md
Enumerate the model slugs you can pass to a `Task` subagent in this session. That is the dependable source. If Cursor also exposes a models API or CLI that lists the user's entitled models, prefer it for completeness. If you cannot detect any, ask the user to paste the slugs they have access to. Never write a real slug you have not confirmed is available. The aliases `inherit-parent` and `auto` are always valid even though they are not detected slugs.
ハルシネーション防止の重要ゲート: slug を記憶頼みで捏造することはできません。`inherit-parent` と `auto` は「常に有効なエイリアス」として宣言され、Task の model フィールドを省略して親セッションのモデルを子エージェントに継承させる意味を持ちます(Auto プランのユーザーが特定モデルの選択を強制されない設計)。

第 2 段階の検証は検出フェーズから独立しており、書き込み直前に「すべての実在 slug が検出セットに含まれているか」を再度照合し、含まれていなければ処理を中断して再確認します。

pstack/skills/setup-pstack/SKILL.md
Every real slug written must be in the detected set. `inherit-parent` and `auto` always pass. If a chosen real slug is not available, stop and ask again.
検出(Step 1)と検証(Step 4)を独立させ、間に現状のロード(Step 2)とマッピング確認(Step 3)を挟んでいます。これはユーザーの手動編集やモデルの推測による無効な slug の混入を防ぐための意図的な二重チェックです。

自由テキストではなく構造化された選択肢(AskQuestion)を中心に対話し、既存設定を「現在の選択」として提示してロールごとに確認します。

pstack/skills/setup-pstack/SKILL.md
Ask whether to accept as-is or change specific roles, offering the detected models plus `inherit-parent` and `auto` (both mean: this role runs on the parent chat model, which is how Auto users stay on Auto) as the options. Prefer AskQuestion over free text.
Step 2 の規定: ファイルが既に存在する場合は現状として読み込み、存在しない場合はデフォルト構成で開始します。Step 3 では「検出セットに存在しない実在 slug」を選択が必要な項目として明示的にマークし、「設定の乖離」を可視化します。

ファイル全体の完全上書きにより冪等性を保証: 再実行しても重複や矛盾する role 行が蓄積されることはありません。

pstack/skills/setup-pstack/SKILL.md
Overwrite the whole file so re-runs stay idempotent. Shape:
書き込まれるルールの構造は固定 18 行のロール(feature/refactoring、bug-fix、perf-issue、hillclimb、judgment and prose、hardest tasks、how explorer/explainer、why investigators/synthesizer、reflect tooling、reflect judgment+divergent+synthesizer、arena runners、arena cross-judge pool、swarm workers、architect runners、interrogate reviewers)で構成され、「行を削除するとスキルのデフォルトにフォールバックする」旨のコメントを含みます。

パネル系ロールの値は**リスト**形式であり、リストの長さが子エージェントのファンアウト数を直接決定します(設定=並行度という本スキルの本質的セマンティクス)。

pstack/skills/setup-pstack/SKILL.md
For panel roles (arena runners, architect runners, interrogate reviewers) the value is a list, and one subagent runs per entry, alias entries included, so the list length sets the count.
`arena cross-judge pool` は異なるセマンティクスを持ち、リストから 1 つを選択し、極力親セッションとは異なるモデルファミリーを選びます。`swarm workers` は各ワーカーのデフォルトモデルです(race でアームごとに指定された場合を除く)。これらのセマンティクスの違いは説明文で定義されており、ルールファイル自体は単なる `role: model` の行です。

オプションの最終ステップでは別のスキルを横断的にトリガー: プロジェクトに「実際のアプリを駆動して検証する」能力が不足していることを検出した場合、プロジェクト内検証スキルを生成するか一度だけ確認します。

pstack/skills/setup-pstack/SKILL.md
Check whether the project has a way to drive the real app for proof (a `verify-*` skill, or an existing harness). If not, offer once: "want a project-local verification skill, so agents can drive the app the way a user does and prove changes work? I can generate one with /create-verification-skill." On yes, invoke `/create-verification-skill` (resolves wherever pstack is installed: workspace, user, or plugin). On no, move on without pushing.
「offer once ... On no, move on without pushing」に留意: 1 回だけ確認し、深追いしません。yes と答えた場合は /create-verification-skill に委譲され、そのスキルが .cursor/skills/verify-<app>/ を書き込みます(docs/guide/01-setup.md 準拠)。

有効化されるタイミングを明記: ルールは新規セッションに対して有効になるため、新しいチャットを開始する必要があります。

pstack/docs/guide/01-setup.md
After setup, start a new chat. The model rule applies to new sessions.
SKILL.md Step 6 では、ユーザーに対して「ルールが書き込まれ、新しいセッションから適用されること。本スキルを再実行すれば更新できること」を通知するよう規定されています。

2コア機能

01現在のセッションで利用可能なモデル slug を検出(Task 子エージェントを信頼できる情報源とし、必要に応じてユーザーの手動貼り付けにフォールバック)
02ロールごと(18 個の role 行)にモデルをマッピングし、親セッションのモデルを継承する inherit-parent / auto エイリアスをサポート
03パネル系ロールのリスト長を子エージェントのファンアウト数として定義(設定=並行度)
04書き込み前に slug の可用性を二重検証し、利用不可の場合は中断して再確認(サイレントな書き込みを防止)
05ユーザーレベルのルールファイルを冪等に上書き(再実行で更新され、履歴が蓄積しない)
06構造化された対話(AskQuestion 優先)により「現状 → 変更が必要な項目」を明確に提示
07オプション: プロジェクト内検証スキル(/create-verification-skill)の生成を案内(提案は 1 度のみ)

3外部依存関係

KindDependency / Endpoint
apiCursor Task 子代理的模型枚举(作为可用 slug 的探测源)
network用户级规则文件 ~/.cursor/rules/pstack-models.mdc(读+写)
packageAskQuestion(宿主交互工具,用于结构化询问而非自由文本)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
作業ディレクトリを限定
管理者向け
操作ログを保持
判定根拠(ファイルパスと抜粋)
  • 本地工作目录: ファイルの読み書きおよび成果物の出力: ~/.cursor/rules/pstack-models.mdc(ファイル全体の上書き、alwaysApply: true、ユーザーホームディレクトリ配下の永続設定。本ファイルが唯一の成果物)
監査ノート: 。理由: スクリプトの実行、独自のネットワーク通信、認証情報や環境変数の読み取りを行わない純粋なプロンプトスキルです。唯一の実質的な副作用は、ユーザーホーム配下の Cursor ルールファイル ~/.cursor/rules/pstack-models.mdc の書き込み(ファイル全体の上書き、冪等)のみです。注意点: このファイルには alwaysApply: true が付与されており、プロジェクト横断で常駐する設定となるため、以降の全セッションにおいて pstack 子エージェントが使用するモデルやファンアウト規模に影響を与えます。設定ミス時の影響は子エージェントの呼び出し失敗やフォールバックにとどまり、任意のコード実行には繋がりません。オプションの最終ステップでは /create-verification-skill(プロジェクト内にファイルを書き込む別のスキル)へ制御を委譲しますが、ユーザーの明示的な同意が必要です。トリガー条件: ユーザーが明示的に /setup-pstack を実行するか、pstack モデルの設定を要求した場合にのみ実行されます。

5二重目の独立検証

  • [ok] 「写一个 always-applied 规则」是否属实 — SKILL.md Step 5 原文给出 `alwaysApply: true`,且位于规则文件 frontmatter 形状中;docs/guide/01-setup.md 复述 'It writes `~/.cursor/rules/pstack-models.mdc`, a small rule every pstack skill reads.'。
  • [ok] 「每个真实 slug 必须已被确认可用」的双重校验 — Step 1 'Never write a real slug you have not confirmed is available.' 与 Step 4 'Every real slug written must be in the detected set. `inherit-parent` and `auto` always pass. If a chosen real slug is not available, stop and ask again.' 两处独立存在,非同一句的重复表述。
  • [ok] 本 skill 是否读取凭证或环境变量 — 全文无 API_KEY/token/secret/env 命中;模型可用性靠「本会话能否 spawn」这一运行时事实,不需读凭证。第一遍的 blue 档依据成立。
  • [ok] 首遍写入的「18 行角色」计数 — 逐行数 Step 5 模板:feature, refactoring / bug-fix / perf-issue / hillclimb / judgment and prose / hardest tasks / how explorer / how explainer / why investigators / why synthesizer / reflect tooling / reflect judgment, divergent, synthesizer / arena runners / arena cross-judge pool / swarm workers / architect runners / interrogate reviewers = 17 行(另有 2 行注释说明)。首遍写「18 行」为计数偏差,实际 17 行;已在此更正,不影响其他结论。
  • [ok] 「配置即扇出规模」的说法 — SKILL.md Step 3 明写面板角色(arena runners、architect runners、interrogate reviewers)'the value is a list, and one subagent runs per entry, alias entries included, so the list length sets the count';interrogate 的 SKILL.md 亦复述同一语义('one reviewer per entry, extending or shrinking the Reviewer A/B/C/D labels'),两端一致。
  • [ok] 尾步是否可能未经同意就动手 — 原文 'offer once ... On yes, invoke /create-verification-skill ... On no, move on without pushing',明确单次提议 + 需 yes;docs/guide 亦写 'Say yes and it writes … Say no and setup moves on.'。
  • [ok] 是否存在未披露的文件写入 — 全文写入指令只有一处(规则文件);写规则时 'Overwrite the whole file' 明确是覆写而非追加,故不会形成多处散落写入。间接写入(.cursor/skills/verify-<app>/)发生在另一个 skill 内,已单列并标注归属。
  • [ok] 元数据(license/stars/install) — license MIT 来自 pstack/LICENSE 与 plugin.json;stars 7799 / last_push 2026-09-15T03:14:54Z 来自 gh api repos/cursor/plugins(仓库根无 LICENSE,故 gh license 为 null);installs=3 取自 pool.json 的 skills.sh-hot 计数,明显为低值采样,不据此下任何结论。

6結論

  • 「モデルの好み」を単一のユーザーレベル設定に集約し、複数スキルでのモデルのハードコードによる乖離問題を解消。
  • 一般的な設定系スキルよりも厳格なハルシネーション対策: 「現在のセッションで利用実績のある」slug のみを書き込み、二重検証を行い、利用不可なら中断して確認。
  • Auto プランのユーザーに親和的: inherit-parent / auto を永続的に有効なエイリアスとし、model フィールドを省略して親モデルを継承。
  • 冪等かつロールバック可能: ファイル全体の上書き方式を採用し、行削除でデフォルトへフォールバック、再実行で即時更新されゴミを残さない。
  • コスト管理権限をユーザーに委譲: パネルロールのリスト長が並行子エージェント数となるため、項目を減らすことで簡単にコストを抑制可能。
  • 最適な用途: pstack プラグイン(Cursor の /add-plugin pstack)を利用しており、自身のモデル利用権限や予算に応じてチューニングしたいチームや個人に最適: 1 回の対話で 17 ロールのモデルが確定し、以後は interrogate/arena/swarm/how/why/reflect がすべてこの設定に従って動作します。Auto プランのユーザーは inherit-parent/auto を使用して思考コストゼロで運用可能です。また、実行コードを一切改変せず宣言的ルールのみを出力する「設定系スキル」のリファレンス実装でもあります。
    不向きな用途: 非推奨環境: ① pstack 系のスキルを使用していない環境(作成されたルールが参照されないため);② 「ユーザー単位」ではなく「プロジェクト単位」でのモデル設定を求めているケース(~/.cursor/rules/ への書き込みに固定されているため);③ ルールファイルの手動編集に完全に依存しているユーザー(ファイル全体の上書きにより手動変更が消失するため);④ Task 子エージェント機能がなくモデルを列挙できない環境(手動での slug 貼り付けにフォールバックするため)。なお、明示的に /setup-pstack が実行された場合のみ動作します。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload setup-pstack.tar.gz
    sha256: 21a003c19c3e95ac…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit df3fb154fb.