cli-anything-libreoffice について
cli-anything-libreofficeは、Writer、Calc、Impressの文書を作成、編集、インポート、書き出すステートフルなCLIです。対話型セッション、取り消しとやり直し、エージェント向けワークフローに使えるJSON出力を備えています。
主な機能
- 01Writer、Calc、Impressの内容を編集
- 02既存のOffice・ODFファイルをインポート
- 03スタイルとページプロファイルを管理
- 04セッション履歴による取り消しとやり直し
- 05文書をファイルに書き出し
- 06読みやすい形式とJSON出力
活用シーン
- 01文書、スプレッドシート、プレゼンテーションを作成
- 02Officeファイルを取り込んで構造的に編集
- 03JSON出力を使って文書変更を自動化
- 04完成したプロジェクトをPDFに書き出し
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-libreofficeインストール後、Claude Code で/cli-anything-libreofficeを入力して読み込まれたか確認します。
詳細
cli-anything-libreoffice
ドキュメント編集のためのステートフルなコマンドラインインターフェースで、実際の ODF ファイル(XML を含む ZIP アーカイブ)を生成します。GUI や LibreOffice のインストールなしで Writer、Calc、Impress ドキュメントを作成・操作する必要がある AI エージェントやパワーユーザー向けに設計されています。
インストール
この CLI は cli-anything-libreoffice パッケージの一部としてインストールされます:
pip install cli-anything-libreoffice
前提条件:
- Python 3.10+
- libreoffice がシステムにインストールされている必要があります
使用方法
基本コマンド
# Show help
cli-anything-libreoffice --help
# Start interactive REPL mode
cli-anything-libreoffice
# Create a new project
cli-anything-libreoffice project new -o project.json
# Run with JSON output (for agent consumption)
cli-anything-libreoffice --json project info -p project.json
REPL モード
サブコマンドなしで起動すると、CLI は対話型の REPL セッションに入ります:
cli-anything-libreoffice
# Enter commands interactively with tab-completion and history
コマンドグループ
Document
ドキュメント管理コマンド。
| コマンド | 説明 |
|---|---|
new | 新しいドキュメントを作成します |
open | プロジェクト JSON を開く、または既存の Office/ODF ファイルをインポートします |
import | 既存の Office/ODF ファイルをプロジェクト JSON にインポートします |
import-formats | サポートされているインポート形式を一覧表示します |
save | 現在のドキュメントを保存します |
info | ドキュメント情報を表示します |
profiles | 利用可能なページプロファイルを一覧表示します |
json | 生のプロジェクト JSON を出力します |
Writer
Writer(ワープロ)コマンド。
| コマンド | 説明 |
|---|---|
add-paragraph | ドキュメントに段落を追加します |
add-heading | ドキュメントに見出しを追加します |
add-list | ドキュメントにリストを追加します |
add-table | ドキュメントに表を追加します |
add-page-break | 改ページを追加します |
remove | インデックスでコンテンツ項目を削除します |
list | すべてのコンテンツ項目を一覧表示します |
set-text | コンテンツ項目のテキストを設定します |
Calc
Calc(スプレッドシート)コマンド。
| コマンド | 説明 |
|---|---|
add-sheet | 新しいシートを追加します |
remove-sheet | インデックスでシートを削除します |
rename-sheet | シートの名前を変更します |
set-cell | セルの値を設定します |
get-cell | セルの値を取得します |
list-sheets | すべてのシートを一覧表示します |
Impress
Impress(プレゼンテーション)コマンド。
| コマンド | 説明 |
|---|---|
add-slide | プレゼンテーションにスライドを追加します |
remove-slide | インデックスでスライドを削除します |
set-content | スライドのタイトルやコンテンツを更新します |
list-slides | すべてのスライドを一覧表示します |
add-element | スライドに要素を追加します |
Style Group
スタイル管理コマンド。
| コマンド | 説明 |
|---|---|
create | 新しいスタイルを作成します |
modify | 既存のスタイルを変更します |
list | すべてのスタイルを一覧表示します |
apply | コンテンツ項目にスタイルを適用します(Writer のみ) |
remove | スタイルを削除します |
Export Group
エクスポート/レンダリングコマンド。
| コマンド | 説明 |
|---|---|
presets | エクスポートプリセットを一覧表示します |
preset-info | プリセットの詳細を表示します |
render | ドキュメントをファイルにエクスポートします |
Session
セッション管理コマンド。
| コマンド | 説明 |
|---|---|
status | セッションのステータスを表示します |
undo | 最後の操作を元に戻します |
redo | 最後に元に戻した操作をやり直します |
history | 元に戻す履歴を表示します |
例
新しいプロジェクトの作成
新しい libreoffice プロジェクトファイルを作成します。
cli-anything-libreoffice project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-libreoffice --json project new -o myproject.json
対話型 REPL セッション
元に戻す/やり直しをサポートする対話型セッションを開始します。
cli-anything-libreoffice
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
プロジェクトのエクスポート
プロジェクトを最終出力形式にエクスポートします。
cli-anything-libreoffice --project myproject.json export render output.pdf --overwrite
状態管理
CLI は以下を含むセッション状態を維持します:
- 元に戻す/やり直し:最大 50 レベルの履歴
- プロジェクトの永続化:プロジェクトの状態を JSON として保存/読み込み
- 既存ファイルのインポート:ODF/DOCX/XLSX/PPTX および関連形式を編集可能なプロジェクト JSON に変換
- セッションの追跡:変更と更新を追跡
出力形式
すべてのコマンドは二つの出力モードをサポートします:
- 人間が読みやすい形式(デフォルト):表、色、整形されたテキスト
- 機械が読み取れる形式(
--jsonフラグ):エージェントが利用するための構造化 JSON
# Human output
cli-anything-libreoffice project info -p project.json
# JSON output for agents
cli-anything-libreoffice --json project info -p project.json
AI エージェント向け
この CLI をプログラムから使用する場合:
- 常に
--jsonフラグを使用する - 解析可能な出力を得るため - リターンコードを確認する - 0 は成功、非ゼロはエラー
- 失敗時は stderr を解析する - エラーメッセージを取得するため
- すべてのファイル操作に絶対パスを使用する
- 既存の Office ファイルをまず JSON にインポートする -
document import input.docx -o work.jsonを使用 - エクスポート操作後に出力が存在することを確認する
詳細情報
- 完全なドキュメント: パッケージ内の README.md を参照してください
- テストカバレッジ: パッケージ内の TEST.md を参照してください
- 方法論: cli-anything-plugin 内の HARNESS.md を参照してください
バージョン
1.0.0