1仕組みと動作原理
コアメカニズムはプロンプトでオーケストレーションされた「3経路ルーター+人間による承認ゲート」です。実装前にリクエストを規模に応じて Spike / Bounded / Architectural に分類し、どの経路であってもエージェントは必ずユーザーに意図を説明し承認を得てから作業を開始します。ホストレベルのコード強制はなく、指示テキストに対するモデルの準拠のみに基づきます。
<HARD-GATE> Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have told your human partner what you intend and they have approved it. This applies to EVERY task on EVERY path below — the ceremony scales with the task; the approval gate never does. </HARD-GATE>
分類自体がプロセススケジューラーとして機能します。Spike は実現可能性の調査のみを行い結果を報告(コードは保持しない)、Bounded は「リポジトリ内に既存の読みやすいフローがある軽微な変更」に限定してチャット内で短い設計を出して停止、Architectural(新規プロジェクト/新サブシステム/インターフェース変更)は文書化された spec までの完全なフローを進めます。隠れた複雑性が見つかった場合は途中で経路をアップグレードし、降格不可の一方向ラチェットとなります。
When in doubt between two paths, take the heavier one. The ratchet is one-way: hidden complexity discovered mid-task upgrades the path — stop, say so, and step up. Nothing downgrades mid-task.
Architectural 経路のゴールは実装ではなく引き継ぎです。spec のセルフレビュー後にユーザーの再確認を求め、承認後に唯一呼び出しを許可される次のスキルは writing-plans です。設計ドキュメントは docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md に書き出され、git commit されます。
**Terminal states are path-bound.** Architectural: the ONLY skill you invoke after brainstorming is writing-plans — never frontend-design, mcp-builder, or any other implementation skill.
唯一の実行可能アセットは任意の「Visual Companion」です。自前で実装されたサードパーティ依存関係ゼロの Node HTTP+WebSocket サーバーであり、content ディレクトリを監視して最新の HTML 画面をユーザーのブラウザにプッシュします。ユーザーのクリック選択は WS 経由で state/events ファイルに書き戻され、エージェントが次のターンで読み取ることで、「閲覧→選択→フィードバック」のループを形成します。
function handleMessage(text) { let event; try { event = JSON.parse(text); } catch (e) { ... } touchActivity(); console.log(JSON.stringify({ source: 'user-event', ...event })); if (event && event.choice) { const eventsFile = path.join(STATE_DIR, 'events'); fs.appendFileSync(eventsFile, JSON.stringify(event) + '\n'); } }
Companion のトリガー規律は「ジャストインタイムでの提示、質問ごとの個別判断」です。最初から売り込むことは禁止されており、ある質問がテキストよりも「視覚的に見た方が明らかに分かりやすい」場合にのみ単独メッセージで提案され、ユーザーが同意するまでサーバーは起動しません。同意後もコンテンツが視覚的かテキストかに応じてブラウザかターミナルかを設問ごとに決定します。
**Offering the companion (just-in-time):** Do NOT offer it upfront. Wait until a question would genuinely be clearer shown than told — a real mockup / layout / diagram question, not merely a UI *topic*.
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | node |
| cli | bash |
| cli | open / rundll32.exe / xdg-open(平台浏览器启动器) |
| cli | git(agent 提交设计文档) |
| network | primeradiant.com 品牌 logo 图(浏览器侧加载,telemetry 未禁用时) |
| network | github.com/obra/superpowers(品牌链接,页面展示用) |
| network | 本地回路 http://localhost:<port> + ws://localhost(Companion 服务,非外发) |
| package | 同仓 skill:writing-plans、elements-of-style:writing-clearly-and-concisely(prompt 级引用) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: scripts/start-server.sh(bash。ローカル Node サーバーの起動、PID/ポート/トークンファイルの書き出し、旧インスタンスの終了を実行可能)
- 网络端点: 外部ネットワークアクセスの宣言: ユーザーブラウザが https://primeradiant.com/brand/superpowers-visual-brainstorming-log を読み込み
- 本地工作目录: ファイルの読み書きと成果物出力: エージェントが(スキルの指示に従い)screen_dir/*.html の画面コンテンツを書き込み、docs/superpowers/specs/YYYY-MM- を書き込み
5二重目の独立検証
- [ok] 外发端点仅 primeradiant.com + github.com — 全目录 grep https?://|ws://|fetch 复查:仅 server.cjs:106(logo URL)与 251(github 链接);helper.js/frame-template.html 零外链;server.cjs 无任何 http.request/fetch(只有 createServer)
- [ok] 零第三方依赖声明 — server.cjs require 清单仅 crypto/http/fs/path/os/child_process 六个内置模块;scripts/ 下无 package.json,无 npm 安装步骤
- [ok] 点击事件回写 state/events — handleMessage 中 fs.appendFileSync(eventsFile, JSON.stringify(event) + '\n') 与 visual-companion.md 描述一致;新屏出现时事件文件被清空(startServer 中 knownFiles 分支 unlinkSync)
- [ok] token 门控与跨站防护 — isAuthorized 用 timingSafeEqualStr 比对 ?key= 或 cookie;isAllowedWebSocketOrigin 强制 origin===http://host;安全头齐全(X-Frame-Options DENY/CORP same-origin/no-referrer);/files/ 经 path.basename + lstat 非符号链接 + nlink===1 + realpath 前缀三重校验
- [discrepancy] spec-document-reviewer-prompt.md 在 SKILL.md 中被引用(第一遍初始印象) — 出入:本 pin 的 SKILL.md 未引用该文件——Spec Self-Review 已内联化为 4 步清单("Fix any issues inline. No need to re-review")。文件存在但处于未接线状态;RELEASE-NOTES.md:547 描述的是早前文档审查系统(docs/superpowers/plans/2026-01-22-document-review-system.md),该设计已不被当前 SKILL.md 采用。internal_assets 已按『存在但未接线』修正
- [ok] telemetry 语义 — 代码中 SUPERPOWERS_TELEMETRY_DISABLED 只控制 brandMarkup 是否渲染 primeradiant.com logo <img> 与文案前缀,无任何事件上报代码路径;三枚禁用环境变量实读存在(server.cjs:107-110)
- [ok] 功能声明 vs 实际能力相符度 — description『Explores user intent, requirements and design before implementation』与实现相符,但注意:MUST 级前置声明("You MUST use this before any creative work")与 HARD-GATE 均为纯 prompt 约束,无宿主级强制机制——是否生效取决于宿主加载与模型遵从,属能力边界而非缺陷
6結論
217df8a1906bc3fc…