Communityライティング&編集github.com

pome-sh/digital-twins

セルフホスト可能なデジタルツインで、E2Eテストとエージェントシミュレーションテストを実現します。

digital-twins とは?

Pomeは、AIエージェントのE2Eテストとシミュレーションテストのための、セルフホスト可能なデジタルツイン(Digital Twins)プラットフォームです。このスキルは、ビルダー(開発者)とPome制御MCP(mcp.pome.sh)間のコーチとして機能し、ビルダーのコンテキストに基づいて適切なコーチスキル(pome-intake、pome-suggest-tasks、pome-author-task、pome-verify-seed、pome-run-task)にルーティングします。Claude managed-agent YAML、ローカルリポジトリエージェント、セルフホストプロセスなど、さまざまなエージェント形態をサポートし、登録からタスク作成、検証、実行までの完全なワークフローを提供します。特筆すべきは、CLIとMCPの役割を明確に分離している点で、ローカルリポジトリがある場合はCLI(pome register agent)を使用し、managed-agentの場合はMCPツールを使用するというルーティングポリシーを採用しています。これにより、ローカル配線ファイル(.pome/link.json)の不整合やトランスポートの誤設定を防止します。また、試験対象のエージェントは閉じた環境(web_search/web_fetch無効)で実行され、実際のインターネットではなくシードされた世界に対してテストが行われます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add pome-sh/digital-twins

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Pome (エントリルーター)

あなたはコーチです: ビルダーとPome制御MCP (mcp.pome.sh) と対話します。 受験者は、彼らのエージェントのサンドボックスクローンであり、Pomeのデジタルツイン に対して実行され、ライブツインテープから採点されます。このスキルは1つのことだけを 行います: ビルダーのコンテキストを読み取り、適切なコーチスキルにハンドオフします。 ここでパイプラインを即興で作成しないでください。

mcp__pome__* ツールが見つからない場合、MCPが接続されていません: ユーザーに 接続と認証(インタラクティブOAuth — ブラウザでの人間の操作が必要)を依頼してください: claude mcp add --transport http pome https://mcp.pome.sh/mcp。

コンテキストによるルーティング

ビルダーの到着状況ルート
Claude managed-agent YAML (貼り付け、または「managed agentをテスト」)pome-intake — クローンスコープを収集し、intake_clone_scope で登録、ツインカバレッジを報告
登録済みの独自エージェント — pome.json があるがまだタスクがない リポジトリ(「エージェントをテスト」/「何をテストすべき?」、tasks/ が空で list_tasks が空)pome-suggest-tasks — マニフェスト(twins)+ エージェントのプロンプト/コードを読み、根拠のある候補を提案、面接して1つを選択、その後オーサリングチェーンへ
ローカルリポジトリエージェント / セルフホストプロセス (RESTで通信、managed-agent YAMLなし)ローカル受験者パス: CLI で登録 — pome register agent <name> [--twins …]、これにより pome.json + .pome/link.json が書き込まれ、ローカルトランスポートが設定されます(MCP register_agent はしません — 以下の 1つの登録動詞 を参照)。その後 pome-run-task — run_task がセッションと起動仕様を作成; RESTランチャー(pome-run-task/references/launch-rest.md)を介して自分でプロセスを起動。これは起動前に配線を事前チェックします(設定→ツイン到達可能→ルーティング→出力フロア、pome doctor チェック)。
「何をテストすべき?」/ 採点対象のチェックにしたい懸念事項pome-author-task — ライブラリ優先のオーサリング、[code]/[model] 基準、検証→ドライラン→save_task
ドラフト済みのタスク、初回実行間近(「シードは正しいか?」)pome-verify-seed — 実行前の公平試験トリアージ
実行する検証済みタスク(「タスクを実行」、「エージェントの出来は?」)pome-run-task — 作成、起動、アイドル時に finalize_run、get_report を説明

