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

officecli/officecli-skills

AIエージェントがOfficeCLIを使用してPPTX、DOCX、XLSXの作成やレポートワークフローを実行するためのスキルです。

officecli-skills とは?

OfficeCLIスキルは、Claude CodeやCodexなどのAIエージェント向けに設計された、Officeファイル(PPTX、DOCX、XLSX)の生成・修正・変換を統合的に行うためのスキルです。このスキルは、エージェントがOffice関連タスクを受け取った際に、まず`officecli`の機能チェックを実行し、その結果に基づいて実行パスを決定するルーティング機能を提供します。`agent-bridge`モードではJSON-RPC 2.0 over stdioプロトコルを採用し、構造化された能力取得(`capabilities/get`)、タスク呼び出し(`task/invoke`)、進行状況通知(`task.progress`)などのメソッドを介してエージェントとOfficeCLIが効率的に連携できます。また、環境修復スクリプト(`fix-officecli-env.sh`)や状態確認スクリプト(`check-officecli-env.sh`)を提供し、不足しているバイナリの自動インストールや設定の修復をサポートします。このスキルの主な利点は、エージェントがOfficeファイル生成に際してNode.jsやPythonなどの代替手段に無言でフォールバックすることを防ぎ、一貫した品質のアーティファクトを提供できる点にあります。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add officecli/officecli-skills

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

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

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

ドキュメント

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.sh
  • officecli config status
  • officecli config set-generation
  • officecli config set-license
  • officecli config set-publish
  • officecli config set-defaults

出力の期待値

適切な officecli リクエストは、提案されたコンテンツだけでなく、完成したファイルアーティファクトにつながる必要があります。このスキルは、まず officecli が要求されたOfficeファイルワークフローをサポートしているかどうかを判断し、サポートが利用可能な場合は最終的なアーティファクトに officecli を優先する必要があります。

ユーザーが明示的にスコアリング、レビュー、検証、または品質チェックを要求しない限り、生成後に自動的にPPTスコアリングを実行しないでください。

  • 生成後のデフォルトの動作は、ファイルアーティファクトの提供です
  • オプトインのスコアリングパスは officecli score ... または office.review / office.score です

エージェントプロトコルノート

呼び出し元がエージェントまたはTUIクライアントである場合、優先されるプロトコル表面は次のとおりです。

  • トランスポート: stdio
  • フレーミング: Content-Length ヘッダー
  • 制御プレーン: JSON-RPC 2.0
  • ツール名: office.generate

最小メソッドセット:

  • initialize
  • capabilities/get
  • session/open
  • session/close
  • task/invoke
  • task/respond
  • task/status
  • task/cancel

重要なイベントタイプ:

  • task.started
  • task.progress
  • task.question
  • task.output
  • task.completed
  • task.failed
  • task.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 に文書化されています

関連スキル