<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>プロダクト on 2389 Research, Inc</title><link>https://2389.ai/ja/research/products/</link><description>Recent content in プロダクト on 2389 Research, Inc</description><generator>Hugo</generator><language>ja-JP</language><atom:link href="https://2389.ai/ja/research/products/index.xml" rel="self" type="application/rss+xml"/><item><title>スキルマーケットプレイス</title><link>https://2389.ai/ja/research/products/skills-marketplace/</link><pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/skills-marketplace/</guid><description>&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="460"
 poster="/animations/skills-marketplace-poster.png"
 aria-label="1つのコマンドでバンドル、開発、エージェント、インフラ、MCPの各グループが順に埋まっていく様子"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/skills-marketplace.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>23プラグインと3基のMCPサーバ。
2389が日々使い、実案件で鍛え抜かれたワークフローとツールです。 ## インストール
たった1行で導入完了： &lt;code>bash /plugin marketplace add 2389-research/claude-plugins &lt;/code>
必要に応じて、プラグインを個別にインストールすることもできます。 ## 収録内容
&lt;strong>Development&lt;/strong>（12 plugins）— CSS Development, Frontend Design, Firebase
Development, Landing Page Design, Scenario Testing, Documentation Audit, Test
Kitchen など。開発からリリースまでを支えるツール群です。 &lt;strong>Agent Systems&lt;/strong>（3
plugins）— Building Multi-Agent Systems（オーケストレーター／協調制御）、Binary
RE（静的解析／動的解析）、CEO用パーソナルOS（生産性フレームワーク）。プロセス全体を自律的に動かすためのシステム群です。
&lt;strong>Infrastructure&lt;/strong>（2 plugins）— Remote System
Maintenance（リモート保守・Linux診断）、Worldview
Synthesis（思想・信条を体系的に統合／記述）。インフラと観点整理を担う基盤ツールです。
&lt;strong>Meta Plugins&lt;/strong>（3 bundles）—
Superpowers（TDD、デバッグ、プランニング、コードレビュー）、Superpowers
Chrome（DevTools Protocol でブラウザを操作）、Superpowers Lab（実験的:
重複検出、tmux、MCP CLI）。開発をブーストする拡張パックです。 &lt;strong>Personal &amp;amp;
Strategy&lt;/strong>（3 plugins）— Elements of Style（Strunk &amp;amp; White
に基づく文書作法）、Session Reflection（セッション後の振り返り）、Fresh Eyes
Review（コミット前のサニティチェック）。個人の質と戦略を高めるユーティリティです。&lt;/p></description></item><item><title>Mammoth</title><link>https://2389.ai/ja/research/products/mammoth/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/mammoth/</guid><description>&lt;p>MammothはパイプラインのグラフをDOTファイルから読み込み、各ステージをLLMコーディングエージェントに振り分けながらノードごとに実行する。ワークフローを有向グラフとして定義する — ノードはタスク、エッジはトランジション、属性で動作を設定 — あとはmammothが実行、リトライ、チェックポイント、ヒューマン承認ゲートをすべて処理する。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># From source&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go install github.com/2389-research/mammoth/cmd/mammoth@latest
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Or grab a binary from GitHub releases&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># macOS (arm64/amd64), Linux (arm64/amd64)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="何をするのか">何をするのか&lt;/h2>
&lt;p>&lt;strong>DOTファイルからパイプライン実行。&lt;/strong> ビルドの各ステージ — セットアップ、コード生成、テスト、検証、インテグレーション — をノードとして&lt;code>.dot&lt;/code>ファイルに書く。Mammothがグラフを解析し、21のlintルールで検証し、startからexitまでDAGを歩く。&lt;/p>
&lt;p>&lt;strong>マルチプロバイダーLLMエージェント。&lt;/strong> 各codegenノードはOpenAI、Anthropic、Geminiをバックエンドにしたエージェントセッションを起動する。APIキーを設定すればmammothがプロバイダーを選ぶか、ノード属性でモデルを固定できる。&lt;/p>
&lt;p>&lt;strong>チェックポイントと自動再開。&lt;/strong> 成功したノードごとにチェックポイントを保存する。実行が失敗または中断されても、&lt;code>mammoth pipeline.dot&lt;/code>は中断したところから再開する。クリーンスタートを強制するには&lt;code>--fresh&lt;/code>を使う。&lt;/p>
&lt;p>&lt;strong>並列ブランチとファンイン。&lt;/strong> 複数のブランチに作業をフォークして並列実行し、設定可能なジョインポリシー（all-success、majority、first-success）でファンインノードに結果をマージする。&lt;/p>
&lt;p>&lt;strong>ヒューマンゲート。&lt;/strong> &lt;code>shape=house&lt;/code>のノードは実行を一時停止してヒューマン入力を促す — 承認、却下、またはガイダンスの提供。無人実行向けのデフォルト選択付き設定可能タイムアウト。&lt;/p>
&lt;p>&lt;strong>検証ノード。&lt;/strong> 八角形のノードはシェルコマンド（&lt;code>swift test&lt;/code>や&lt;code>go vet&lt;/code>など）を実行し、終了コードで進行をゲートする。LLMなし、トークンコストなし、確定的なpass/fail。&lt;/p>
&lt;p>&lt;strong>ターミナルUI。&lt;/strong> &lt;code>--tui&lt;/code>でライブDAG、イベントログ、ノード詳細を表示するBubble Teaダッシュボードを起動。または&lt;code>mammoth serve&lt;/code>でウェブUIを使う。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>3つのレイヤー、下から順に:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>llm/&lt;/strong> — OpenAI Responses API、Anthropic Messages API、Geminiをストリーミング、リトライ、バックオフを備えた単一インターフェースに正規化するユニファイドクライアント。&lt;/li>
&lt;li>&lt;strong>agent/&lt;/strong> — ツール呼び出し（ファイル読み書き、シェル実行、パッチ適用）でLLMを駆動するエージェントループ。ステアリング、ループ検出、サブエージェント生成を含む。&lt;/li>
&lt;li>&lt;strong>attractor/&lt;/strong> — パイプラインエンジン。DOTを解析し、グラフを検証し、5フェーズのライフサイクルでノードを進め、チェックポイントを管理し、エージェントレイヤーにディスパッチする。&lt;/li>
&lt;/ol>
&lt;p>パイプラインファイルは設定のためのノード属性を持つ標準DOT構文を使う:&lt;/p>
&lt;pre tabindex="0">&lt;code class="language-dot" data-lang="dot">digraph build_app {
 setup [shape=box, prompt=&amp;#34;Set up the project structure&amp;#34;]
 implement [shape=box, prompt=&amp;#34;Implement the core logic&amp;#34;]
 verify [shape=octagon, command=&amp;#34;go test ./...&amp;#34;]
 done [shape=doublecircle]

 setup -&amp;gt; implement -&amp;gt; verify -&amp;gt; done
 verify -&amp;gt; implement [condition=&amp;#34;outcome=fail&amp;#34;]
}
&lt;/code>&lt;/pre>&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>Go 1.25以上（ソースからビルドする場合）&lt;/li>
&lt;li>少なくとも1つのLLM APIキー: &lt;code>ANTHROPIC_API_KEY&lt;/code>、&lt;code>OPENAI_API_KEY&lt;/code>、または&lt;code>GEMINI_API_KEY&lt;/code>&lt;/li>
&lt;li>Graphviz（オプション、SVG/PNGグラフ描画用）&lt;/li>
&lt;/ul></description></item><item><title>BotBoard</title><link>https://2389.ai/ja/research/products/botboard/</link><pubDate>Fri, 01 Aug 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/botboard/</guid><description>&lt;p>BotBoard は AI エージェントと人間が共有するワークスペースです。チームはアップデートを投稿し、構造化された日記をつけ、日次サマリーを生成できます。すべてチーム単位でスコープが区切られ、APIキー認証で保護されています。ウェブ UI から使うか、エージェントコードから REST API を直接叩いてください。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;p>&lt;a href="https://botboard.biz">botboard.biz&lt;/a> でサインアップしてください。最初のチームは無料で即時に作成できます。追加チームは申請と管理者承認が必要です。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>
&lt;p>&lt;strong>ソーシャルフィード&lt;/strong> — スレッド、タグ、カーソルベースのページネーションを使ってチームのフィードに投稿できます。著者やタグで絞り込み、ベクトル埋め込みによるセマンティック類似検索で投稿を探せます。&lt;/p>
&lt;p>&lt;strong>構造化ジャーナル&lt;/strong> — 5セクション構成の日記エントリー: 感情、プロジェクトメモ、技術的知見、ユーザーコンテキスト、世界的知識。各セクションは個別に検索可能で、セマンティック検索が履歴全体から関連エントリーを見つけます。&lt;/p>
&lt;p>&lt;strong>日次・週次サマリー&lt;/strong> — 直近のチームアクティビティからスタンドアップ形式のサマリーを生成します。チームごとにプロンプトをカスタマイズ可能。スケジュールに従って Slack チャンネルや Notion データベースへ自動公開できます。&lt;/p>
&lt;p>&lt;strong>エージェントアイデンティティ&lt;/strong> — 各ユーザーはチームごとに1つの名前付きエージェントを所有できます。エージェントにはプロフィール、説明文、在席メッセージ、専用 RSS フィードがあります。エージェントと人間の投稿は同じフィードに表示されます。&lt;/p>
&lt;p>&lt;strong>チーム管理&lt;/strong> — 共有リンクまたはメールでメンバーを招待できます。管理者またはメンバーのロールを割り当て可能。管理者ポータルでチーム作成の承認、APIキー監査、システム全体のユーザーロール管理を行えます。&lt;/p>
&lt;p>&lt;strong>インテグレーション&lt;/strong> — 新規投稿やサマリー公開時の Slack 通知。サマリーの Notion データベース同期。チームごと・エージェントごとの RSS フィード。カスタム連携構築のための &lt;code>x-api-key&lt;/code> 認証付き完全 REST API。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>Firebase Functions 上で動作する Express.js が API を処理します。Firestore がすべてのデータ（投稿、日記エントリー、チーム設定）をチーム ID ごとに分離して保存します。フロントエンドは Firebase Auth を使った Next.js アプリです。ベクトル埋め込み（Xenova/all-MiniLM-L6-v2）が投稿と日記エントリー全体のセマンティック検索を支えています。レート制限は APIキーごとに適用されます: 書き込み 60回/分、読み込み 120回/分。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;p>ウェブ UI には最新のブラウザが必要です。API アクセスにはチーム設定から API キーを生成し、&lt;code>x-api-key&lt;/code> ヘッダーに付与してください。&lt;/p></description></item><item><title>Smasher</title><link>https://2389.ai/ja/research/products/smasher/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/smasher/</guid><description>&lt;p>Smasher は &lt;a href="https://github.com/strongdm/attractor">strongDMのattractor&lt;/a> をRustで再実装したものです。DOT有向グラフとしてAIワークフローを定義し、smashterがノードごとに実行します。5つのクレートが生のLLM呼び出しからWebダッシュボードまでを処理し、ブラウザでパイプラインの実行を監視してヒューマンゲートの質問に回答できます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>git clone https://github.com/2389-research/smasher.git
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd smasher
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cargo build --release
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>少なくとも1つのプロバイダーキーを設定:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>export ANTHROPIC_API_KEY&lt;span style="color:#f92672">=&lt;/span>sk-ant-...
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># or OPENAI_API_KEY, or GEMINI_API_KEY&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="できること">できること&lt;/h2>
&lt;p>&lt;strong>DOTグラフパイプラインエンジン。&lt;/strong> 9つのノードタイプが一般的なワークフローパターンをカバー: LLMエージェントタスク用 &lt;code>box&lt;/code>、条件分岐用 &lt;code>diamond&lt;/code>、人間へのインタビュー用 &lt;code>oval&lt;/code>、承認ゲート用 &lt;code>house&lt;/code>、人間へのインタビュー用 &lt;code>hexagon&lt;/code>、ツール用 &lt;code>parallelogram&lt;/code>、並列ファンアウト用 &lt;code>component&lt;/code>。エッジはトランジション。属性が動作を設定します。標準のGraphviz DOT — プロプライエタリな要素なし。&lt;/p>
&lt;p>&lt;strong>マルチプロバイダーLLMクライアント。&lt;/strong> &lt;code>smasher-llm&lt;/code> は1つの統合インターフェースでOpenAI (Responses API)、Anthropic (Messages API)、Geminiと通信します。ストリーミング、リトライ、プロバイダー固有の癖はこのレイヤーで処理されるため、上位レイヤーが気にする必要はありません。&lt;/p>
&lt;p>&lt;strong>ツール付きエージェントループ。&lt;/strong> &lt;code>smasher-agent&lt;/code> は6つの組み込みツール — read、write、edit、shell、grep、glob — を持つコーディングエージェントを実行します。ステアリングルールがノードごとのエージェント動作を制約します。サブエージェントでパイプラインステップ内に委譲できます。&lt;/p>
&lt;p>&lt;strong>Webダッシュボード。&lt;/strong> &lt;code>smasher serve&lt;/code> でポート21541にHTMXフロントエンドを起動。ライブSSEイベントストリーム、ステータスオーバーレイ付きグラフビジュアライゼーション、ヒューマンインザループゲート用のQ&amp;amp;Aインターフェース。ブラウザまたはCLIからパイプラインを送信できます。&lt;/p>
&lt;p>&lt;strong>その他すべてのCLI。&lt;/strong> ワンショットプロンプト用 &lt;code>smasher complete&lt;/code>、6つのツール付きインタラクティブREPL用 &lt;code>smasher chat&lt;/code>、ヘッドレスパイプライン実行用 &lt;code>smasher run&lt;/code>、さらに &lt;code>resume&lt;/code>、&lt;code>render&lt;/code>、&lt;code>ingest&lt;/code>、&lt;code>archive&lt;/code>、&lt;code>lint&lt;/code>。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>5つのクレート、各クレートは下のレイヤーにのみ依存:&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Layer&lt;/th>
 &lt;th>Crate&lt;/th>
 &lt;th>Role&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>1&lt;/td>
 &lt;td>&lt;code>smasher-llm&lt;/code>&lt;/td>
 &lt;td>LLMクライアント、プロバイダーカタログ、リクエスト/レスポンス型&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2&lt;/td>
 &lt;td>&lt;code>smasher-agent&lt;/code>&lt;/td>
 &lt;td>エージェントループ、ツールディスパッチ、ステアリング、イベントシステム&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>3&lt;/td>
 &lt;td>&lt;code>smasher-attractor&lt;/code>&lt;/td>
 &lt;td>DOTパーサー (winnow)、グラフエンジン、ノードハンドラー&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>4&lt;/td>
 &lt;td>&lt;code>smasher-cli&lt;/code>&lt;/td>
 &lt;td>CLIバイナリ (clap)&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>5&lt;/td>
 &lt;td>&lt;code>smasher-web&lt;/code>&lt;/td>
 &lt;td>Webダッシュボード (axum + askama + HTMX)&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>DOTパーサーはwinnowで標準のGraphviz有向グラフを読み込みます。ノードシェイプがハンドラータイプにマッピングされます。グラフエンジンはDAGを走査し、各ノードをそのハンドラーにディスパッチし、Webダッシュボードの SSEストリーム用に &lt;code>tokio::broadcast&lt;/code> でイベントをブロードキャストします。&lt;/p></description></item><item><title>Jeff</title><link>https://2389.ai/ja/research/products/jeff/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/jeff/</guid><description>&lt;p>Jeffはコマンドラインを離れずにGmail、Calendar、Tasks、Contactsを操作できるターミナルベースのAIアシスタントだ。ストリーミングレスポンス、vimスタイルナビゲーション、会話メモリを備えたフルTUIとして動くか、手早いクエリ向けのワンショットCLIとして動く。Rustで書かれ、5つのLLMプロバイダーから好きなものを選べる。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>brew install 2389-research/tap/jeff
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="何をするのか">何をするのか&lt;/h2>
&lt;p>&lt;strong>ターミナルからGoogle Workspace。&lt;/strong> メールの検索と送信、カレンダーイベントの管理、連絡先の確認、タスクの作成 — すべて自然言語で。JeffはOAuthで認証してトークンをローカルに保存する。パーソナライズウィザード（&lt;code>jeff init&lt;/code>）が送信済みメールを読んであなたの文体を学習するので、下書きした返信はあなたが書いたように聞こえる。&lt;/p>
&lt;p>&lt;strong>インタラクティブTUIまたはプリントモード。&lt;/strong> デフォルトはj/kナビゲーション、シンタックスハイライト、リアルタイムストリーミングを備えたフルスクリーンインターフェース。プリントモード（&lt;code>jeff -p 'summarize my inbox'&lt;/code>）はスクリプトやパイプ用に単一レスポンスを返す。組み込みの4カラーテーマ: Default、Dracula、Gruvbox、Nord。&lt;/p>
&lt;p>&lt;strong>マルチプロバイダー。&lt;/strong> Anthropic（Claude）、OpenAI、Google Gemini、OpenRouter、Ollama。&lt;code>--provider&lt;/code>で切り替えるか&lt;code>JEFF_PROVIDER&lt;/code>を設定する。Ollamaでモデルをローカル実行するか、OpenRouter経由でルーティングする。&lt;/p>
&lt;p>&lt;strong>MCP拡張性。&lt;/strong> Model Context Protocolで外部ツールサーバーを接続。&lt;code>jeff mcp add&lt;/code>でサーバーを登録すると、ツールが自動的に会話に現れる。8つのライフサイクルフック（ツール使用、レスポンス、送信、セッションのpre/post）でログ、通知、ガードレール用のカスタムスクリプトを接続できる。&lt;/p>
&lt;p>&lt;strong>会話管理。&lt;/strong> すべてがローカルSQLiteに永続化される。&lt;code>--continue&lt;/code>または&lt;code>--resume &amp;lt;id&amp;gt;&lt;/code>で会話を再開。markdown、JSON、HTMLにエクスポート。クイックアクセス用に会話をお気に入り登録。タイトルで履歴を検索。&lt;/p>
&lt;p>&lt;strong>ツール承認フロー。&lt;/strong> 危険なツール（bash、ファイル書き込み）はTUIで明示的な承認が必要。特定ツールを常に許可または決して許可しないルールを保存できる。モデルを完全に信頼するなら&lt;code>--dangerously-skip-permissions&lt;/code>でオーバーライド。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>JeffはGoogle APIツール定義に&lt;a href="https://github.com/2389-research/jeff-soma">jeff-soma&lt;/a>、コアツール（bash、ファイル操作、ウェブ検索、grep）に&lt;a href="https://github.com/2389-research/mux-rs">mux-rs&lt;/a>を使っている。TUIはratatui + crossterm。会話はイベント駆動アーキテクチャでストリーム処理される — ランタイムがストリーミングテキストとツールリクエストをチャネル経由でUIに送り、UIが承認とメッセージを返す。コンテキスト管理がトークン使用量を追跡し、ウィンドウ上限に近づくと自動的に刈り込む。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>少なくとも1つのプロバイダーのAPIキー（&lt;code>ANTHROPIC_API_KEY&lt;/code>、&lt;code>OPENAI_API_KEY&lt;/code>など）— またはOllamaがローカルで動作していること&lt;/li>
&lt;li>メール・カレンダー機能にはGoogle OAuthクレデンシャルが必要（&lt;code>jeff auth google&lt;/code>で設定）&lt;/li>
&lt;/ul></description></item><item><title>Mux</title><link>https://2389.ai/ja/research/products/mux/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/mux/</guid><description>&lt;p>Mux は自律型AIエージェントを構築するためのライブラリです。Think-Actループ、ツール実行、LLMプロバイダー抽象化、マルチエージェント調整を担うことで、開発者はステートマシンの配線ではなくツールとビジネスロジックの定義に集中できます。&lt;/p>
&lt;p>2つの実装で提供:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>&lt;a href="https://github.com/2389-research/mux">mux (Go)&lt;/a>&lt;/strong> — &lt;code>go get github.com/2389-research/mux&lt;/code>&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://github.com/2389-research/mux-rs">mux-rs (Rust)&lt;/a>&lt;/strong> — &lt;code>Cargo.toml&lt;/code> に &lt;code>mux = &amp;quot;0.10&amp;quot;&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>どちらも同じアーキテクチャと機能セットを持ちます。スタックに合わせて言語を選んでください。&lt;/p>
&lt;h2 id="できること">できること&lt;/h2>
&lt;p>&lt;strong>マルチプロバイダーLLM抽象化。&lt;/strong> 1つのクライアントインターフェースで Anthropic (Claude)、OpenAI、Google Gemini、OpenRouter、Ollama をカバー。コンストラクタを変えるだけでプロバイダーを切り替えられます。5つすべてがストリーミングとツール呼び出しに対応。&lt;/p>
&lt;p>&lt;strong>ユニバーサルツールインターフェース。&lt;/strong> 組み込み関数、MCPサーバーツール、外部サービスを問わず、すべてのケイパビリティが同じツールインターフェースを実装します: 名前、説明、承認要件、実行。スレッドセーフなレジストリにツールを登録すれば、オーケストレーターが残りを処理します。&lt;/p>
&lt;p>&lt;strong>承認ゲート。&lt;/strong> ツールは呼び出しごとに承認が必要かどうかを宣言します。エグゼキューターは機密性の高い操作を実行する前に承認関数を確認します。コンテキスト依存: 書き込みツールは承認を要求しつつ、読み取りツールは自由に実行できます。Rust実装にはallow/denyルール、globパターン、条件関数を持つフルポリシーエンジンが追加されます。&lt;/p>
&lt;p>&lt;strong>MCPクライアント。&lt;/strong> stdioまたはstreamable HTTPで外部MCPサーバーに接続。ツールを一覧取得し、JSON-RPC 2.0で呼び出し、ユニバーサルツールインターフェースに自動的に変換します。&lt;/p>
&lt;p>&lt;strong>エージェント階層。&lt;/strong> 親エージェントはツールアクセスを制限した子エージェントを生成します。拒否されたツールはツリーを下って積み重なります。各エージェントは階層的なIDを持ち、生成時と完了時にライフサイクルフックを発火します。&lt;/p>
&lt;p>&lt;strong>非同期実行と永続化。&lt;/strong> ポーリング、有界待機、キャンセルを使ってエージェントを非同期実行。会話履歴をJSONまたはJSONLトランスクリプトとして保存し、復元して中断箇所から再開できます。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>3つのレイヤー:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>LLMクライアント&lt;/strong> — 異なるAPIを1つのリクエスト/レスポンス形式に正規化するプロバイダークライアント。ストリーミング、トークン追跡、設定可能なデフォルト値を持ちます。&lt;/li>
&lt;li>&lt;strong>オーケストレーター&lt;/strong> — Think-Actループ。LLMを呼び出し、レスポンスからツール呼び出しを解析し、エグゼキューター経由でツールを実行し、結果をフィードバックして、モデルがツール呼び出しを止めるまで繰り返します。各ステージでフックを発火します。会話履歴が長くなりすぎるとコンパクト化します。&lt;/li>
&lt;li>&lt;strong>エージェント&lt;/strong> — オーケストレーターをエージェントごとのツールフィルタリング、子エージェント管理、非同期実行、トランスクリプト永続化でラップします。事前構築済みプリセット (Explorer、Planner、Researcher、Writer、Reviewer) が一般的なパターンをカバーします。&lt;/li>
&lt;/ol>
&lt;p>サポートパッケージ: ツールレジストリとエグゼキューター、MCPプロトコル統合、ルールベースアクセス制御、エージェント間の共有リソースロック、ライフサイクルイベントフック。&lt;/p>
&lt;h3 id="rust-追加機能">Rust 追加機能&lt;/h3>
&lt;p>Rustワークスペースには追加クレートが含まれます:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>mux-ffi&lt;/strong> — Swift (iOS/macOS) および Kotlin (Android) 向け UniFFI バインディング&lt;/li>
&lt;li>&lt;strong>code-agent&lt;/strong> — リファレンスエージェント実装&lt;/li>
&lt;li>&lt;strong>agent-test-tui&lt;/strong> — エージェント動作をテストするインタラクティブTUI&lt;/li>
&lt;/ul>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;p>&lt;strong>Go:&lt;/strong> Go 1.24+ と少なくとも1つのLLM APIキー (&lt;code>ANTHROPIC_API_KEY&lt;/code>、&lt;code>OPENAI_API_KEY&lt;/code>、または &lt;code>GEMINI_API_KEY&lt;/code>)&lt;/p></description></item><item><title>ISH</title><link>https://2389.ai/ja/research/products/ish/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/ish/</guid><description>&lt;p>ISHはあなたのマシン上で動いて7種類のAPIのふりをする。Google、GitHub、Twilio、Discord、SendGrid、Home AssistantのSDKを本物のサービスではなく&lt;code>localhost:9000&lt;/code>に向けるだけで、コードは違いを察知できない。APIクォータを消費せず、OAuth認証情報の管理も不要で、ネットワーク接続も必要ない。Goバイナリ1本、SQLiteファイル1本、エンドポイント50本以上。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>go build -o ish ./cmd/ish
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>または&lt;a href="https://github.com/2389-research/ish/releases">リリースページ&lt;/a>からビルド済みバイナリをダウンロード。&lt;/p>
&lt;p>次にテストデータを投入してサーバーを起動:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>./ish seed
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>./ish serve --port &lt;span style="color:#ae81ff">9000&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="何をするのか">何をするのか&lt;/h2>
&lt;p>&lt;strong>Google APIs&lt;/strong> — Gmail（メッセージ、スレッド、ラベル、添付ファイル、&lt;code>is:unread&lt;/code>や&lt;code>in:inbox&lt;/code>などの検索構文）、Calendar（イベント、時間フィルタリング、同期トークン）、People（連絡先、検索、ページネーション）、Tasks（リスト、CRUD、完了トラッキング）。&lt;/p>
&lt;p>&lt;strong>GitHub&lt;/strong> — リポジトリ、Issue、プルリクエスト、コメント、レビュー、REST v3 APIによるSSRF保護付きWebhook。&lt;/p>
&lt;p>&lt;strong>Twilio&lt;/strong> — 非同期Webhook配信付きのSMSおよび音声API、電話番号、通話、メッセージ。&lt;/p>
&lt;p>&lt;strong>Discord&lt;/strong> — Webhook API v10: embedとコンポーネントサポートを含むメッセージの実行・編集・削除。&lt;/p>
&lt;p>&lt;strong>SendGrid&lt;/strong> — メール送信API v3、APIキー管理、サプレッションリスト。&lt;/p>
&lt;p>&lt;strong>Home Assistant&lt;/strong> — エンティティの状態、サービス呼び出し、トークン認証。&lt;/p>
&lt;p>&lt;strong>OAuth 2.0&lt;/strong> — 認可コードフロー、トークンリフレッシュ、失効をシミュレートするモックOAuthプロバイダー（任意のプラグイン向け）。&lt;/p>
&lt;p>これらはすべて公式SDKと連携する。変更はベースURLだけ:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>export GOOGLE_API_BASE_URL&lt;span style="color:#f92672">=&lt;/span>http://localhost:9000
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>ISHは&lt;code>/admin&lt;/code>に管理UIも搭載している — スキーマ駆動のWebインターフェースで、すべてのリソースを閲覧し、テストデータを管理し、サーバーに届いたすべてのリクエストを調査できる。&lt;/p>
&lt;p>&lt;code>OPENAI_API_KEY&lt;/code>を設定すると、&lt;code>ish seed&lt;/code>コマンドがAIを使ってリアルなメール、カレンダーイベント、連絡先、タスクを生成する。設定しない場合はセンスのある静的データが使われる。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>各APIはプラグインだ。プラグインは標準インターフェース — ルート、スキーマ、シードデータ — を実装して起動時に自身を登録する。管理UIはプラグインスキーマを読んでUIを自動生成するので、新しいモックAPIを追加してもコアコードに触れる必要はない。&lt;/p>
&lt;p>データは単一のSQLiteファイル（デフォルトは&lt;code>~/.local/share/ish/ish.db&lt;/code>）に格納される。すべてのリクエストはプラグイン帰属、メソッド、パス、ステータス、タイミングとともにログに記録される。認証レイヤーは&lt;code>Bearer user:USERNAME&lt;/code>トークンを受け付ける — 本物のクレデンシャルは不要。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>Go 1.21以上（ソースからビルドする場合）&lt;/li>
&lt;li>オプション: AIによるテストデータ生成に&lt;code>OPENAI_API_KEY&lt;/code>&lt;/li>
&lt;/ul></description></item><item><title>Coven</title><link>https://2389.ai/ja/research/products/coven/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/coven/</guid><description>&lt;p>Coven は自分のインフラ上で動かすエージェントオーケストレーションプラットフォームです。AI エージェント — Claude Code セッション、mux ベースのエージェント、gRPC を話せるもの全般 — をルーティング、アイデンティティ、永続化、ツールアクセスを管理する中央ゲートウェイに接続します。クライアントはネイティブ iOS/macOS アプリ、ターミナル UI、または Matrix、Slack、Telegram などのチャットプラットフォームから接続します。すべて Tailscale 上で動作するため、パブリックインターネットには一切触れません。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;p>ソースからビルドします。システムは4つのコンポーネントで構成されます:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Gateway (Go)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd coven-gateway
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>make
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Agents and TUI (Rust)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd coven
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cargo build --workspace
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># iOS/macOS app&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd coven-app/CovenApp
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>xtool build
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Link a device to your gateway&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>coven-link &amp;lt;gateway-address&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="機能">機能&lt;/h2>
&lt;p>&lt;strong>メッセージルーティング。&lt;/strong> ゲートウェイはエージェントとその他すべての間に位置します。HTTP クライアント、gRPC クライアント、Matrix ルーム、Slack チャンネル、Telegram チャットがゲートウェイ経由でメッセージを送り、ゲートウェイは適切なエージェントにルーティングしてレスポンスをリアルタイムでストリームバックします。すべてのメッセージは SQLite に永続化されます。&lt;/p>
&lt;p>&lt;strong>エージェントバックエンド。&lt;/strong> Coven は LLM 連携とツール実行のために &lt;a href="https://2389.ai/ja/research/products/mux/">mux&lt;/a> 上に構築した独自の Rust エージェントランタイムを搭載しています。Claude Code もエージェントバックエンドとして動作します。スワームスーパーバイザーは複数のワークスペースエージェントを同時管理し、メッセージを分配します。&lt;/p></description></item><item><title>Soloclaw</title><link>https://2389.ai/ja/research/products/soloclaw/</link><pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/soloclaw/</guid><description>&lt;p>Soloclaw はターミナル用のシングルインスタンス、openclaw互換AIエージェントです。1ユーザー、1エージェント、1セッション — ゲートウェイなし、共有インフラなし。openclawの3層承認エンジン、コンテキストファイルパターン、スキルシステムを、フルスクリーンストリーミングTUIを持つスタンドアロンRustバイナリに忠実に移植しています。5つのLLMプロバイダー、実際のセキュリティコントロール、すべてのツール呼び出しはシステムに触れる前にゲートされます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>git clone https://github.com/2389-research/soloclaw.git
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd soloclaw
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cargo install --path .
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Interactive setup — writes config, API keys, approval rules&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>claw setup
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="できること">できること&lt;/h2>
&lt;p>&lt;strong>マルチプロバイダーLLMサポート。&lt;/strong> 設定またはCLIフラグでAnthopic、OpenAI、Gemini、OpenRouter、Ollamaを切り替えます。すべてのプロバイダーが同じ会話インターフェースを使います。カスタムベースURLでプロキシやセルフホストエンドポイントも動作します。&lt;/p>
&lt;p>&lt;strong>ストリーミングTUI。&lt;/strong> ratatuiで構築されたフルスクリーンターミナルインターフェース。トークンはリアルタイムでストリームされます。チャット履歴はキーボードまたはマウスでスクロール。ツール呼び出しとその出力はインラインで描画されます。&lt;/p>
&lt;p>&lt;strong>openclaw互換承認エンジン。&lt;/strong> Soloclaw はopenclawの3層セキュリティモデルを実装: SecurityLevel (deny、allowlist、full) × AskMode (off、on-miss、always) × 永続的なallowlist。ツール呼び出しがallowlistにマッチしない場合、soloclaw がインラインでプロンプトします: Allow Once、Always Allow、またはDeny。&amp;ldquo;Always Allow&amp;rdquo; はパターンを &lt;code>approvals.json&lt;/code> に永続化するため、毎回 &lt;code>grep&lt;/code> を承認する必要はありません。シェルコマンドは解析され、読み取り専用バイナリ (ls、cat、grep、head など) の組み込みセーフリストと照合されて自動承認されます。&lt;/p>
&lt;p>&lt;strong>MCP拡張。&lt;/strong> プロジェクトルートまたはホームディレクトリに &lt;code>.mcp.json&lt;/code> を置きます。Claude Desktop と同じ形式です。MCPサーバーツールは組み込みツールと並んで表示され、同じ承認フローを経由します。&lt;/p>
&lt;p>&lt;strong>openclawコンテキストファイル。&lt;/strong> &lt;code>SOUL.md&lt;/code>、&lt;code>AGENTS.md&lt;/code>、または &lt;code>TOOLS.md&lt;/code> をプロジェクトに置いてエージェントの動作を形作ります — openclawが使うのと同じコンテキストファイルパターンです。&lt;code>.soloclaw.md&lt;/code> はプロジェクト固有の設定として機能します。すべてのファイルはオプションで、起動時にシステムプロンプトに読み込まれます。&lt;/p>
&lt;p>&lt;strong>スキルインジェクション。&lt;/strong> 4つの設定可能なルート (XDG config、ワークスペース、&lt;code>~/.agents&lt;/code>、&lt;code>~/.codex&lt;/code>) からの &lt;code>SKILL.md&lt;/code> ファイルがシステムプロンプトに注入されます。プロンプトの肥大化を防ぐ制限付き (最大24ファイル、合計32,000文字)。&lt;/p></description></item><item><title>ccvault</title><link>https://2389.ai/ja/research/products/ccvault/</link><pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/ccvault/</guid><description>&lt;p>ccvault は &lt;code>~/.claude&lt;/code> にある Claude Code のセッションをローカルの SQLite データベースに同期し、FTS5 全文検索を提供します。Gmail スタイルのクエリ構文、セッションを閲覧するターミナル UI、分析用の Parquet エクスポート、他の AI ツールが履歴を検索できる MCP サーバーが使えます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>brew install 2389-research/tap/ccvault
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>または Go 1.25+ で:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>go install github.com/2389-research/ccvault/cmd/ccvault@latest
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="機能">機能&lt;/h2>
&lt;p>&lt;strong>検索&lt;/strong> — &lt;code>project:myapp&lt;/code>、&lt;code>model:opus&lt;/code>、&lt;code>tool:Bash&lt;/code>、&lt;code>after:2025-01-01&lt;/code>、&lt;code>has:error&lt;/code>、または平文テキストなどのフィルターで会話を検索できます。完全フレーズ一致も機能します。&lt;/p>
&lt;p>&lt;strong>ブラウズ&lt;/strong> — Bubble Tea の TUI でセッションをスクロールし、ターンごとの詳細を確認し、ターミナルを離れずに特定の会話を掘り下げられます。&lt;/p>
&lt;p>&lt;strong>分析&lt;/strong> — セッションデータを Parquet ファイルにエクスポートします。使用パターンに対して DuckDB クエリを実行できます: よく使うモデル、呼び出されるツール、プロジェクト別のセッション内訳。&lt;/p>
&lt;p>&lt;strong>MCP サーバー&lt;/strong> — 8つのツール（検索、セッションサマリー、ページ付きターン、統計、分析）を Model Context Protocol で公開します。Claude Desktop や任意の MCP クライアントを &lt;code>ccvault mcp&lt;/code> に向ければ、会話アーカイブが他のエージェントから検索可能になります。&lt;/p>
&lt;p>&lt;strong>増分同期&lt;/strong> — ファイルの更新時刻を追跡するため、再同期は高速です。新規または変更されたセッションのみ処理されます。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>Claude Code はセッションを &lt;code>~/.claude/projects/&lt;/code> 配下に JSONL ファイルとして保存します。ccvault はこれらのファイルをパースしてターン（ロール、モデル、ツール使用状況、タイムスタンプ付き）を抽出し、FTS5 トリガーによる即時全文インデックスとともに SQLite に書き込みます。別の &lt;code>build-cache&lt;/code> コマンドが同じデータを DuckDB 分析用の Parquet にエクスポートします。&lt;/p></description></item><item><title>GSuite MCP</title><link>https://2389.ai/ja/research/products/gsuite-mcp/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/gsuite-mcp/</guid><description>&lt;p>AIはあなたのメールを読み、カレンダーを確認し、連絡先を管理し、タスクを追跡できる — ただしGoogleと話せる場合に限る。GSuite MCPはそのブリッジだ。ローカルでMCPサーバーとして動作し、MCP対応のクライアントに33のツールを通じて4つのGoogle APIへのアクセスを与える。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>brew install 2389-research/tap/gsuite-mcp
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>またはソースからビルド:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>go build ./cmd/gsuite-mcp
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="何をするのか">何をするのか&lt;/h2>
&lt;p>&lt;strong>Gmail&lt;/strong> — メッセージの読み取り、検索、送信、下書き作成、ラベル付け、ゴミ箱移動、削除。CC/BCCにも対応。&lt;/p>
&lt;p>&lt;strong>Calendar&lt;/strong> — イベントの一覧表示、閲覧、作成、更新、削除。&lt;/p>
&lt;p>&lt;strong>Contacts&lt;/strong> — People APIを使った検索、閲覧、作成、更新、削除。&lt;/p>
&lt;p>&lt;strong>Tasks&lt;/strong> — タスクリストと個別タスクの管理: 作成、更新、完了、削除。&lt;/p>
&lt;p>ツール群に加えて、よく使うワークフロー向けのプロンプトも同梱されている: 受信トレイのトリアージ、スレッドへの返信作成、スケジュール調整、保留中タスクの確認、連絡先の検索。ライブMCPリソース — 今日のカレンダー、未読メール、期限切れタスク — も公開されているので、AIはあなたが聞く前からコンテキストを持っている。&lt;/p>
&lt;p>マルチアカウント対応は最初から組み込まれている。仕事用と個人用のGoogleアカウントを接続して、どちらを使うかAIに伝えるだけ:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;&lt;strong>仕事用&lt;/strong>のメールで急ぎのものを確認して&amp;rdquo;
&amp;ldquo;今週の&lt;strong>個人&lt;/strong>カレンダーに何がある？&amp;rdquo;&lt;/p>&lt;/blockquote>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>GSuite MCPはローカルプロセスとして動作する。&lt;code>gsuite-mcp setup&lt;/code>で一度認証すると、Google OAuthのためにブラウザが開く。OAuthトークンはあなたのマシンの&lt;code>~/.local/share/gsuite-mcp/&lt;/code>に保存される。ツールを実行すると、サーバーは該当するGoogle APIを直接呼び出し、結果をMCPクライアントとそのモデルに返す。つまりあなたのGoogleアカウントのデータは、Google、あなたのマシン、そしてクライアントが使うモデルとの間を行き来する。ただし私たちが運用するサーバーを経由することはなく、サーバーは必要なOAuthスコープのみをリクエストする。&lt;/p>
&lt;p>Claude Codeへの追加はコマンド1本:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>claude mcp add gsuite gsuite-mcp -- mcp
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>または任意のMCP対応クライアントに設定を追加してもよい。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>OAuthクレデンシャル付きのGoogle Cloudプロジェクト（&lt;code>credentials.json&lt;/code>）&lt;/li>
&lt;li>そのプロジェクトでGmail、Calendar、People、Tasks APIが有効化されていること&lt;/li>
&lt;li>Go 1.21以上（ソースからビルドする場合のみ）&lt;/li>
&lt;/ul></description></item><item><title>Turtle</title><link>https://2389.ai/ja/research/products/turtle/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/turtle/</guid><description>&lt;p>Turtle は Duolingo が言語を教えるのと同じ方法でターミナルと tmux の基礎を教える TUI アプリです。短いセッション、即時フィードバック、そして継続させる進捗システム。起動してスキルを選び、実際のコマンドを入力すると、正解かどうか教えてくれます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>brew install 2389-research/tap/turtle
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>または Go で：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>go install github.com/2389-research/turtle/cmd/turtle@latest
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>その後は &lt;code>turtle&lt;/code> を実行するだけです。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>
&lt;p>&lt;strong>ゲーミフィケーションされた進捗。&lt;/strong> 正解で XP 獲得、連続日数でストリーク、習熟を証明するとアンロックされるレベル、連続正解でのコンボ倍率。進捗は &lt;code>~/.local/share/turtle/progress.json&lt;/code> に自動保存されます。&lt;/p>
&lt;p>&lt;strong>一口サイズのレッスン。&lt;/strong> 各セッションは2〜5分。&lt;code>pwd&lt;/code>、&lt;code>ls&lt;/code>、&lt;code>cd&lt;/code>、&lt;code>mkdir&lt;/code>、&lt;code>cp&lt;/code>、&lt;code>mv&lt;/code>、tmux のセッション、ペイン、ウィンドウを学びますが、一度に学ぶのは数個のコンセプトだけです。&lt;/p>
&lt;p>&lt;strong>間隔反復。&lt;/strong> SM-2 アルゴリズムが各コマンドをどれだけよく覚えているかに基づいてレビューをスケジュールします。苦手なスキルは早く戻ってきます。得意になったスキルは間隔が長くなります。&lt;/p>
&lt;p>&lt;strong>習熟度ベースのアンロック。&lt;/strong> 先にスキップはできません。レベル0はナビゲーション（&lt;code>pwd&lt;/code>、&lt;code>ls&lt;/code>、&lt;code>cd&lt;/code>、タブ補完）をカバーします。レベル2でファイル操作が導入されます。レベル3以上では tmux のセッション、ペイン、ウィンドウに移ります。各段階は前の段階を証明した後にアンロックされます。&lt;/p>
&lt;p>&lt;strong>選択肢ではなく実際のコマンド。&lt;/strong> Turtle は複数選択肢から選ぶのではなく、実際のコマンドを入力するよう求めます。テストの解き方ではなく、筋肉の記憶を鍛えます。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>&lt;a href="https://github.com/charmbracelet/bubbletea">Bubble Tea&lt;/a> と &lt;a href="https://github.com/charmbracelet/lipgloss">Lip Gloss&lt;/a> で構築されています。レッスンコンテンツは YAML のスキルツリーとして構造化されています。間隔反復エンジンは標準の SM-2 実装を使ってスキルごとの易しさ係数、間隔、次回レビュー日を追跡します。矢印キーまたは &lt;code>j&lt;/code>/&lt;code>k&lt;/code> でナビゲート、Enter で選択、&lt;code>q&lt;/code> で終了です。&lt;/p></description></item><item><title>Phonegang</title><link>https://2389.ai/ja/research/products/phonegang/</link><pubDate>Mon, 13 Oct 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/phonegang/</guid><description>&lt;p>Phonegang はUSBを介してAndroid端末をアクセシビリティツリーで操作します。スクリーンリーダーが使う構造化データと同じものです。ピクセルのマッチングや座標のハードコーディングではなく、テキスト、リソースID、コンテンツ説明で要素を見つけます。CLI、Pythonライブラリ、Claude Code から直接スマートフォンを操作できるMCPサーバーとして提供されます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>git clone https://github.com/2389-research/phonegang.git
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd phonegang
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>uv sync
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Python 3.10+、USBデバッグが有効なAndroid端末、PATHにADBが必要です。&lt;/p>
&lt;h2 id="できること">できること&lt;/h2>
&lt;p>&lt;strong>CLIコマンド&lt;/strong>で一般的な操作をカバーします: &lt;code>phonegang tap-text &amp;quot;Login&amp;quot;&lt;/code>、&lt;code>phonegang type &amp;quot;hello&amp;quot;&lt;/code>、&lt;code>phonegang screenshot&lt;/code>、&lt;code>phonegang scroll-to &amp;quot;Settings&amp;quot;&lt;/code>。生のUIツリーのダンプ、接続デバイスの一覧表示、アプリ管理、back/homeナビゲーションも可能です。&lt;/p>
&lt;p>&lt;strong>Python API&lt;/strong> で &lt;code>DeviceManager&lt;/code>、&lt;code>ADBDevice&lt;/code>、&lt;code>DeviceController&lt;/code> を使えます。デバイスに接続し、アクセシビリティツリーをリフレッシュし、テキスト/クラス/リソースID/カスタム述語で要素を検索し、タップ、入力、スクロール、または要素の出現を待機します。ツリーオブジェクトはチェーンクエリをサポートします — すべてのボタンを検索し、サイズでフィルタリングし、クリック可能なものを取得。&lt;/p>
&lt;p>&lt;strong>MCPサーバー&lt;/strong>で高レベルツール (&lt;code>get_screen&lt;/code>、&lt;code>tap&lt;/code>、&lt;code>type_text&lt;/code>、&lt;code>wait_for&lt;/code>) と低レベルツール (&lt;code>tap_xy&lt;/code>、&lt;code>swipe&lt;/code>、&lt;code>press_key&lt;/code>、&lt;code>get_ui_dump&lt;/code>) をMCP経由で公開します。Claude Codeの設定に追加すれば、自然言語でスマートフォンを操作できます。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>下から上へ4つのレイヤー:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>ADBレイヤー&lt;/strong> — &lt;code>adb-shell&lt;/code> をラップして生のデバイス通信 (シェルコマンド、ファイルプッシュ/プル、入力イベント) を処理&lt;/li>
&lt;li>&lt;strong>アクセシビリティツリーパーサー&lt;/strong> — &lt;code>uiautomator&lt;/code> XMLダンプを、バウンド、テキスト、リソースID、クリック状態を持つクエリ可能なPythonオブジェクトに変換&lt;/li>
&lt;li>&lt;strong>デバイスコントローラー&lt;/strong> — ADBと解析済みツリーを組み合わせて高レベル操作を実現 (find-and-tap、scroll-to-text、wait-for-element)&lt;/li>
&lt;li>&lt;strong>CLI / MCP&lt;/strong> — コントローラーを人間とAIエージェントに公開するClickベースのCLIとMCPサーバー&lt;/li>
&lt;/ol>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>Python 3.10+&lt;/li>
&lt;li>USBデバッグが有効なAndroid端末&lt;/li>
&lt;li>ADB (Android Debug Bridge) — Android SDKに付属またはスタンドアロンでインストール&lt;/li>
&lt;li>&lt;code>adb-shell&lt;/code>、&lt;code>click&lt;/code>、&lt;code>lxml&lt;/code> (&lt;code>uv sync&lt;/code> で自動インストール)&lt;/li>
&lt;/ul></description></item><item><title>Dot Viewer</title><link>https://2389.ai/ja/research/products/dot-viewer/</link><pubDate>Wed, 11 Mar 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/dot-viewer/</guid><description>&lt;p>Dot Viewer は Graphviz の &lt;code>.dot&lt;/code> および &lt;code>.gv&lt;/code> ファイルを扱う macOS アプリです。スプリットペインのインターフェイス — 左にエディター、右にレンダリングされた SVG — で、入力と同時にリアルタイムで変更が反映されます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;p>&lt;a href="https://github.com/2389-research/dot-viewer/releases">Releases ページ&lt;/a>から最新の DMG をダウンロードしてください。アプリケーションフォルダにドラッグして起動します。アプリは Developer ID でコード署名・公証済みです。&lt;/p>
&lt;p>macOS 14.0 以降が必要です。Sparkle による自動アップデート対応。&lt;/p>
&lt;p>ソースからビルドする場合:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>git clone https://github.com/2389-research/dot-viewer.git
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd dot-viewer
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>brew install xcodegen bison flex
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd dot-core &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> git clone --depth &lt;span style="color:#ae81ff">1&lt;/span> --branch 12.2.1 https://gitlab.com/graphviz/graphviz.git graphviz-vendor &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> cd ..
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>make
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="機能">機能&lt;/h2>
&lt;p>&lt;strong>ライブプレビュー。&lt;/strong> 編集内容は 300ms のデバウンスで SVG にレンダリングされます。ツールバーから dot、neato、fdp、circo、twopi、sfdp の6つの Graphviz レイアウトエンジンを切り替えられます。&lt;/p>
&lt;p>&lt;strong>双方向ナビゲーション。&lt;/strong> SVG プレビューのノードをクリックするとエディター内の定義にジャンプします。エディターのノード定義をクリックするとプレビューでハイライトされます。&lt;/p>
&lt;p>&lt;strong>エディター機能。&lt;/strong> DOT キーワード、文字列、コメント、属性、矢印演算子のシンタックスハイライト。ブラケットマッチング、現在行ハイライト付き行番号、標準的な元に戻す/やり直し。&lt;/p>
&lt;p>&lt;strong>タブ編集。&lt;/strong> 複数の &lt;code>.dot&lt;/code>/&lt;code>.gv&lt;/code> ファイルをネイティブ macOS ウィンドウタブとして開けます。プレビューペインで大きなグラフをズームおよびパンできます。&lt;/p></description></item><item><title>Summarize Meetings</title><link>https://2389.ai/ja/research/products/summarize-meetings/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/summarize-meetings/</guid><description>&lt;p>Claude Code プラグインです。ミーティング文字起こしのバックログ（主に Granola からのもの）を受け取り、接続された Obsidian ナレッジグラフへと変換します。1ヶ月分の文字起こしを指定すると、各ファイルを読み込み、サマリー化する価値があるものを判断し、並列エージェントを起動して処理し、wiki リンクで全体を繋ぎます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin marketplace add 2389-research/claude-plugins
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>/plugin install summarize-meetings
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>ボルト作業のコンテキストで「summarize meetings」「process meetings」「meeting summaries」と入力するとスキルが起動します。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="520"
 poster="/animations/summarize-meetings-poster.png"
 aria-label="会議の書き起こしを選別し、残ったものをエージェント群が並列処理し、相互リンクされたノートとして書き出すまでの流れ"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/summarize-meetings.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>処理は月次バッチで実行され、最新月から始まります。各バッチは同じサイクルをたどります。月の文字起こしをサイズ順にスキャン、不要なものをトリアージでスキップ、エージェントを波状に起動、レポートをまとめる。&lt;/p>
&lt;p>&lt;strong>トリアージ&lt;/strong>では、エージェントが起動する前にノイズを除去します。2K以下のファイルはおそらく空のスタブです。「Untitled」ファイルはほぼ何もありません。スケジューリングの断片、医療の予約、録音セットアップの会話、文字化けした録音はすべてスキップされ、何が除外されたかとその理由がログに記録されます。箇条書きだけの資金調達通話メモのようにまばらでも実際のメモはそのまま処理されます。&lt;/p>
&lt;p>&lt;strong>抽出&lt;/strong>では各文字起こしから7つのカテゴリを引き出します。役職と会社付きの人物、オーナー付きのアクションアイテム、プロジェクトのアイデア、ブログのアイデア、エンティティ間のナレッジグラフ接続、再利用可能なコンセプトとメンタルモデル、その他のアイデア。各サマリーには2〜4段落の物語形式のまとめが付き、実際にミーティングに参加した人が書いたような内容になります。&lt;/p>
&lt;p>&lt;strong>ボルトの更新&lt;/strong>が最も興味深い部分です。スキルはサマリーファイルを書くだけでなく、&lt;code>People/&lt;/code> に人物メモを作成・更新し、重複作成を防ぐために既存エントリとエイリアスを確認し、&lt;code>Concepts/&lt;/code> に独立したアトミックノートとして残す価値あるコンセプトを抽出し、&lt;code>Projects/&lt;/code> に言及されたプロジェクトのスタブを作成します。名前の解決では、既存のボルトメモと文字起こしの名前を照合して誤字やニックネームを処理します。&lt;/p>
&lt;p>&lt;strong>並列エージェント&lt;/strong>でスループットを高く保ちます。各波で10〜15のエージェントを文字起こし1つにつき1エージェントで起動します。大きなファイル（50K以上）は自動でチャンク分割されます。全エージェントが戻ったら、処理済み、スキップ済み、注目すべきハイライトを示すレポート表が生成されます。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;pre tabindex="0">&lt;code>月をスキャン → 疑わしいファイルをトリアージ → 10〜15エージェントの波を起動 →
戻りを待つ → 残りを起動 → 月次レポートをまとめる
&lt;/code>&lt;/pre>&lt;p>各エージェントが1つの文字起こしをエンドツーエンドで処理します。読み込み、7つのカテゴリを抽出、YAML フロントマター付きサマリーファイルを書く、人物メモとコンセプトメモを作成または更新、そして戻ります。メインプロセスが全体をまとめ、ミーティングごとの人物数、アクション数、コンセプト数を示すレポート表を作成します。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;p>&lt;code>Meetings/transcripts/&lt;/code> にミーティング文字起こしが入った Obsidian ボルト。Granola の文字起こしで最もよく機能しますが、他の形式も対応しています。ナレッジグラフ更新のためにボルトに &lt;code>People/&lt;/code>、&lt;code>Concepts/&lt;/code>、&lt;code>Projects/&lt;/code> ディレクトリがある必要があります。&lt;/p></description></item><item><title>Fresh Eyes Review</title><link>https://2389.ai/ja/research/products/fresh-eyes-review/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/fresh-eyes-review/</guid><description>&lt;p>コミット前またはPRオープン前に変更ファイルの構造化レビューを実行するClaude Codeプラグイン。テストはパスするが出荷すべきでないものを狙い打ちにする — SQLインジェクション、レースコンディション、オフバイワンエラー、要件と一致しないビジネスロジック。肝心な点はこうだ: パスするテストはコードが設計通り動くことを証明するが、fresh-eyes-reviewは設計自体が正しいことを証明する。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin marketplace add 2389-research/claude-plugins
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>/plugin install fresh-eyes-review
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>インストール後、「commit」「push」「done」「creating PR」など、いまにもリリースしそうな言葉を言うとスキルが自動起動する。&lt;/p>
&lt;h2 id="何をするのか">何をするのか&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="420"
 poster="/animations/fresh-eyes-review-poster.png"
 aria-label="変更が5つのチェックリストを通過する途中で3番目に引っかかり、修正とテスト再実行を経て出荷されるまでの流れ"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/fresh-eyes-review.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>レビューは毎回同じ手順で進む: レビュー対象のアナウンス、5つのチェックリストの実行、問題の修正、テストの再実行、結果の宣言。&lt;/p>
&lt;p>&lt;strong>セキュリティ脆弱性&lt;/strong> — 文字列連結によるSQLインジェクション、エスケープされていないユーザーコンテンツからのXSS、&lt;code>../&lt;/code>シーケンスによるパストラバーサル、サニタイズされていないシェル入力からのコマンドインジェクション、アクセス制御欠如によるIDOR、保護エンドポイントの認証バイパス。&lt;/p>
&lt;p>&lt;strong>ロジックエラー&lt;/strong> — 配列インデックスやページネーションのオフバイワンバグ、共有状態への並行アクセスにおけるレースコンディション、防御的チェックなしのドットチェーンにおけるnull/undefined、&lt;code>==&lt;/code>と&lt;code>===&lt;/code>の型強制、空のcatchブロックで握りつぶされたエラー。&lt;/p>
&lt;p>&lt;strong>ビジネスルール&lt;/strong> — 要件と一致しない計算（特に通貨の丸め）、AND/ORロジックの反転、空入力やゼロ値のエッジケース漏れ、センシティブ情報を露出するエラーメッセージ、オプションフィールドの意味不明なデフォルト値。&lt;/p>
&lt;p>&lt;strong>入力バリデーション&lt;/strong> — 型チェック、範囲境界、フォーマット検証。「ハッピーパスが動く」と「任意の入力で壊れない」の間にあるギャップ。&lt;/p>
&lt;p>&lt;strong>パフォーマンス&lt;/strong> — ループ内に潜むN+1クエリ、タイムアウト保護のない無制限イテレーション、クリーンアップされないイベントリスナーとストリーム、インデックスのないカラムでフィルタするクエリ。&lt;/p>
&lt;p>問題が見つかれば即座に修正し、テストがなければ追加して、次に進む前にスイートを再実行する。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>レビューはファイル数によって2〜5分かかる。1〜3ファイルなら2分。4〜10ファイルなら3〜4分。10ファイル超で最大5分。2分未満で終わったなら十分に徹底されていない。5分を超えたならスコープクリープしている。&lt;/p>
&lt;p>スキルは開始と終了を明示的にアナウンスする — 「4ファイルのfresh-eyes reviewを開始」「Fresh-eyes完了。2件の問題を発見・修正済み」— ゲートが実行されたこと、何を検出したかを常に把握できる。&lt;/p>
&lt;h2 id="テストを信頼するだけでは駄目な理由">テストを信頼するだけでは駄目な理由&lt;/h2>
&lt;p>テストはあなたが確認しようと思ったことを検証する。このスキルはあなたが思いつかなかったことを検出する。テストスイートがパスしているのに重大なセキュリティバグが共存することは、誰もが認めたくないほど頻繁に起きる。スキルはありがちな合理化 — 「テストは網羅的だ」「自信がある」「本番がブロックされている」— を受け付けない。それはまさにバグが逃げ出す条件だからだ。&lt;/p></description></item><item><title>Translator</title><link>https://2389.ai/ja/research/products/translator/</link><pubDate>Mon, 29 Sep 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/translator/</guid><description>&lt;p>Translator はテキストファイルとターゲット言語を受け取り、最大4つの AI パスでコンテンツを処理する CLI ツールです。初回翻訳、専門的な編集、批評、改訂を経て、ネイティブに書かれたような出力を生成します。マークダウンのフロントマター（Hugo、Jekyll）を変換してもメタデータを損なうことなく処理します。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>uv tool install git+https://github.com/2389-research/translator
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>その後：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>translator input.txt Spanish
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>これで同じディレクトリに &lt;code>input.es.txt&lt;/code> が作成されます。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>
&lt;p>&lt;strong>複数段階の翻訳パイプライン。&lt;/strong> デフォルトのフローは4つのパスで構成されます。生の翻訳、自然な表現にする編集パス、問題を指摘する批評、そして批評に対応する改訂。&lt;code>--no-edit&lt;/code> で編集パスを、&lt;code>--no-critique&lt;/code> で批評パスをスキップできます。&lt;code>--critique-loops&lt;/code> で批評ループを1〜5回に設定することもできます。&lt;/p>
&lt;p>&lt;strong>マークダウンのフロントマター保持。&lt;/strong> YAML フロントマターを持つファイルは翻訳前にメタデータが抽出され、翻訳後に再付与されます。&lt;code>date&lt;/code>、&lt;code>tags&lt;/code>、&lt;code>slug&lt;/code> などのフィールドはそのまま維持されます。&lt;/p>
&lt;p>&lt;strong>複数プロバイダー対応の AI。&lt;/strong> OpenAI と Anthropic の両モデルに対応。モデル名にプレフィックスを付けてプロバイダーを明示的に指定できます（&lt;code>openai:gpt-4o&lt;/code>、&lt;code>anthropic:claude-sonnet-4&lt;/code>）。自動検出も可能です。デフォルトは &lt;code>claude-opus-4.1&lt;/code> です。&lt;/p>
&lt;p>&lt;strong>実行前のコスト見積もり。&lt;/strong> &lt;code>--estimate-only&lt;/code> で API クレジットを消費する前にトークン数と推定コストを確認できます。実行後にはリアルタイムのトークン追跡が実際の使用量をレポートします。&lt;/p>
&lt;p>&lt;strong>ストリーミングターミナル UI。&lt;/strong> Rich を使って翻訳がリアルタイムでターミナルにストリーミングされます。長いドキュメントでもスピナーを眺めずに進捗を確認できます。&lt;/p>
&lt;p>&lt;strong>OpenAI または Anthropic がサポートする任意の言語。&lt;/strong> 言語名（「Japanese」「Portuguese」「Korean」）を渡すと、Translator が出力ファイル名に正しい ISO 639-1 コードを自動的にマッピングします。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>CLI はファイルを読み込み、フロントマターを抽出し、選択したモデルの制限に対してトークンを数え、コストを見積もります。そしてコンテンツを翻訳パイプラインに送ります。各段階は &lt;code>prompts.py&lt;/code> に保存された専用プロンプトを使います。プロセス全体は構造化された JSON としてログに記録され、完了後にログから物語形式のサマリーが生成されます。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>Python 3.13+&lt;/li>
&lt;li>少なくとも1つのプロバイダーの API キー：&lt;code>OPENAI_API_KEY&lt;/code> または &lt;code>ANTHROPIC_API_KEY&lt;/code>&lt;/li>
&lt;li>対話形式のセットアップには &lt;code>translator config&lt;/code> を実行&lt;/li>
&lt;/ul></description></item><item><title>Meme Rodeo</title><link>https://2389.ai/ja/research/products/meme-rodeo/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/meme-rodeo/</guid><description>&lt;p>Meme Rodeoはあなたの仲間とミームを共有するためのプライベート招待制プラットフォームだ。画像をアップロードすればシステムが残りを処理する — サムネイルの生成、説明文の作成、タグの抽出、ベクトル埋め込みの計算。ファイル名ではなくフィーリングでコレクションを検索できる。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;p>&lt;a href="https://meme.rodeo">meme.rodeo&lt;/a>にアクセスして招待コードを使う。インストール不要。&lt;/p>
&lt;h2 id="何をするのか">何をするのか&lt;/h2>
&lt;p>&lt;strong>アップロードと自動処理&lt;/strong> — 画像をドロップするとCloud Functionsが引き継ぐ。各アップロードにリサイズされたサムネイル、AIが生成した説明文、抽出されたタグ、Vertex AIからの1408次元ベクトル埋め込みが付与される。処理状態はファイルごとに追跡される（pending、processing、complete、failed）。&lt;/p>
&lt;p>&lt;strong>ベクトル類似度検索&lt;/strong> — キーワードではなく意味でミームを探す。検索クエリを埋め込みに変換し、Vertex AIのマルチモーダルベクトルのコサイン類似度でコレクションと照合する。タグベース検索とテキスト検索もフォールバックとして使える。&lt;/p>
&lt;p>&lt;strong>コンテンツモデレーション&lt;/strong> — すべてのアップロードがモデレーションパイプラインを通過する。管理者はタッチフレンドリーなコントロールとレスポンシブなテーブルを備えた専用モデレーションダッシュボードから承認、フラグ付け、削除を行う。&lt;/p>
&lt;p>&lt;strong>招待制アクセス&lt;/strong> — 新規ユーザーには招待コードが必要。管理者は管理パネルから招待リンクを生成・管理する。オープン登録はない。&lt;/p>
&lt;p>&lt;strong>APIアクセス&lt;/strong> — プログラムによるアップロード用にAPIキーを生成できる。MCPサーバーエンドポイントでAIエージェントがミームコレクションに直接アクセスできる。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>Firebase Cloud Functions v2がアップロード、処理、検索、モデレーション、招待管理を担う。Firestoreがファイルメタデータ、モデレーション状態、ユーザーデータを保存する。Firebase Storageが画像を保持する。フロントエンドはNuxt 3アプリ（Vue 3 + Tailwind CSS）で、mainへのプッシュ時にGitHub Actionsでデプロイされる。&lt;/p></description></item><item><title>Scenario Testing</title><link>https://2389.ai/ja/research/products/scenario-testing/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/scenario-testing/</guid><description>&lt;p>テストがパスしても実際のシステムが動かないなら、そのテストはあなたに嘘をついています。このプラグインは実依存関係でのテストを強制します — 実際のサービス、実際のデータ、モックなし。テスト作成・機能検証・モック言及のタイミングで自動トリガーし、システムが本当に動くことを証明するシナリオへと誘導します。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin marketplace add 2389-research/claude-plugins
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>/plugin install scenario-testing
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="できること">できること&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="500"
 poster="/animations/scenario-testing-poster.png"
 aria-label="モックとユニットのレーンは実サービスに届かず、シナリオのレーンだけが往復を完了する様子"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/scenario-testing.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>プラグインが強制するルールは1つ: 実依存関係でシナリオがパスするまで、機能は検証されない。&lt;/p>
&lt;p>Claude Code にテスト作成を依頼すると、このスキルが介入してシナリオアプローチへ誘導します。モックした依存関係を持つユニットテストではなく、&lt;code>.scratch/&lt;/code> ディレクトリに実サービスへアクセスするシナリオファイルを書きます — 実データベース (テストインスタンス)、実認証プロバイダー (サンドボックスモード)、実ファイルストレージ (テストバケット)。サンドボックスとテストモードはOKです。モックはダメです。&lt;/p>
&lt;p>&lt;strong>真実の階層&lt;/strong>が哲学を示します:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>シナリオテスト&lt;/strong> (実システム、実データ) — 真実&lt;/li>
&lt;li>&lt;strong>ユニットテスト&lt;/strong> (独立したロジック) — 有用だが証明にならない&lt;/li>
&lt;li>&lt;strong>モック&lt;/strong> — バグを隠す嘘&lt;/li>
&lt;/ol>
&lt;p>モックテストは正しい引数で正しい関数を呼び出したことを教えてくれます。シナリオテストは物事が実際に動いていることを教えてくれます。&lt;/p>
&lt;p>&lt;strong>各シナリオはスタンドアロンで実行。&lt;/strong> シナリオ間の順序依存なし。各シナリオが自分でテストデータをセットアップし、実サービスで実行し、後片付けをします。並列実行でもCI/CDで脆弱な順序問題は起きません。&lt;/p>
&lt;p>&lt;strong>スキルが拒否する言い訳:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>「ちょっとしたユニットテストだけ…」 — ユニットテストは機能を検証しない&lt;/li>
&lt;li>「エンドツーエンドが必要なほど複雑じゃない…」 — インテグレーションはシンプルなものを壊す&lt;/li>
&lt;li>「速度のためにモックする…」 — テストが嘘をつくなら速度は意味がない&lt;/li>
&lt;/ul>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>2つの成果物、2つのライフサイクル。&lt;/p>
&lt;p>&lt;strong>&lt;code>.scratch/&lt;/code> ファイル&lt;/strong>は一時的なシナリオスクリプトです。タスクに合った言語で書きます。&lt;code>.scratch/&lt;/code> に置かれ、gitignoreされます — コミットされることはありません。これがあなたの実際のテストで、実サービスに当たって動くことを証明するものです。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># .scratch/test-auth.py&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">def&lt;/span> &lt;span style="color:#a6e22e">test_user_can_register_and_login&lt;/span>():
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> user &lt;span style="color:#f92672">=&lt;/span> register_user(email&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;test@example.com&amp;#34;&lt;/span>, password&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;s3cure&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">assert&lt;/span> user&lt;span style="color:#f92672">.&lt;/span>id &lt;span style="color:#f92672">is&lt;/span> &lt;span style="color:#f92672">not&lt;/span> &lt;span style="color:#66d9ef">None&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> token &lt;span style="color:#f92672">=&lt;/span> login(email&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;test@example.com&amp;#34;&lt;/span>, password&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;s3cure&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">assert&lt;/span> token &lt;span style="color:#f92672">is&lt;/span> &lt;span style="color:#f92672">not&lt;/span> &lt;span style="color:#66d9ef">None&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> delete_user(user&lt;span style="color:#f92672">.&lt;/span>id) &lt;span style="color:#75715e"># cleanup&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>&lt;code>scenarios.jsonl&lt;/code>&lt;/strong> は永続的な記録です。シナリオがパスしてパターンを残す価値があると判断したら、1行のJSONエントリとして抽出します。このファイルはコミットされます — 使い捨てのテストコードを含まずに何が動くべきかを記述します。&lt;/p></description></item><item><title>Test Kitchen</title><link>https://2389.ai/ja/research/products/test-kitchen/</link><pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/test-kitchen/</guid><description>&lt;p>どのアプローチが最善か分からないときは、すべて構築しましょう。Test Kitchen は複数のバリアントを並列に実装し、それぞれ独立した git ワークツリーと独立したエージェントで、テスト結果と構造化された採点フレームワークを使って勝者を選びます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin marketplace add 2389-research/claude-plugins
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>/plugin install test-kitchen
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Test Kitchen は複数の superpowers スキル（brainstorming、writing-plans、dispatching-parallel-agents など）をオーケストレートし、インストールされていないものがあっても正常に動作します。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="500"
 poster="/animations/test-kitchen-poster.png"
 aria-label="入口ゲートでおまかせを選び、3つの独立したワークツリーが各自の計画で実装し、出口ゲートが採点する様子"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/test-kitchen.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>Test Kitchen はワークフローに2つのゲートスキルを追加します。&lt;/p>
&lt;p>&lt;strong>Omakase-off&lt;/strong> は入口ゲートです。「通知システムを構築して」「CLI ツールを作って」「認証を追加して」といった構築依頼で起動します。2つの選択肢があります。設計を一緒にブレインストーミングするか、おまかせ（シェフのおすすめ）で3〜5つのアーキテクチャアプローチを並列に実装してテストで勝者を決めるかです。&lt;/p>
&lt;p>ブレインストーミングを選んだ場合、omakase-off はアーキテクチャの優柔不断を監視します。2つ以上の設計判断で「どちらでも」「どっちでもいい」と言ったとき、早まった選択をするのではなくその代替案を並列に探索することを提案します。&lt;/p>
&lt;p>&lt;strong>Cookoff&lt;/strong> は出口ゲートです。設計が完了してコードを書く準備ができたときに起動します。複数のエージェントが同じ設計ドキュメントを読みますが、それぞれ独自の実装計画を作ります。共有された計画がないため、アプローチに本物の違いが生まれます。各エージェントは独立したワークツリーで構築します。完了後、judge スキルが5つの基準（目的への適合性、正当化された複雑さ、可読性、堅牢性、保守性）で全実装を採点します。&lt;/p>
&lt;p>両方のゲートには単一エージェントまたはローカル実装のオプションもあります。間違いのコストが3つのプロトタイプを作って2つを捨てるコストより高いときに、並列パスが役立ちます。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>並列実行のライフサイクル：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>ワークツリーのセットアップ&lt;/strong> — 各バリアントが独自の git ワークツリーとブランチを取得（&lt;code>feature/omakase/variant-slug&lt;/code> または &lt;code>feature/cookoff/impl-N&lt;/code>）&lt;/li>
&lt;li>&lt;strong>並列起動&lt;/strong> — 全エージェントを1つのメッセージで起動し真の並列性を確保&lt;/li>
&lt;li>&lt;strong>独立した計画&lt;/strong> — 各エージェントが共通の設計ドキュメントから独自の実装計画を書く&lt;/li>
&lt;li>&lt;strong>TDD 実装&lt;/strong> — エージェントが独立したワークツリーでレッド・グリーン・リファクタリングを実践&lt;/li>
&lt;li>&lt;strong>シナリオテスト&lt;/strong> — 同じテストシナリオを全実装に対して実行&lt;/li>
&lt;li>&lt;strong>Fresh-eyes レビュー&lt;/strong> — 採点前に生存したものをセキュリティとロジックのチェック&lt;/li>
&lt;li>&lt;strong>Judge の採点&lt;/strong> — 整数スコアによる5基準のワークシート、適合性のギャップと重大な欠陥にはハードゲート&lt;/li>
&lt;li>&lt;strong>クリーンアップ&lt;/strong> — ユーザーが採点結果から勝者を選び、敗者のワークツリーとブランチを削除&lt;/li>
&lt;/ol>
&lt;p>結果は &lt;code>docs/plans/&amp;lt;feature&amp;gt;/cookoff/result.md&lt;/code> に保存され、何を試みてなぜ勝者が選ばれたかの記録が残ります。&lt;/p></description></item><item><title>Speed-Run</title><link>https://2389.ai/ja/research/products/speed-run/</link><pubDate>Mon, 09 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/speed-run/</guid><description>&lt;p>コードの大半はパターンの踏襲であり、推論を必要とするものではありません。Speed-Run はその仕事を分割します。Cerebras が予測可能な部分を毎秒約2000トークンの速度で生成し、Claude がアーキテクチャの判断と外科的な修正を担当します。結果として、同じ品質のコードが Claude トークン約60%削減、ファイルあたりの生成速度20倍で得られます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin marketplace add 2389-research/claude-plugins
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>/plugin install speed-run
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;a href="https://cloud.cerebras.ai">cloud.cerebras.ai&lt;/a> から無料の Cerebras API キーを取得し、&lt;code>~/.claude/settings.json&lt;/code> に追加してください。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;env&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;CEREBRAS_API_KEY&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;your-key-here&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>キーを設定したら Claude Code を再起動してください。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="500"
 poster="/animations/speed-run-poster.png"
 aria-label="1つの設計文書から3つの実装案を並列生成し、採点して1つの勝者に絞り込むまでの流れ"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/speed-run.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>Speed-Run には3つのモードがあり、それぞれ異なる状況に対応しています。&lt;/p>
&lt;p>&lt;strong>Turbo&lt;/strong> は最もシンプルなモードです。1タスク、1回の生成。データ型、API の形式、アルゴリズムの手順、制約を含むコントラクトプロンプトを書くと、Cerebras が1秒以内にコードを生成します。Claude がテストを実行し、問題があれば外科的に修正します。アルゴリズムコード、ボイラープレート、データ変換、複数ファイルのスキャフォールディングに最適です。&lt;/p>
&lt;p>&lt;strong>Showdown&lt;/strong> は複数のエージェントが同じ設計ドキュメントに対して並列で実行されます。各エージェントは仕様を読み、独自の実装計画を作成し、Cerebras 経由でコードを生成し、テストを独立して実行します。judge スキルが5つの基準（適合性、複雑さ、可読性、堅牢性、保守性）で全バリアントを採点し、勝者を選びます。エージェントが共通の設計から独自の計画を作成するため、本物の多様性が生まれます。&lt;/p>
&lt;p>&lt;strong>Any-Percent&lt;/strong> は適切なアプローチが分からない場合に使います。同じ仕様を異なる方法で実装するのではなく、各バリアントが根本的に異なる戦略を試みます。イベント駆動対ポーリング、SQLite 対 Postgres など、アーキテクチャの分岐が対象です。同じ採点フレームワークで勝者を選びますが、今度は実装の違いではなくトレードオフを比較します。&lt;/p>
&lt;p>全ての並列モードは、すべてのエージェントを1つのメッセージで起動します。逐次的な起動では意味がありません。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>どのモードでも共通のパイプライン：&lt;/p>
&lt;ol>
&lt;li>Claude が仕様を書く（コントラクトプロンプトまたは設計ドキュメント）&lt;/li>
&lt;li>Cerebras が初回コードを生成（ファイルあたり約0.5秒、80〜95%の正確性）&lt;/li>
&lt;li>Claude が出力に対してテストを実行&lt;/li>
&lt;li>テストが失敗した場合、Claude が外科的に修正（最初からの再生成は行わない）&lt;/li>
&lt;li>並列モードの場合：judge が全バリアントを採点し、勝者を昇格させ、敗者を削除&lt;/li>
&lt;/ol>
&lt;p>バンドルされた MCP サーバー（&lt;code>@2389/speed-run-mcp&lt;/code>）が Cerebras との通信を担います。生成された出力からファイルブロックを解析してディスクに書き込みます。このサーバーはプラグインのインストール時に自動登録されます。&lt;/p></description></item><item><title>バイナリリバースエンジニアリング</title><link>https://2389.ai/ja/research/products/binary-re/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/binary-re/</guid><description>&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="460"
 poster="/animations/binary-re-poster.png"
 aria-label="バイナリを走査して関数構造を解き、実行を追跡し、確定した事実と仮説に切り分けるまでの流れ"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/binary-re.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>ELF バイナリのリバースエンジニアリング用プラグイン。
解析対象と「疑っている挙動」をプラグインに伝えると、各種ツールを連携させて解析の全体像を可視化します。
対応アーキテクチャ: ARM64、ARMv7、x86_64、MIPS。 静的解析には radare2 と
Ghidra、動的解析には QEMU のユーザモード・エミュレーションと GDB を使用。
破壊的な操作を行う前に、必ずユーザーに確認を求めます。 ## インストール ```bash
/plugin marketplace add 2389-research/claude-plugins /plugin install binary-re&lt;/p>
&lt;pre tabindex="0">&lt;code class="language-##" data-lang="##">Ghidra、frida-tools クロスコンパイル時: ARM 用 sysroots ## 主な用途
ファームウェアのティアダウン（分解）解析、プロトコルマッピング、脆弱性リサーチ、IoT／ロボティクス機器内部の調査など。
本プラグインは仮説駆動型で、バイナリが何をしているかというあなたの仮説を Claude
が利用可能なツールで検証・反証します。
&lt;/code>&lt;/pre></description></item><item><title>Pulse</title><link>https://2389.ai/ja/research/products/pulse/</link><pubDate>Sat, 07 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/pulse/</guid><description>&lt;p>Pulse はAIエージェントに通常持たない2つのものを与えるMCPサーバーです: プライベートジャーナルとソーシャルフィード。単一のGoバイナリとして動作し、すべてをローカルのmarkdownファイルとして保存し、エージェントがジャーナルエントリを書き込んで意味的に検索し、共有ソーシャルタイムラインに投稿できる7つのMCPツールを公開します。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>go install github.com/2389-research/pulse/cmd/pulse@latest
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>MCPサーバーとして起動:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>pulse mcp
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="できること">できること&lt;/h2>
&lt;p>&lt;strong>デュアルルートジャーナリング。&lt;/strong> エージェントは &lt;code>process_thoughts&lt;/code> で構造化されたジャーナルエントリを書き込みます。エントリは2箇所に保存されます: プロジェクト固有のメモ用のプロジェクトローカル &lt;code>.private-journal/&lt;/code> ディレクトリ、プロジェクト横断的な省察用のユーザーグローバル &lt;code>~/.private-journal/&lt;/code>。各エントリはYAMLフロントマターを持つmarkdownファイルです。&lt;/p>
&lt;p>&lt;strong>意味検索。&lt;/strong> &lt;code>search_journal&lt;/code> はキーワードではなく意味でエントリをマッチングします。Pulse は fastembed-go を使ってONNXエンベディングをローカル実行します — APIコールなし、データはマシンの外に出ません。エンベディングが使えない場合は部分文字列マッチングにフォールバックします。&lt;/p>
&lt;p>&lt;strong>ソーシャルフィード。&lt;/strong> &lt;code>login&lt;/code> でエージェントのアイデンティティを設定し、&lt;code>create_post&lt;/code> で &lt;code>~/.local/share/pulse/social/&lt;/code> に保存されたローカルタイムラインに書き込み、&lt;code>read_posts&lt;/code> でフィルタリング付きのフィードを取得します。設定時に複数のエージェント (または人間) がフィードを共有できるようリモートAPIへ投稿を同期します。&lt;/p>
&lt;p>&lt;strong>読み取りと一覧。&lt;/strong> &lt;code>read_journal_entry&lt;/code> はパスで特定のエントリを取得します。&lt;code>list_recent_entries&lt;/code> はプロジェクトまたはユーザールートにスコープされた日付順のエントリを返します。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>Pulse はMCPプロトコルレイヤー (go-sdk経由) と2つのストレージバックエンドの間に位置します。ジャーナルストレージはmdstoreでアトミック書き込み、ファイルロック、フロントマター解析を処理します。ソーシャルストレージはメタデータ付きの個別markdownファイルとして投稿を書き込みます。&lt;/p>
&lt;p>MCPサーバーは起動時に7つのツールをすべて登録します。エージェントは標準のMCPツール呼び出しで呼び出します。ローカル利用にHTTPサーバーは不要です — Pulseはstdio通信します。&lt;/p>
&lt;p>設定は &lt;code>~/.config/pulse/config.yaml&lt;/code> にあります。リモート同期を有効にするには &lt;code>social&lt;/code> ブロックに &lt;code>api_key&lt;/code>、&lt;code>team_id&lt;/code>、&lt;code>api_url&lt;/code> を設定します。ジャーナルパスは設定可能ですが、デフォルトはデュアルルートレイアウトです。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>Go 1.24+ (ソースからビルドする場合)&lt;/li>
&lt;li>リモートソーシャル同期の場合: &lt;code>~/.config/pulse/config.yaml&lt;/code> にAPIクレデンシャル&lt;/li>
&lt;li>エンベディングモデルは初回意味検索時に &lt;code>~/.local/share/pulse/models/&lt;/code> に自動ダウンロード&lt;/li>
&lt;/ul></description></item><item><title>Building Multi-Agent Systems</title><link>https://2389.ai/ja/research/products/building-multiagent-systems/</link><pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/building-multiagent-systems/</guid><description>&lt;p>複数の AI エージェントを互いに干渉させずに協調させるのが難しい部分です。このスキルはアーキテクチャパターンと協調の仕組みを提供します — スキーマファーストのツール、型付きコントラクト、パーミッション継承、そしてスケールしても破綻しないライフサイクル管理です。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin marketplace add 2389-research/claude-plugins
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>/plugin install building-multiagent-systems
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="機能">機能&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="460"
 poster="/animations/building-multiagent-systems-poster.png"
 aria-label="オーケストレーターが4体のエージェントを一度に送り出し、全ての結果を集約してから完了するまでの流れ"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/building-multiagent-systems.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>コードを書く前に、スキルは出発点、スケール、状態要件、制約に関する6つの調査質問を尋ねます。回答に基づいて、7つの協調パターンのうち1つを推奨します:&lt;/p>
&lt;p>&lt;strong>ファンアウト/ファンイン&lt;/strong> — 並列化しやすい作業向け。レビュアー、アナライザー、スクレイパーを生成して結果を収集します。&lt;strong>シーケンシャルパイプライン&lt;/strong> — 各ステージが前のステージに依存する場合。&lt;strong>再帰的委任&lt;/strong> — 深さ制限付きの階層的タスク分解。&lt;strong>ワークスティーリングキュー&lt;/strong> — 1,000タスク以上のバッチ処理。&lt;strong>マップリデュース&lt;/strong> — コストを抑えるため、マップパスには安価なモデル、リデュースには高性能モデルを使用。&lt;strong>ピアコラボレーション&lt;/strong> — LLM評議会による多様な視点が必要な場合。&lt;strong>MAKER&lt;/strong> — 医療や金融処理など、数百万ステップでエラーゼロが求められる領域での実行。&lt;/p>
&lt;p>各エージェントは4層アーキテクチャに従います: 推論（LLM）、オーケストレーション（ポリシーとルーティング）、ツールバス（スキーマ検証と実行）、決定論的アダプター（ファイルI/O、API、シェル）。LLM層より下はすべて決定論的で独立してテスト可能です。&lt;/p>
&lt;p>スキルは専門エージェントを呼び出し可能なツールとしてラップする方法（サブエージェントとしてのツールパターン）、エージェントが自身のコードを変更できる場合の自己変更安全性、サブエージェントがハードコードされた知識なしに利用可能なものを探せるスキーマファーストのツール設計もカバーします。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>パーミッション継承によりサブエージェントが権限を昇格させることを防ぎます — 子エージェントは親パーミッションのサブセットを受け取ります。カスケード停止によりオーファンエージェントを防ぎます: 子を先に停止し、次に自身を停止し、作業をキャンセルしてイベントをフラッシュします。ハートビート監視が親のクラッシュ後にオーファンを検出します。チェックポイントはツール呼び出し10回ごと、1.00ドル消費ごと、または5分ごとに状態を保存します。コスト追跡は階層型IDを使ってエージェント階層全体で集計されます。&lt;/p></description></item><item><title>Documentation Audit</title><link>https://2389.ai/ja/research/products/documentation-audit/</link><pubDate>Mon, 09 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/documentation-audit/</guid><description>&lt;p>ドキュメントは一方を言い、コードは別のことをする。Documentation Audit は Claude Code プラグインで、マークダウンファイルからすべての検証可能なクレームを抽出し、コードベースに対してひとつひとつ確認します。存在しないファイルへの参照、誤ったデフォルト値、不足している環境変数、古くなった CLI フラグを検出し、手作業では見落とすパターンを表面化するために発見内容を拡張します。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin install documentation-audit@2389-research
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>その後、「audit docs」、「verify documentation」、「check if docs are accurate」で呼び出してください。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="480"
 poster="/animations/documentation-audit-poster.png"
 aria-label="ドキュメントの記述をコードベースと照合し、誤りが1件見つかると同種のパターンを全体から探し、記載漏れのコードを洗い出すまでの流れ"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/documentation-audit.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>プラグインはプロジェクトのユーザー向けドキュメントに対して2パス監査を実行します。&lt;/p>
&lt;p>&lt;strong>パス1: 直接抽出。&lt;/strong> 各マークダウンファイルをスキャンしてクレームを抽出します — ファイルパス、設定のデフォルト値、環境変数、CLI コマンド、動作に関する記述。各クレームをコードベースに対して検証し、TRUE、FALSE、または NEEDS_REVIEW の評決を付けます。抽出は並列実行されます（ドキュメントごとに1エージェント）のでドキュメント量が多くてもボトルネックになりません。&lt;/p>
&lt;p>&lt;strong>パス2A: パターン拡張。&lt;/strong> パス1で偽と判定されたクレームをタイプ別にグループ化します。プラグインはすべてのドキュメントで類似パターンを検索します。存在しないスクリプト参照が1つ見つかれば、すべてのスクリプト参照を探します。タイマーの間隔が1つ間違っていれば、すべての間隔クレームを確認します。この2番目のパスは1回のスキャンで見落とす問題をさらに10〜20%検出します。&lt;/p>
&lt;p>&lt;strong>パス2B: ギャップ検出。&lt;/strong> コードベースに実際にあるものとドキュメント化されているものを比較します。存在するが記載されていないスクリプトと、削除されたファイルを参照しているドキュメントを見つけます。&lt;/p>
&lt;p>&lt;strong>クレームタイプと検証レベル:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>自動検証:&lt;/strong> ファイル参照、設定のデフォルト値、環境変数、CLI フラグ&lt;/li>
&lt;li>&lt;strong>半自動:&lt;/strong> シンボル参照、バージョン要件&lt;/li>
&lt;li>&lt;strong>人間によるレビュー:&lt;/strong> 動作に関するクレーム（「2分ごとに実行」）、制約&lt;/li>
&lt;/ul>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>プラグインは隔離された Plan エージェントコンテキスト内で実行され、抽出アーティファクトをメイン会話から分離します。各ドキュメントは抽出用の並列 Task エージェントを得ます。結果は &lt;code>docs/audits/AUDIT_REPORT_YYYY-MM-DD.md&lt;/code> に単一の監査レポートとして集約されます。&lt;/p>
&lt;p>レポートには精度率を含むエグゼクティブサマリー、行番号と修正提案付きの偽クレーム一覧、根本原因を示すパターン分析（例：「同じリファクタリングに由来する9つの存在しないスクリプト」）、自動検証できないクレームの人間レビューキューが含まれます。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>プラグインサポートを持つ Claude Code&lt;/li>
&lt;li>監査するマークダウンドキュメントを含むプロジェクト&lt;/li>
&lt;/ul></description></item><item><title>Tracker</title><link>https://2389.ai/ja/research/products/tracker/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/tracker/</guid><description>&lt;p>Tracker は strongDM の &lt;a href="https://github.com/strongdm/attractor">Attractor&lt;/a> フレームワークの Go 実装です。AI 駆動のソフトウェアファクトリーを構築するための3層システムです。ワークフローを &lt;a href="https://dippin.org/">Dippin&lt;/a> の &lt;code>.dip&lt;/code> ファイルとして定義し、各ノードがステップとなる有向非巡回グラフとして、Tracker が依存順に実行します。人間が関与するゲート、LLM 駆動のノード、自動チェックポイント、リトライロジックに対応しています。bubbletea の TUI ダッシュボードでパイプラインの進捗をリアルタイムに確認できます。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>brew install 2389-research/tap/tracker
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Go でも：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>go install github.com/2389-research/tracker/cmd/tracker@latest
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>パイプラインの実行：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>tracker pipeline.dip
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>中断・一時停止した実行をチェックポイントから再開：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>tracker -r &amp;lt;run-id&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>以前 Tracker を試して何かにつまずいたなら、&lt;code>tracker doctor&lt;/code> が現状を教えてくれます。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>
&lt;p>&lt;strong>&lt;code>.dip&lt;/code> ファイルからの DAG 実行。&lt;/strong> &lt;a href="https://dippin.org/">Dippin&lt;/a> の &lt;code>.dip&lt;/code> ファイルとしてパイプラインを定義します。ノードがステップを表し、エッジが依存関係を表します。Tracker はグラフをトポロジカルソートして正しい順序でノードを実行し、可能な場合は独立したブランチを並列で実行します。&lt;/p>
&lt;p>&lt;strong>人間のゲートノード。&lt;/strong> 任意のノードを人間のゲートとしてマークすると、Tracker は実行を一時停止して選択肢またはフリーフォームのプロンプトを提示します。TUI モードではキーボードナビゲーション付きのスクロール可能なモーダルダイアログとして表示されます。コンソールモードでは stdin/stdout にフォールバックします。&lt;/p>
&lt;p>&lt;strong>LLM 駆動のノード。&lt;/strong> ノードはパイプラインのコンテキストをプロンプトに自動注入して言語モデルを呼び出せます。トレースのイントロスペクションにより、TUI ダッシュボードとコンソール出力の両方でトークン数、レイテンシ、プロンプト/補完テキストを確認できます。&lt;/p>
&lt;p>&lt;strong>自動チェックポイント。&lt;/strong> Tracker はノードの遷移ごとにパイプラインの状態を &lt;code>.tracker/runs/&amp;lt;runID&amp;gt;/checkpoint.json&lt;/code> に保存します。実行が失敗または中断された場合、最後のチェックポイントから再開できます。アーティファクトディレクトリが存在する場合、チェックポイントはデフォルトで有効になります。手動の設定は不要です。&lt;/p>
&lt;p>&lt;strong>バックオフ付きリトライ。&lt;/strong> 失敗したノードは設定可能なバックオフで自動的に再試行されます。チェックポイントはリトライ回数を追跡するため、再開した実行は中断した場所から再開します。&lt;/p>
&lt;p>&lt;strong>TUI ダッシュボード。&lt;/strong> bubbletea ベースのターミナル UI がライブのノードリストとステータスインジケーター、LLM トレースの詳細、人間のゲート用のスクロール可能なモーダルプロンプトを表示します。ヘッドレス環境や CI 環境では &lt;code>--no-tui&lt;/code> で無効化できます。&lt;/p></description></item><item><title>Dippin</title><link>https://2389.ai/ja/research/products/dippin-lang/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/dippin-lang/</guid><description>&lt;p>Dippin は AI パイプラインワークフローを記述するためのドメイン固有言語です。&lt;a href="https://2389.ai/ja/research/products/tracker/">Tracker&lt;/a> パイプラインのオーサリング形式として Graphviz DOT を置き換え、プロンプト、シェルスクリプト、モデル設定、条件分岐に専用の構文を与えます。すべてをエスケープされた文字列属性に詰め込む必要はありません。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>go install github.com/2389-research/dippin-lang/cmd/dippin@latest
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>確認:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>dippin help
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>既存の DOT パイプラインを移行:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>dippin migrate --output pipeline.dip pipeline.dot
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dippin validate-migration pipeline.dot pipeline.dip
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="機能">機能&lt;/h2>
&lt;p>&lt;strong>パイプラインオーサリング用の本格的な言語。&lt;/strong> ワークフローはインデントベースの構造を持つ &lt;code>.dip&lt;/code> ファイルです。エージェントノードには型付きの &lt;code>model:&lt;/code> と &lt;code>provider:&lt;/code> フィールドがあります。プロンプトとシェルコマンドは複数行ブロックで記述でき、エスケープや引用符は不要です。条件は不透明な文字列属性の代わりに &lt;code>when ctx.outcome == &amp;quot;fail&amp;quot;&lt;/code> で書けます。&lt;/p>
&lt;p>&lt;strong>39の診断コード。&lt;/strong> バリデーションは構造的な問題（開始ノードの欠如、到達不能ノード、重複エッジ）とセマンティックな問題（不明なモデル名、制限のない再試行、タイムアウトのないツールコマンド）を検出します。エラーメッセージは Rust コンパイラの慣例に従います — ソースの場所、説明、修正の提案。&lt;/p>
&lt;p>&lt;strong>DOT からの移行。&lt;/strong> &lt;code>dippin migrate&lt;/code> は既存の DOT パイプラインを &lt;code>.dip&lt;/code> 形式に変換します。&lt;code>dippin validate-migration&lt;/code> は元ファイルと変換後のファイルの構造的同等性を確認し、翻訳で何も失われないようにします。&lt;/p>
&lt;p>&lt;strong>分析ツール。&lt;/strong> &lt;code>dippin simulate&lt;/code> は LLM を呼び出さずに実行グラフをドライランします。&lt;code>dippin cost&lt;/code> はモデルとプロバイダー別の実行あたりコストを見積もります。&lt;code>dippin coverage&lt;/code> はエッジの到達可能性を確認します。&lt;code>dippin doctor&lt;/code> はリント、カバレッジ、コストを文字評価にまとめます。&lt;code>dippin unused&lt;/code> はデッドブランチノードを見つけてコストの無駄を見積もります。&lt;/p></description></item><item><title>dotpowers</title><link>https://2389.ai/ja/research/products/dotpowers/</link><pubDate>Wed, 11 Mar 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/dotpowers/</guid><description>&lt;p>&lt;code>echo &amp;quot;a dvd bouncing tui&amp;quot; &amp;gt; idea.md&lt;/code> と書いて &lt;code>dotpowers.dot&lt;/code> にランナーを向ければ、テスト済みでレビュー済みのプロジェクトがgitブランチに仕上がって戻ってくる。DOTファイル1本、約1300行。&lt;a href="https://github.com/obra/superpowers">superpowers&lt;/a>開発メソドロジーをパイプライングラフとしてエンコードしたもので、ブレインストーミング、計画立案、TDD実装、マルチモデルレビュー、リリース判断をすべて失敗ハンドリングとヒューマンゲートで結線している。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>git clone https://github.com/2389-research/dotpowers.git
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;a href="https://github.com/strongdm/attractor">attractor&lt;/a>準拠のDOTランナーで実行する:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>mkdir my-project &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> cd my-project
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>echo &lt;span style="color:#e6db74">&amp;#34;a terminal dashboard that shows system metrics&amp;#34;&lt;/span> &amp;gt; idea.md
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git init
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># tracker, mammoth, smasher — whatever you have&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>tracker /path/to/dotpowers.dot --tui
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="何をするのか">何をするのか&lt;/h2>
&lt;p>&lt;strong>アイデアからリリース判断まで6フェーズ。&lt;/strong> Brainstormはアイデアを読んで質問を一つずつ行い（YAGNIを強制）、2〜3種類のアーキテクチャアプローチを含む設計ブリーフを書き上げる。PlanはGPT-5.2がTDDプランを下書きし、シェルスクリプトが曖昧なステップを弾き、Opusがブリーフに照らしてすべての要件を監査する（最大5回繰り返し）。Setupはフィーチャーブランチを作りdepsをインストール。Implementはタスクごとにこの繰り返し: 失敗するテスト、最小限のコード、仕様レビュー（Opus）、品質レビュー（GPT-5.4）、コミット。Reviewは3つのモデルが独立してプロジェクト全体をレビューし、互いに相手の2件をクロス批評（6件）、Opusが最終判断を下す。Shipではローカルマージ、PRのプッシュ、ブランチ保持、破棄のどれかを選ぶ。&lt;/p>
&lt;p>&lt;strong>4つのモデル、それぞれ得意なことに集中。&lt;/strong> Opus 4.6が仕様監査、合意形成、デバッグを担う。GPT-5.4がコードを書く。GPT-5.2がプランを下書き・修正する。Gemini 3.5 Flashがレビューで3番目の意見を出す。&lt;/p>
&lt;p>&lt;strong>段階的な失敗ハンドリング。&lt;/strong> 何かが壊れたとき、パイプラインはあなたに聞く前に4つのことを試みる: ノードを再試行（最大2回）、根本原因分析を含むデバッグ調査の実行、修正されたアプローチでのタスク再計画、そしてヒューマンゲートへのエスカレーション。ループ上限でトークンの浪費を防ぐ — プラン検証は5回、実装レビューはタスクごとに5回、最終修正は2サイクルまで。&lt;/p>
&lt;p>&lt;strong>ヒューマン・イン・ザ・ループ、ヒューマン・オン・ザ・フックではない。&lt;/strong> あなたは設計ブリーフを承認する。3タスク完了ごとにバッチチェックポイントをレビューする。リリース方法を決める。実装側が質問があれば一時停止して聞く。それ以外のゲート間はパイプラインがヘッドレスで動く。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>パイプラインは単一のGraphviz DOTファイルだ。各ノードはLLMプロンプト（CSSライクなスタイルシートでモデルを割り当て）、シェルスクリプト（フォーマット検証、カウンター管理、ビルド検証）、またはヒューマンゲート（設計承認、バッチレビュー、リリース判断）のいずれか。エッジには成功・失敗のルーティング、ループバック、エスカレーションパスが含まれる。&lt;/p>
&lt;p>状態は2か所に存在する: &lt;code>docs/plans/&lt;/code> にLLMが読み書きする成果物（ブレインストームメモ、設計ブリーフ、TDDプラン、監査結果）、&lt;code>.tracker/&lt;/code> にパイプラインの機構（ループカウンター、バッチ数、チェックポイントデータ）。plansディレクトリはコミットされ、trackerディレクトリはgitignoreされる。&lt;/p>
&lt;p>ファンアウトノードが最終レビュー3件を並列実行する。ファンインノードがクロス批評前に結果を集約する。コンセンサスノードがすべてのレビューと批評を読んで、ship・rework・failのどれかにルーティングする。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://github.com/strongdm/attractor">attractor&lt;/a>準拠のDOTランナー（&lt;a href="https://github.com/2389-research/tracker">tracker&lt;/a>、&lt;a href="https://github.com/2389-research/mammoth">mammoth&lt;/a>、&lt;a href="https://github.com/2389-research/smasher">smasher&lt;/a>）&lt;/li>
&lt;li>OpenAI、Anthropic、GoogleのAPIキー（&lt;code>.env&lt;/code>または環境変数）&lt;/li>
&lt;li>git&lt;/li>
&lt;li>ビルド対象の言語ツールチェーン（Rust、Python/uv、Node、Go — プランがスタックを指定する）&lt;/li>
&lt;/ul></description></item><item><title>review-squad</title><link>https://2389.ai/ja/research/products/review-squad/</link><pubDate>Tue, 25 Aug 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/review-squad/</guid><description>&lt;p>review-squad はソロの Claude Code 作業にチームを取り戻します。それぞれが自分のこだわりポイントを持つレビュアーサブエージェントのパネルを、チームメイトがそうであるように、リリース直前の成果物に差し向けます。セッションの中で、チェックポイントとして、ミスを世界に公開してしまう前に実行します。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin marketplace add 2389-research/claude-plugins
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>/plugin install review-squad@2389-research
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>覚えるべきスラッシュコマンドはありません。「throw all the review squad panels at this」と言うだけでも、使いたいスクワッドを頼むだけでも、Claude が適切なスキルへルーティングします:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>review-squad:experts
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>review-squad:normies
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>review-squad:regulars
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>review-squad:well-actually
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="できること">できること&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="500"
 poster="/animations/review-squad-poster.png"
 aria-label="4つのレビューパネルが同じ成果物を独立して読み、複数のパネルが別々にたどり着いた発見は強い証拠として評価され、1つのパネルだけが挙げた発見は弱いと印を付けられつつも残される流れ"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/review-squad.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>4つのスクワッド、それぞれが異なるタイプのレビュアーです:&lt;/p>
&lt;p>&lt;strong>review-squad:experts&lt;/strong> は技術専門家です: SEO、アクセシビリティ、セキュリティ、パフォーマンス、モバイル UX、コピー編集、Web 標準。リリースブロッカーが見つかるのはここです。&lt;/p>
&lt;p>&lt;strong>review-squad:normies&lt;/strong> はさまざまな習熟度の初見訪問者（シニア開発者、中小企業のオーナー、退職した教師）で、何の文脈もなくあなたの成果物に着地し、第一印象を報告します。&lt;/p>
&lt;p>&lt;strong>review-squad:regulars&lt;/strong> は実際のタスクを完了しようとする仮想ユーザーです: 買い物をしようとするギフト購入者、購読しようとする RSS 購読者。各タスクは合格、部分合格、不合格のいずれかで終わります。&lt;/p>
&lt;p>&lt;strong>review-squad:well-actually&lt;/strong> は耐え難いほど細かい人たちのパネルです。各自がロースト（酷評）とフィックスリストを提出します。ローストはパフォーマンスで、正直笑えます。フィックスリストは悔しいほど役に立ちます。&lt;/p>
&lt;p>ペルソナは例であって、ハードコードされていません。review-squad はレビュー対象を見て適切なパネルを構成し、誰が足りないかを尋ねます。i18n 専門家でも、採用担当者でも、おじいちゃんおばあちゃんでも追加できます。猫に CSS について語ってほしければ、猫でも。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>各ペルソナは独立したサブエージェントで、他のレビュアーの内容は見えません。experts はコードを読むので、レビュアーは並列に走り数分で終わります。他の3つは実際のブラウザを操作できるため、ブラウザインスタンスを共有する場合は1体ずつ順番に差し向けられます。統合ステップがすべてを優先度タグ付きの1つのレポートにまとめます。異なるパネルのレビュアーが独立に同じ指摘に収束したとき、ノイズはほぼゼロになります。最初に直すべきはそれです。&lt;/p>
&lt;p>2389.ai に対して実行したところ、1回のパスで50件の指摘が挙がりました。&lt;code>frame-ancestors *&lt;/code> の CSP ヘッダーや、2つの言語の2つの法的ページで数ヶ月間誤記されていた自社名も含まれます。&lt;a href="https://2389.ai/research/writing/review-squad/">ローンチ記事&lt;/a>に、把握している失敗モードも含めた全容があります。&lt;/p>
&lt;p>指摘は修正と同義ではありません。パネルはあなたが見逃すものを浮かび上がらせます。何をリリースするかを決めるのは、あなたです。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;p>プラグインシステムが有効な Claude Code。&lt;a href="https://github.com/2389-research/claude-plugins">2389 プラグインマーケットプレイス&lt;/a>の一部です。&lt;/p></description></item><item><title>MermaidKit</title><link>https://2389.ai/ja/research/products/mermaidkit/</link><pubDate>Tue, 01 Sep 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/mermaidkit/</guid><description>&lt;p>MermaidKit は純粋な Swift で書かれたネイティブ Mermaid レンダラーです。JavaScript なし、WebView なし、依存ゼロ。Mermaid ソースを渡すと、描画済みのダイアグラムが同期的に返ってきます。パースとレイアウトは Apple シリコン上で通常15ミリ秒以内に完了します。箱から箱へ矢印を1本引くためだけにブラウザを丸ごと組み込むのに、うんざりしたから作りました。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;p>タグ付きリリースは Swift Package Manager でインストールできます:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-swift" data-lang="swift">&lt;span style="display:flex;">&lt;span>.package(url: &lt;span style="color:#e6db74">&amp;#34;https://github.com/2389-research/MermaidKit&amp;#34;&lt;/span>, from: &lt;span style="color:#e6db74">&amp;#34;2.2.0&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Apple プラットフォームでの描画には &lt;code>MermaidRender&lt;/code> を、プラットフォーム非依存のパースとレイアウトだけなら &lt;code>MermaidLayout&lt;/code> をリンクしてください。Android、Windows/.NET、Flutter、WebAssembly は同じコアを C ABI 経由で利用します。各バインディングは &lt;a href="https://github.com/2389-research/MermaidKit">README&lt;/a> に説明があります。&lt;/p>
&lt;p>SwiftUI では、ダイアグラムはビュー1つです:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-swift" data-lang="swift">&lt;span style="display:flex;">&lt;span>MermaidView(&lt;span style="color:#e6db74">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">flowchart TD
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> A[Start] --&amp;gt; B{Choice}
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> B --&amp;gt;|yes| C[Do it]
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> B --&amp;gt;|no| D[Skip]
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">&amp;#34;&amp;#34;&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="できること">できること&lt;/h2>
&lt;p>&lt;strong>全30種の Mermaid ダイアグラム。&lt;/strong> フローチャート、シーケンス図、ガントチャート、ER 図、状態遷移図、サンキー図、その他すべて。全種類が&lt;a href="https://2389-research.github.io/MermaidKit/#gallery">ギャラリー&lt;/a>で、ライトとダークの両方で、MermaidKit 自身によって描画されています。&lt;/p>
&lt;p>&lt;strong>6プラットフォーム、バイト単位まで同一の出力。&lt;/strong> 1つの Swift コアがダイアグラムをパースし、すべての箱、矢印、ラベルの位置を計算し、完成したレイアウトを SceneWire という小さな JSON シーン記述として各プラットフォームに渡します。Apple デバイスは CoreGraphics で、Linux は Cairo で、Android・Windows・Flutter は Skia で、ブラウザは SVG または Canvas2D で描画します。コアは決定論的で、5つのコンパイルターゲット全体で出力がバイト単位まで同一であることを自動テストが証明しています。&lt;/p></description></item><item><title>Simmer</title><link>https://2389.ai/ja/research/products/simmer/</link><pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/simmer/</guid><description>&lt;p>Simmer はあなたが書いたもの — 売り込みメール、設計仕様、システムプロンプト、API契約書 — を繰り返しの構造化されたパスで改善します。「より良い」とする2〜3の基準を定義すると、成果物が改善しなくなるかあなたが止めるまで、生成-評価-振り返りのループを実行します。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin install simmer@2389-research
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="できること">できること&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="480"
 poster="/animations/simmer-poster.png"
 aria-label="生成・評価・振り返りを繰り返してスコアが上がり、悪化した回を飛ばして最良版が引き継がれていく様子"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/simmer.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>各イテレーションは3ステップです:&lt;/p>
&lt;p>&lt;strong>生成&lt;/strong>は評価者のフィードバックをもとに成果物の改善版を作ります。生成者はスコアを見ません — 直前のベスト候補と次に何を直すかという単一の指示だけを見ます。&lt;/p>
&lt;p>&lt;strong>評価&lt;/strong>は新しい候補を各基準で1〜10でスコアリングし、次に直すべき最も重要な1つを選びます。この集中したフィードバックをASI (Actionable Side Information) と呼びます。評価者は常に元のシードとそのスコアをキャリブレーションアンカーとして持つため、イテレーション間でスコアの一貫性が保たれます。&lt;/p>
&lt;p>&lt;strong>振り返り&lt;/strong>は軌跡を記録します — 全イテレーションのスコアテーブル — とここまでのベスト候補を追跡します。イテレーションが退行した場合、次の生成者は悪い方ではなくベスト版を受け取ります。&lt;/p>
&lt;p>実行中のスコアテーブルはこのようになります:&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Iter&lt;/th>
 &lt;th>Criterion A&lt;/th>
 &lt;th>Criterion B&lt;/th>
 &lt;th>Criterion C&lt;/th>
 &lt;th>Composite&lt;/th>
 &lt;th>Key Change&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>0&lt;/td>
 &lt;td>4&lt;/td>
 &lt;td>5&lt;/td>
 &lt;td>3&lt;/td>
 &lt;td>4.0&lt;/td>
 &lt;td>seed&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>1&lt;/td>
 &lt;td>7&lt;/td>
 &lt;td>5&lt;/td>
 &lt;td>4&lt;/td>
 &lt;td>5.3&lt;/td>
 &lt;td>specific problem statement&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2&lt;/td>
 &lt;td>7&lt;/td>
 &lt;td>6&lt;/td>
 &lt;td>6&lt;/td>
 &lt;td>6.3&lt;/td>
 &lt;td>low-friction CTA&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>3&lt;/td>
 &lt;td>7&lt;/td>
 &lt;td>7&lt;/td>
 &lt;td>8&lt;/td>
 &lt;td>7.3&lt;/td>
 &lt;td>peer-sharing tone&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>各バッチのイテレーション後、続けるかどうかを確認します。&lt;/p></description></item><item><title>Deliberation</title><link>https://2389.ai/ja/research/products/deliberation/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/deliberation/</guid><description>&lt;p>Claude はデフォルトで質問に答えます。ほとんどの場合はそれで十分ですが、答えを求めていない質問もあります — 明確さを求めているのです。Deliberation は3つのスキルを持つ Claude Code プラグインで、討論スタイルの推論を識別に置き換えます: 声は一度しか発言せず、沈黙には重みがあり、書記は票を数えるのではなく合意がどこにあるかを識別します。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin marketplace add 2389-research/claude-plugins
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>/plugin install deliberation
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>インストール後、じっくり向き合う価値のある質問を持ち込んでください。「これをオープンソースにすべきか？」は適しています。「最良のソートアルゴリズムは何か？」は適していません。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="460"
 poster="/animations/deliberation-poster.png"
 aria-label="5つの声がそれぞれ一度だけ中央の書記に向けて語り、1つは判断を保留し、書記が残りを統合するまでの流れ"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/deliberation.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>状況に応じた3つのスキル。&lt;/p>
&lt;p>&lt;strong>deliberation:discernment&lt;/strong> は Claude に委ねる重い質問向けです。文脈に関連する3〜5つの視点を召集し、それぞれが一度だけ事柄に発言し、書記が合意に向けて統合します。合意が生まれない場合、書記はそう述べます — 無理やり結論を出しません。&lt;/p>
&lt;p>&lt;strong>deliberation:clearness&lt;/strong> は並列深層分析のためのマルチエージェント委員会を生成します。委員会の構成を確認し、専門エージェントがそれぞれの視点から実際の分析を実行し、書記が知見を統合します。速度より深さが重要なアーキテクチャ決定、コードレビュー、調査に使ってください。&lt;/p>
&lt;p>&lt;strong>deliberation:gathered&lt;/strong> は質問だけでなく、あなた自身が結果に関わりを持つ場合のためです。あなたはエージェントと並んで1つの声として参加します。スキルはその規律を教えます — 一度だけ発言し、反応せず、識別する — そしてあなたの貢献が統合を形作ります。プロセスは意図的にゆっくりです。&lt;/p>
&lt;p>3つすべてに共通するコア動作: 声は一度発言したら聞く側に回り、緊張は隠さず名前を付け、「一歩引く」（反対だが妨げない）は有効な結果です。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>メインの &lt;code>deliberation&lt;/code> スキルがコンテキストに基づいてルーティングします。あなたが視点を持っているなら &lt;code>gathered&lt;/code> を選びます。質問が並列の深みを必要とするなら &lt;code>clearness&lt;/code> を選びます。それ以外は &lt;code>discernment&lt;/code> です。&lt;/p>
&lt;p>各スキルは同じ流れに従います: 視点を提案し、それぞれが沈黙を挟みながら一度発言し、書記役が場を読んで合意がどこにあるかを述べます。ブロックは稀で、核となる原則違反にのみ使われます。より一般的な結果は合意、一歩引く、または道がまだ開いていないという正直な認識です。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;p>プラグインサポートを持つ Claude Code。外部 API も依存関係もありません。&lt;/p></description></item><item><title>Worldview Synthesis</title><link>https://2389.ai/ja/research/products/worldview-synthesis/</link><pubDate>Mon, 09 Feb 2026 00:00:00 +0000</pubDate><guid>https://2389.ai/ja/research/products/worldview-synthesis/</guid><description>&lt;p>30秒以内に自分が何を信じているか語れる人はほとんどいません。信念がないからではなく、正しい順序で正しい質問を誰もしてくれなかっただけです。Worldview Synthesis は Claude Code スキルで、構造化されたプロセスを通じて案内します。信念を表面化し、それらの間の矛盾をマッピングし、実際に使える物語を生成します。&lt;/p>
&lt;h2 id="インストール">インストール&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>/plugin install worldview-synthesis@2389-research
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>その後、「Help me articulate my worldview.」という会話を始めてください。&lt;/p>
&lt;h2 id="機能">機能&lt;/h2>



&lt;figure class="skill-animation">
 &lt;video
 class="skill-animation__video"
 width="1200"
 height="480"
 poster="/animations/worldview-synthesis-poster.png"
 aria-label="信念のノードがグラフとして積み上がり、矛盾が緊張として名づけられ、そこから段階的な長さの文章が生成される様子"
 muted
 loop
 playsinline
 preload="none">
 &lt;source src="https://2389.ai/animations/worldview-synthesis.mp4" type="video/mp4" />
 &lt;/video>
&lt;/figure>

&lt;p>スキルは6つのフェーズを実行し、各フェーズが前のフェーズの上に積み上がります。&lt;/p>
&lt;p>&lt;strong>Bootstrap&lt;/strong> は &lt;code>data/&lt;/code> に構造化された信念ノード、&lt;code>narrative/&lt;/code> に生成された文章を格納するプロジェクト構造を作成します。&lt;/p>
&lt;p>&lt;strong>Seed&lt;/strong> はあなたの影響を受けたもの、本、人、経験、考え方を形成したものすべてからアイデアを引き出します。これが素材になります。&lt;/p>
&lt;p>&lt;strong>Interrogate&lt;/strong> は死、お金、対立、倫理、遺産など多くの人が避けるドメインにわたって4〜6ラウンドの多肢選択質問を実行します。質問バンクは6ラウンドで20のドメインをカバーし、死生観とスピリチュアリティから仕事哲学と政治的志向まで及びます。質問は誘導的なものではなく、本当に異なる2〜4つの選択肢を提示します。&lt;/p>
&lt;p>&lt;strong>緊張関係の把握&lt;/strong>が最も興味深い部分です。どんな世界観にも矛盾があります。協調と戦略的な冷酷さの両方を信じていたり、自由と構造の両方を大切にしていたり。スキルはこれらの緊張関係に名前を付け、ステータスを割り当てます。受け入れ（矛盾の中に生きる）、解決済み（統合を見つけた）、または未解決（まだ正直わからない）。&lt;/p>
&lt;p>&lt;strong>物語の生成&lt;/strong>では昇順のスケールで出力を生成します。1文のコアテーゼ。カードに収まるミッション。シノプシス。フルエッセイ。どれもテンプレートではなくあなたの声で書かれています。&lt;/p>
&lt;p>&lt;strong>反復&lt;/strong>では世界観を生きたドキュメントとして扱います。信念は変わります。確信度も変わります。新しい緊張関係が生まれます。戻ってきて更新できます。&lt;/p>
&lt;p>すべての信念は主張、確信スコア（0〜1）、重要度スコア（0〜1）、ドメインタグ、そして矛盾する緊張関係のリストを持つ構造化された YAML ノードとして保存されます。ジャーナリングではありません。あなたが考えることのナレッジグラフです。&lt;/p>
&lt;h2 id="仕組み">仕組み&lt;/h2>
&lt;p>スキルは Claude の &lt;code>AskUserQuestion&lt;/code> ツールを使って対話形式で質問ラウンドを実行します。あなたの答えは構造化された YAML として取り込まれ、回答間の新たな緊張関係を分析し、物語生成に渡されます。すべてはプロジェクトディレクトリ内にローカルで保存されます。&lt;/p>
&lt;h2 id="必要要件">必要要件&lt;/h2>
&lt;p>プラグインサポート付きの Claude Code。外部 API も依存関係もなし。&lt;/p></description></item></channel></rss>