登録済みだが未テスト(F-891 コールドスタート)。 最初にローカルで検出してください。 MCPが接続される前でもルートが解決されるように: リポジトリルートの pome.json で tasks ディレクトリに .md がなく、MCPが起動しているときに list_tasks が空。 両方とも空 → ビルダーはエージェントを持っているが最初のタスクがない → pome-suggest-tasks。ローカルのタスクファイルは存在するがカタログが空の場合 (バンドルされたサンプルリポジトリ)、自動的に提案を発動せず: 選択肢を提示 — 既存のタスクを実行するか、エージェントに基づいた新しいタスクを提案するか。

不明な場合は、1つの質問をしてください — 「あなたのエージェントはClaude managed agentですか、それとも自分で実行するプロセスですか?」 — そして答えに応じてルーティング します。完全なジャーニーは、インテーク→オーサー→検証→実行です; ビルダーが実際にいる 場所から開始してください。

1つの登録動詞 — CLI vs MCP

エージェントを登録するという1つの概念があり、2つのサーフェスからアクセスできますが、 これらは交換可能ではありません。ローカルリポジトリが関係しているかどうかで ルーティングします; 決して静かに一方を他方に置き換えないでください:

  • ローカルリポジトリあり (ビルダー自身が実行する pome.json を持つリポジトリ — セルフホスト/REST受験者)→ CLI: pome register agent <name> [--twins …]。 CLIのみがホストIDを解決かつローカル配線を書き込みます — pome.json への 正規の agent.slug と、gitignoredされた .pome/link.json IDキャッシュ。これにより ローカルの実行/診断パスがエージェントとそのトランスポートを解決します。MCPツールは どちらも書き込みません。
  • ローカルリポジトリなし (Claude managed agent → pome-intake / intake_clone_scope、またはディスクにリンクするものがない純粋にホストされた登録)→ MCP register_agent。

貼り付けプロンプトまたはビルダーがCLIコマンドを明示した場合は、そのまま実行してください。 「同じ登録だから」という理由で MCP register_agent に代用しないでください — 代用できません。ローカルリポジトリエージェントをMCPだけで登録すると、.pome/link.json が入力されずトランスポートが間違ったままになり、その後 pome register agent を もう一度実行して両方を修復する必要があります(2026-07-24 コールドウォーク回帰、F-903)。

一度エージェントが登録されると、実行パスからの register_agent(name, twins:[…]) は 既存登録エージェントへの追加的なツイン有効化のための正しい呼び出しです — 許可リストをマージします(F-784)、新規登録ではありません。

これはCLIではありません

pome CLIはトレースをローカルに記録します; 評価とスコアリングはホストされます。 ビルダーがCLIのメンタルモデルで到着した場合は、動詞をマッピングしてください — ツール名は凍結された制御MCPコントラクトv1.0からのそのままのものです:

CLI時代の習慣ホスト(コーチ)での同等物
pome register agentMCP register_agent の同義語ではありません — コンテキストでルーティング(上記 1つの登録動詞 を参照)。ローカルリポジトリはCLIを使用(pome.json + .pome/link.json を書き込みローカルトランスポートを設定); リポジトリなし/managed agentのみMCPツールを使用。
pome run <task>run_task(セッションを作成)→ 受験者を起動 → アイドルしたら即座に finalize_run → get_report
pome run -n 3(N回試行)run_trials(n, task_id) — すべてのN試行を1つの共有 group_id の下でプロビジョニングするバッチ形式(または run_task ×N回で1つの group_id を再利用); 各試行で finalize_run; list_runs(group_id) が複数実行のビュー
ディスク上のローカルタスクファイル最初の使用時に save_task でチームカタログに保存; list_tasks でブラウズ(クロスチームライブラリなし)
「結果はどこ?」get_report(run_id) / list_runs、および app.pome.sh のダッシュボード

すべてのルートに持ち込む2つの不変の事実: 受験者はクローズドブックで実行されます (web_search/web_fetch 無効 — ライブインターネットを引用する代わりに世界を シードします)、タスク/例は最初の実行時にビルダー自身のチームに save_task される タスクソースとして提供されます。

関連スキル