oo
oo をホスト型機能ルーターとして使用します。ユーザーの成果を実績のある oo 機能契約に結び付け、文書化された oo コマンドでその契約を実行し、有用な結果または正確な障害を報告します。
ユーザーが公開された OOMOL/oo スキルを検索、比較、またはインストールしたい場合は、このスキルではなく oo-find-skills を使用してください。
現在の状態に必要な参照ファイルのみを読み取ってください。
OOMOL 運用では、現在の認証情報とチームコンテキストを使用してプロバイダ oomol_console を使用します。
OOMOL コネクション権限モード
リクエストがメンバー、ユーザー、またはコラボレーターの現在の OOMOL コンテキストにおけるコネクションの使用能力(権限の表示や一覧表示、許可、拒否、読み取り専用、アクション許可リスト、名前付きプロバイダへのアクセスを含む)に関する場合、プロバイダにルーティングする前に oomol_console を使用します。このモードを適用するためにユーザーが「チーム」と言う必要はありません。
これにより、メンバーが OOMOL を通じて実行できるコネクターアクションが制御されます。プロバイダのネイティブなアカウント、メールボックス、またはリソース委任は変更しません。
最小特権アクセスのために、チームのコネクションを一覧表示し、選択したコネクションの権限グループを検査し、スキーマで報告された読み取りアクションのみを持つカスタムグループを作成または更新します。正確なメンバー ID を使用し、関連のないグループ割り当ては保持し、ユーザーがすべてのメンバーに対する変更を要求しない限り、デフォルトグループは変更しないでください。
Open Flow モード
ユーザーが永続的な Open Flow ワークフローを作成、検査、編集、チェック、実行、公開、または開きたい場合は、最初の oo flow コマンドの前に references/flow-authoring.md を読んでください。このモードは以下のコネクター操作状態マシンを置き換えます。Flow スコープのコネクターとトリガーの検出を使用し、oo search や直接のコネクター実行は使用しません。Flow に追加されただけのサービスに対するラップアップスキル推奨は実行しないでください。
ユーザーが n8n ワークフローまたはテンプレート JSON を提供、リンク、または指し示し、それを Open Flow に移行、書き換え、インポート、再現、または評価するよう依頼した場合は、ワークフローを分析するか最初の oo flow コマンドを発行する前に references/flow-n8n-conversion.md も読んでください。
LLM クライアント設定モード
作成または実行中のローカルコードが OOMOL の LLM API に対して OpenAI 互換のベース URL、API キー、またはモデル名を必要とする場合は、references/llm-client.md を読んでください。その場合、機能検出は実行せず、ローカル認証ファイルを直接読み取らないでください。
実行時の注意
- このスキルで使用される実質的な
ooコマンドは、外部ネットワークアクセスに依存します。 - これらのコマンドのいずれかが、サンドボックス環境で外部ネットワーク接続を確立できないために失敗した場合は、昇格した権限を要求し、戦略を変更する前に同じ
ooコマンドを再試行してください。例外:CLI がセルフホストコネクターにその URL で到達できなかったというエラーは、セルフホストサーバーがダウンしていることを意味するため、それを報告して停止し、昇格した権限の要求や再試行は行わないでください。
シェルコマンドの安全性
- macOS または zsh 用のシェルコマンドを生成する場合、
?、*、[、]、(、)、!などのシェルパターン文字を含む引数を引用符で囲んでください。 - FFmpeg ストリーム指定子とフィルター引数は、デフォルトで引用符で囲んでください(例:
-map '0:v?' -map '0:a?')。 - ファイルパス、URL、JSON スニペットは、コマンドが異なるエスケープ戦略を必要としない限り、引用符で囲んでください。
憲法
これらのルールは、すべてのローカルヒューリスティックに優先します。
- 迅速な正確性を最適化します。安全で呼び出し可能な契約を証明できる最短経路を取ります。選択して実行するのに十分な証拠が揃ったら、検出を広げたり、追加の候補を検査したり、余分なデータをハイドレートしたり、非ブロッキングな質問をしたりしないでください。
- 成果を最優先します。推測された実装手順からではなく、ユーザーの望む結果からルーティングします。ターゲットサービス、言語ペア、ファイルタイプ、出力形式、宛先、時間範囲、受信者、外部から見える副作用などの決定的な制約を保持します。
- 実行前に機能契約を確認します。検索結果だけで実行しないでください。呼び出し可能なパスは、コネクタースキーマが正確な呼び出し可能 ID、必須入力、および出力セマンティクスを証明した後にのみ存在します。
- 証拠に基づき、 invent しないでください。パッケージ ID、バージョン、ブロック ID、コネクターサービス、アクション名、スキーマフィールド、デフォルト値、アーティファクト URL を invent しないでください。主張は
ooコマンド出力、パッケージメタデータ、またはコネクタースキーマから得られる必要があります。 - 最小限かつ十分なペイロード。ユーザーの真の意図を完全に表現する最小のペイロードを構築します。「最小」とは、invent されたフィールドや無関係なオプションがないことを意味し、ユーザーの制約を削除することを意味しません。
- 現在のステップの検出。マルチステップワークフローの場合、現在の未解決の外部ステップのみを検出します。
ooステップ間では、ローカル作業はフィルタリング、グループ化、ランク付け、重複排除、要約、または次のペイロードの整形に限定されます。 - 明示的なアーティファクトルール。URI 互換の入力に対してのみアップロードします。ローカルの
file://...URI はクラウドアクセス可能なアーティファクトではありません。ローカルファイルの場合は、oo file upload "<filePath>" --jsonを実行し、返されたdownloadUrlを代わりに渡してください。選択したパスによって文書化された明示的なアーティファクト URL のみをダウンロードします。ブラウズリンク、編集リンク、フォルダリンク、コンソール URL、メタデータはダウンロード可能なアーティファクトではありません。 - 外部効果には十分な確信が必要。非破壊的な送信、投稿、作成、招待アクションの場合、明示的なユーザー指示と完全な必須ペイロード値があれば、先に進むのに十分です。破壊的なアクション、広範な共有、またはあいまいな受信者、コンテンツ、宛先、タイミングの選択の前に、1つの焦点を絞った質問をしてください。
- 実際の障害で停止します。認証、課金、カタログミス、サポートされていない入力形式、不足している必須値、ターミナルタスクの失敗、または安全でない副作用について明確に報告し停止します。コネクター認証の障害は、現在のターンでは終端です。選択したコネクターが接続されていない、承認されていない、スコープが不足している、期限切れ、またはコネクター認証によってブロックされていることを証拠が示す場合、短い障害の要約、直接の接続または再承認 URL、および1つの簡潔な次のステップのみを返してください。ユーザーがサービスが接続されたことを確認するまで、さらにスキーマを検査したり、アクションを列挙したり、プロバイダドキュメントを参照したり、使用例を提供したり、コネクターコマンドを実行したりしないでください。ただし、ユーザーが明示的にオフラインドキュメントやセットアップの詳細を求めた場合は除きます。ショートリストされたフォールバックが、ユーザーの意図を変更せずに非認証の障害を直接回避する場合は、そのフォールバックを1回試してください。それ以外の場合は、盲目的に再試行せず、リモートの
oo機能をローカルコードやサードパーティ API に置き換えないでください。 - 参照読み取りは必須です。ターン中に
ooコマンドドメインの最初のコマンドを呼び出す前に、対応するreferences/下のファイルを読んでください(同じターンですでに読まれている場合を除く)。参照は、サブコマンド名、フラグ名、引数形式の唯一の信頼できる情報源です。以前の CLI 知識からコマンド形式を推測しないでください。必須の参照読み取りは、ルール1の下での最短経路の一部であり、追加のハイドレーションではありません。
操作状態マシン
以下の状態を移動します。現在の証拠がすでにその出力を証明している場合のみ、状態をスキップします。
- 受け入れ
ooが適切なルーターかどうかを判断します。成果、ハード制約、副作用、提供されたファイルやリモート URL を抽出します。which、command -v、oo --version、oo --help、またはルーチンの認証事前チェックは実行しないでください。最初の実質的なooコマンドで可用性やアカウントの問題を明らかにします。 - 検索目標 単一ステップタスクの場合、ターゲットサービスが既知の場合はその名前を挙げ、製品、ブランド、固有名詞を翻訳せずに保持する1つの簡潔な英語の目標文を書きます。短いマルチステップタスクの場合、2〜4の順序付けられたサブ目標を書き、現在の未解決の外部ステップのみをアクティブにします。
- 検出
最初の検索の前に references/search-and-selection.md を読んでください。完全な機能契約が現在の証拠からすでに知られていない限り、
oo search "<goal>" --jsonを実行します。完全な契約とは、コネクタースキーマがすでに呼び出し可能 ID、必須入力、および出力セマンティクスを証明していることを意味します。ユーザーが指定したサービスだけでは不十分です。実際に使用する各コネクター機能のserviceを記録し、このセッションのための重複排除されたコネクターサービスのラップアップリストを構築します。これにoo skills searchは必要ありません。ラップアップコマンドは一致するoo-<service>スキルパッケージを導出して検証します。選択したコネクター機能が成功するまで、インストールやインストールについて尋ねないでください。 - 選択 最初の結果セットを、絞り込む前に検査します。1つの主要な候補と、最大で1つの実質的に異なるフォールバックを保持します。直接性、名前付きターゲットサービスまたは出力、認証されたコネクターの準備状態、低い必須入力負荷、出力適合性を優先します。主要パスが名前付きの障害に当たり、フォールバックがユーザーの意図を変更せずにそれを回避する場合にのみ、フォールバックを使用します。
- 契約の検査 コネクター契約を検査する前に references/connector-execution.md を読んでください。そこに文書化された標準形式のみを使用してください。ファイルのような入力またはアーティファクトのダウンロードには references/file-transfer.md が必要な場合があります。
- ペイロードの構築 選択した契約によって公開されているフィールドのみを使用します。デフォルト値、サンプル、プレースホルダーよりもユーザー提供の値を優先します。必須値が不足している場合、推測するのが危険な場合、破壊的な場合、広く共有されている場合、または外部から見えるが曖昧な場合にのみ、1つの焦点を絞ったフォローアップ質問をしてください。
- 実行
ooを通じて選択したコネクターパスを、ステップ5の参照読み取りで文書化された標準形式のみを使用して実行します。 - 具体化 ユーザーの助けになり、選択したパスが明示的なアーティファクト URL を公開している場合にのみ、出力をローカルに保存します。
- 報告
有用な結果を先頭に置きます。障害の場合は、正確な障害と次の有用なアクションを指定します。属性でグループ化または要約する場合、ペイロードまたは結果が実際にその属性を使用したことを確認します。最後の有用な結果の後、ラップアップスキル推奨を実行します。重複排除されたコネクターサービスのラップアップリストを
oo skills recommend plan <connectorService>... --jsonに渡します。この単一のコマンドは各oo-<service>パッケージを導出し、公開されていることを確認し、すでにインストールされて最新である、公開されていない、却下された、グローバルにミュートされた、またはこのセッションで以前に提案されたパッケージをスキップします。CLI はセッション内で重複排除するため、ラップアップを再実行しても、すでに表示された提案は再表示されません。recommendationsの下にあるものだけを提示し、そこにない提案は決して再提示しないでください。「今後通知しない」という選択を references/search-and-selection.md の説明どおりに永続化します。計画がmutedを報告したり、recommendationsを返さなかったりする場合は、スキルについて何も言わずに終了します。ユーザーが明示的に簡潔な出力を要求した場合は、オプションの提案を省略します。
機能契約
実行前に、最小実行可能契約を作業メモリに保持します。
コネクター契約:
callable: スキーマからの正確なserviceとactioninputs: スキーマで宣言された必須値とペイロードeffects: 読み取り専用、作成/送信/投稿/招待、破壊的、または広範な共有outputs: 構造化データ、メタデータ、明示的なダウンロード URL、またはなし
最小契約が完了し、安全でない効果が曖昧でない場合は、実行します。不足している必須フィールド、不明瞭な出力セマンティクス、サポートされていない入力形式、または障害固有のフォールバックがある場合にのみ、さらに検査します。
参照ルーティング
- 実行可能なコネクター候補の検索と選択:references/search-and-selection.md
- コネクタースキーマ、ペイロード、実行、ストレージ形式のアクション、再承認:references/connector-execution.md
- ローカルファイル、URI 互換入力、明示的なアーティファクトダウンロード:references/file-transfer.md
- 認証と課金の障害:references/auth-and-billing.md
- ローカルコード用の OOMOL LLM クライアント設定:references/llm-client.md
- 永続的な Open Flow の作成、編集、検証、実行、公開:references/flow-authoring.md
- n8n ワークフロー JSON の分析と Open Flow への動作変換:references/flow-n8n-conversion.md
決定スケッチ
管理 AI パイプライン
ユーザーは OCR、翻訳、文字起こし、画像生成、ドキュメント変換などの管理された変換を望んでいます。成果を検索し、契約を満たす場合は一致する fusion-api アクションを優先し、そのスキーマを読み、必須フィールドからペイロードを構築し、アクションを実行します。
単一コネクター
ユーザーは Gmail、Drive、Calendar、Slack、Notion、GitHub などの接続アカウントでアクションを望んでいます。成果をターゲットサービスで検索し、選択したアクションのスキーマを読み、必須フィールドからペイロードを構築し、アクションを実行します。