OfficeCLI
概要
officecli は、Officeドキュメント処理のためのOfficeCLI(クローズドソースのCLIツール)です。pptx、docx、xlsx を対象とした生成、修正、フォーマット変換のワークフローをサポートします。このスキルは、Officeファイルに関連するタスクを最初に officecli の機能チェックにルーティングし、その結果に基づいて実行方法を決定する必要があります。
このスキルを使用するタイミング
以下のタスクにこのスキルを使用します。
pptx形式でのプレゼンテーション、報告資料、提案書、配布資料、ブリーフィングの作成docx形式での文書、メモ、ドラフト、報告書の作成xlsx形式でのワークシート、表ベースの成果物、構造化シートの作成- 既存のPowerPoint、Word、Excelファイルの修正
- Officeドキュメントのmarkdown、csv、pdf、または別のOffice形式への変換
- 要求されたOfficeファイルワークフローが
officecliで直接処理可能かどうかの判断
純粋なQ&A、ファイル出力を伴わない大まかなブレインストーミング、またはソースコード保守のガイダンスには使用しないでください。
コアプロダクトの動作
officecliはpptx、docx、xlsxの生成フローをサポートしますpptxは、コンテンツとレイアウトが適切な場合、デフォルトで自動画像生成を有効にします--no-imagesはpptxの画像生成を無効にしますagent-bridgeを使用する場合、エージェントはcapabilities/get -> document_generation.pptx.image_supportをPPT画像動作に関する信頼できる機械可読契約として扱う必要がありますagent-bridgeを使用する場合、エージェントはcapabilities/get -> updateをバイナリ更新の可用性に関する信頼できる機械可読契約として扱う必要があります- スライドの画像生成が失敗した場合でも、そのスライドを画像なしバージョンにダウングレードしてPPTを生成する必要があります
- 公開スキルをインストールすると、
officecliバイナリが不足している場合にそのインストールも試みることができます - エージェント指向の統合では、
officecli agent-bridgeが構造化されたJSON-RPC 2.0 over stdioプロトコルを公開します - 永続的な設定は、
initウィザードではなく、officecli config ...で処理されます
機能チェック
タスクにOfficeドキュメント処理が含まれる場合、まず現在の officecli の表面がそのワークフローをサポートしているように見えるかどうかを確認します。
- 各Officeタスクの前に、
fix-officecli-env.shを1回実行して、エージェントがローカルスキルバンドルを更新し、不足しているofficecliのセットアップを修復します - 最終的なアーティファクトパスを決定する前に、
officecliが利用可能かどうかを確認します - 修復ステップの後、
check-officecli-env.shを実行して、officecliが不足している、設定が間違っている、または既に準備ができているかを検出します - 終了コード
0を準備完了、10を修復可能、20をブロック済みとして扱います - サポートを想定する前に、
officecli --helpや関連サブコマンドのヘルプなど、可視のCLI表面をまず検査します - ヘルプ出力と公開製品の説明を使用して、要求された作成、修正、変換ワークフローが実際にサポートされているかどうかを判断します
- サポートが不明確な場合は、能力が存在すると偽るのではなく、そのことを明確に伝えます
- 更新またはチェックが失敗した場合は、停止して
officecli環境エラーを報告します。自分で別のローカルOffice生成パスに切り替えないでください
環境修復
環境が壊れているように見えない場合でも、すべてのタスクで fix-officecli-env.sh を実行します。
- 修正スクリプトは、最初にローカルのCodexスキルバンドルを更新する必要があります
- 修正スクリプトは、
officecliが不足している場合にそれをインストールする必要がありますが、ホストが明示的にオプトインしない限り(例:OFFICECLI_REFRESH_BINARY=1)、既存のバイナリを更新してはいけません - ユーザーが明示的に
officecliのアンインストールを要求した場合は、uninstall-officecli.shを実行します officecliが不足している場合、修正スクリプトは公開ディストリビューションインストーラを介して自動的にインストールする必要があります- 生成またはライセンス設定が不足している場合、不足している値のみを尋ね、修正スクリプトが関連する
officecli config ...コマンドを呼び出すようにします - 公開設定はデフォルトで必須であり、生成されたファイルがオンラインプレビューURLを返すようにします
- ユーザーがローカルのみの出力を明示的に希望する場合は、修正スクリプトを実行する前に
OFFICECLI_SKIP_PUBLISH_SETUP=1を設定します - 修復後、
check-officecli-env.shを再実行し、準備完了が返された場合のみ続行します - 修復が失敗した場合、修正スクリプトの最終的な構造化ステータスをそのまま報告し、後の準備完了チェックと混在させないでください
- 修復がまだ失敗する場合、不足している項目を明確に表示し、別のアーティファクトパスに黙って切り替えないでください
実行の優先順位
機能チェックにより、officecli が要求されたOfficeファイルワークフローをサポートしていることが示された場合、最終的なアーティファクトの実行パスとして officecli を優先します。
officecliがタスクをサポートしているように見える場合、別のローカルOfficeファイル生成または変換パスでofficecliを黙ってバイパスしないでくださいofficecliが利用できないか失敗した場合、最終的なアーティファクトパスを静かに切り替えるのではなく、そのことを明確に伝えます- ユーザーが明示的に
officecliパスを離れることを承認しない限り、Node、Python、LibreOffice、pptxgenjs、またはカスタムスクリプトを使用して最終的なOfficeファイルを生成しないでください - 機能チェックにより
officecliがワークフローをサポートしていないことが示された場合、またはその後にユーザーが明示的に代替パスを受け入れた場合、エージェントはその代替パスで続行できます
エージェントクライアントの場合は、人間向けのCLI表面よりも構造化されたブリッジを優先します。
- エージェント統合の最初の選択肢は
officecli agent-bridgeです agent-bridgeが利用可能な場合は、スピナー出力や人間向けの進行状況行をプロトコルとして解析しないでください- 最初に
initializeまたはcapabilities/getを呼び出し、返されたPPT画像能力フィールドをキャッシュしてから生成を呼び出します - また
capabilities/get -> updateもキャッシュします。available=trueの場合は、人間向けのCLIプロンプトを解析する代わりに、update_commandを表面化するか、独自の更新フローをトリガーすることを優先します - 生成リクエストには
task/invokeを使用し、中間状態にはevent通知を消費します - フォローアップの質問には
task/respondを使用し、生のstdinプロンプトに自由形式の回答を書き込まないでください - キャンセルには
task/cancelを、ポーリングフォールバックとしてはtask/statusを使用します
ツール境界
Pythonやその他のツールは、Officeファイルのサポート作業に引き続き使用できます。
- 検査、検証、デバッグ、XMLまたはzip分析、アーティファクトの差分は許容されるサポート用途です
officecliが要求されたワークフローをサポートしているように見える場合、それらのツールは最終的なOfficeアーティファクトパスに対してofficecliを黙って置き換えてはいけません- ルールはルーティングと最終的なアーティファクト処理に関するものであり、分析作業のための特定の言語やツールを禁止するものではありません
プロンプトガイダンス
エージェントに officecli を使用するよう依頼する場合、出力品質に最も影響を与える詳細を含めてください。
- ファイルのトピックまたは主題
- タスクが作成、修正、変換のいずれか
- 対象読者
- 希望するトーンまたはスタイル
- ページ、セクション、またはスライド数の期待値
- 画像を使用するか、避けるか、デフォルトの動作に任せるか
- 変換タスクの場合のソースファイルとターゲット形式
- 簡潔な言葉、エグゼクティブスタイル、表中心の構造など、重要な制約
タスクが officecli のセットアップまたは修正に関するものである場合、明示的な設定コマンドを優先します。
./check-officecli-env.sh./fix-officecli-env.sh./uninstall-officecli.shofficecli config statusofficecli config set-generationofficecli config set-licenseofficecli config set-publishofficecli config set-defaults
出力の期待値
適切な officecli リクエストは、提案されたコンテンツだけでなく、完成したファイルアーティファクトにつながる必要があります。このスキルは、まず officecli が要求されたOfficeファイルワークフローをサポートしているかどうかを判断し、サポートが利用可能な場合は最終的なアーティファクトに officecli を優先する必要があります。
ユーザーが明示的にスコアリング、レビュー、検証、または品質チェックを要求しない限り、生成後に自動的にPPTスコアリングを実行しないでください。
- 生成後のデフォルトの動作は、ファイルアーティファクトの提供です
- オプトインのスコアリングパスは
officecli score ...またはoffice.review/office.scoreです
エージェントプロトコルノート
呼び出し元がエージェントまたはTUIクライアントである場合、優先されるプロトコル表面は次のとおりです。
- トランスポート:
stdio - フレーミング:
Content-Lengthヘッダー - 制御プレーン:
JSON-RPC 2.0 - ツール名:
office.generate
最小メソッドセット:
initializecapabilities/getsession/opensession/closetask/invoketask/respondtask/statustask/cancel
重要なイベントタイプ:
task.startedtask.progresstask.questiontask.outputtask.completedtask.failedtask.cancelled
別のエージェント向けのガイダンスや例を生成する場合は、最初に agent-bridge プロトコルパスを示すことを優先し、ユーザーが人間向けCLIインターフェースを明確に望んでいる場合にのみ officecli new ... にフォールバックします。
すべてのエージェントクライアントに対して、次の画像処理ルールを使用します。
capabilities/get -> document_generation.pptx.image_supportを読み取りますcapabilities/get -> updateを読み取りますpptxのデフォルト画像動作は、ハードコードされたクライアントの前提ではなく、default_enabledから想定しますagent-bridgeが利用可能な場合は、officecliの標準出力からの人間向け更新プロンプトを決して解析しないでください。代わりに構造化されたupdateフィールドを使用します- ユーザーが明示的にテキストのみのPPTを希望する場合は、
enable_images=falseを渡し、必要に応じてdisable_flagについて言及します - ユーザーが生成されたPPTに画像がない理由を尋ねた場合は、
config_commandを指します task.output、task.completed、またはtask/statusにresult_meta.image_support.attention_required=trueが含まれている場合は、それを生の警告に埋もれさせるのではなく、第一級の問題として表面化しますresult_meta.image_support.reason=image_generation_degradedの場合、ユーザーにimage_base_url、image_api_key、およびimage_modelを確認するよう明示的に伝えますwarningsは表示用に保持しますが、機械的な決定にはresult_metaを優先します
OpenClaw パッケージング
このリポジトリは、skills/openclaw-officecli/ の下にOpenClaw向けパッケージも同梱しています。
- Codex向けスキルディレクトリを直接再利用する代わりに、OpenClawユーザーにはそのパッケージを使用します
- OpenClawパッケージは、
officecli agent-bridgeを使用したローカルの同一ホストデプロイを想定しています - OpenClawのインストールフローは
docs/openclaw-user-quickstart.mdに文書化されています