docx-processing-superdoc について
SuperDoc CLI v1でDOCXファイルを読み書きするためのガイドです。ステートフル操作と単発操作、文書の確認、書式設定、コメント、変更履歴、dry runなどの安全策を説明します。
主な機能
- 01文書内容の確認と検索
- 02内容の置換・挿入・削除
- 03書式設定とリスト管理
- 04コメントの読み取りと管理
- 05変更履歴と履歴の確認
- 06編集のプレビューとリビジョン確認
活用シーン
- 01契約書内の特定テキストの検索と修正
- 02DOCXファイルの管理された編集
- 03コメントと変更履歴の確認
- 04コマンドラインによる文書更新の自動化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lawve-ai/ awesome-legal-skills --skill docx-processing-superdocインストール後、Claude Code で/docx-processing-superdocを入力して読み込まれたか確認します。
同梱ファイルLICENSE.txtREADME.md
詳細
SuperDoc CLI(v1)
DOCX 作業には SuperDoc CLI を使用します。v1 コマンド(標準操作とそのヘルパーラッパー)を使用してください。 v0 形式の一括ワークフローが明示的に必要な場合を除き、レガシーコマンドをデフォルトで使用しないでください。
superdoc がインストールされている場合はそれを使用し、そうでない場合は代替として npx @superdoc-dev/cli@latest を使用してください。
最初のステップ:正確なパラメーターを確認する
不明なコマンドやフラグについては、まず実行時メタデータを確認してください。
superdoc describe
superdoc describe command find
superdoc describe command "comments add"
コマンドごとの引数と制約を確認するには、describe command を使用してください。
推奨ワークフロー
1)状態を保持する複数ステップの編集(推奨)
superdoc open ./contract.docx
superdoc query match --select-json '{"type":"text","pattern":"termination"}' --require exactlyOne
superdoc replace --target-json '{"kind":"text","blockId":"p1","range":{"start":0,"end":11}}' --text "expiration"
superdoc save --in-place
superdoc close
- 変更対象を特定するには、常に
findではなくquery matchを使用してください。query matchは、多重度の保証付きで正確なアドレスを返します。 openの後は、<doc>を省略したコマンドはアクティブ/デフォルトのセッションに対して実行されます。- 明示的にセッションを管理するには、
superdoc session list|set-default|save|closeを使用してください。 - 変更が未保存の状態で
closeするには、--discardを指定するか、事前にsaveする必要があります。
2)ステートレスな単発の読み取り
superdoc get-text ./proposal.docx
superdoc get-markdown ./proposal.docx
superdoc info ./proposal.docx
3)ステートレスな単発の変更
superdoc replace ./proposal.docx \
--target-json '{"kind":"text","blockId":"p1","range":{"start":0,"end":5}}' \
--text "Updated" \
--out ./proposal.updated.docx
- ステートレスモード(
<doc>を指定)では、--dry-runを使用しない限り、変更コマンドに--outが必要です。
安全性:適用前にプレビューする
- 変更を適用せずにプレビューするには、
--dry-runを使用してください。 - ステートフルな変更で楽観的同時実行制御を行うには、
--expected-revision <n>を使用してください。
よく使う v1 コマンド
クエリと確認
- コンテンツを検索/閲覧:
find --type text --pattern "..."またはfind --query-json '{...}' - 変更対象を特定:
query match --select-json '{...}' --require exactlyOne - ブロックを確認:
blocks list、get-node、get-node-by-id - コンテンツを抽出:
get-text、get-markdown、get-html
変更
- テキストを置換:
replace --target-json '{...}' --text "..." - インラインテキストを挿入:
insert --block-id <id> --offset <n> --value "..." - テキスト/ノードを削除:
delete --target-json '{...}' - ブロックを削除:
blocks delete、blocks delete-range - 変更をまとめて適用:
mutations apply --steps-json '[...]' --atomic true --change-mode direct - 段落を作成:
create paragraph --text "..."(任意の--at-jsonを指定可能) - 見出しを作成:
create heading --input-json '{"level":<n>,"text":"..."}'
書式
- 書式を適用:
format apply --block-id <id> --start <n> --end <n> --inline-json '{"bold":true}' - ショートカット:
format bold、format italic、format underline、format strikethrough
リスト
- リスト項目を確認:
lists list、lists get - リスト項目を挿入:
lists insert --node-id <id> --position after --text "..." - 変更:
lists indent、lists outdent、lists set-level、lists set-type、lists convert-to-text
コメント
- 追加/返信:
comments add、comments reply - 読み取り:
comments get、comments list - 編集/解決/移動:
comments edit、comments resolve、comments move、comments set-internal - 削除:
comments delete(標準)またはcomments remove(エイリアス)
変更履歴
- 一覧表示:
track-changes list、track-changes get - 決定:
track-changes accept、track-changes reject、track-changes accept-all、track-changes reject-all
履歴
history get、history undo、history redo
低レベル操作
- 直接呼び出し:
call <operationId> --input-json '{...}'(JSON 出力のみ。--prettyはサポートされていません)
JSON/ファイルのペイロードフラグ
すべてのコマンドで --*-file 形式を使用できるわけではありません。確認するには、describe command <name> を使用してください。
対応する -json 形式と併用できます(どちらか一方を使用し、両方は使用しないでください)。
| フラグの組み合わせ | 使用可能なコマンド |
|---|---|
--query-json / --query-file | find、lists list |
--address-json / --address-file | get-node、lists get |
--input-json / --input-file | call、create paragraph |
--at-json / --at-file | create paragraph |
--target-json は多くの変更コマンドで使用できますが、対応する --target-file はありません。--target-json の代わりに、フラットなフラグ(--block-id、--start、--end)を使用できます。
出力とグローバルフラグ
- デフォルトの出力は JSON エンベロープです。
- 人間が読みやすい出力にするには
--prettyを使用します(callではサポートされていません)。 - グローバルフラグ:
--output <json|pretty>、--session <id>、--timeout-ms <n>。 <doc>に-を指定すると、標準入力から DOCX バイトを読み込みます。
レガシー互換性(必要な場合のみ使用)
レガシー v0.x ブリッジコマンドも引き続き利用できます:
superdoc search <pattern> <files...>
superdoc replace-legacy <find> <to> <files...>
superdoc read <file>
v0 形式の動作が特に必要な場合(特に複数ファイルのグロブ検索・置換)にのみ使用してください。 新しい自動化では、v1 の操作を優先してください。