openai-doc について
ページレイアウトを重視する DOCX の作成、編集、レビュー向けワークフロースキルです。python-docx による編集とページのレンダリング確認を組み合わせ、テキスト抽出も代替手段として示します。
主な機能
- 01DOCX の作成と編集
- 02ページのレンダリングと確認
- 03変更後のレイアウト検査
- 04テキスト抽出による代替
- 05一時ファイルと出力先の規則
活用シーン
- 01DOCX 内の表や図の確認
- 02書式を整えた DOCX の作成
- 03納品前のページ割り確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ trailofbits/ skills-curated --skill openai-docインストール後、Claude Code で/openai-docを入力して読み込まれたか確認します。
同梱ファイルscripts/render_docx.py
詳細
DOCX スキル
使用する場面
- レイアウト(表、図、ページ割り)が重要な DOCX の内容を読んだり確認したりする場合。
- プロフェッショナルな書式で DOCX ファイルを作成または編集する場合。
- 納品前に視覚的なレイアウトを検証する場合。
ワークフロー
- 視覚的な確認(レイアウト、表、図)を優先します。
sofficeとpdftoppmが利用できる場合は、DOCX を PDF に変換し、さらに PNG に変換します。- または、
scripts/render_docx.pyを使用します(pdf2imageと Poppler が必要です)。 - これらのツールがない場合は、インストールするか、レンダリングしたページをユーザーがローカルで確認するよう依頼します。
- 編集や構造化された文書の作成(見出し、スタイル、表、リスト)には
python-docxを使用します。 - 重要な変更を加えるたびに、再レンダリングしてページを確認します。
- 視覚的な確認ができない場合は、代替手段として
python-docxでテキストを抽出し、レイアウト上のリスクを伝えます。 - 中間ファイルを整理し、最終承認後にクリーンアップします。
一時ファイルと出力の規則
- 中間ファイルには
tmp/docs/を使用し、作業完了後に削除します。 - このリポジトリで作業する場合は、最終成果物を
output/doc/に保存します。 - ファイル名は分かりやすいものにし、変更しないでください。
依存関係(未インストールの場合はインストール)
依存関係の管理には uv を優先してください。
Python パッケージ:
uv pip install python-docx pdf2image
uv を利用できない場合:
python3 -m pip install python-docx pdf2image
システムツール(レンダリング用):
# macOS (Homebrew)
brew install libreoffice poppler
# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils
この環境でインストールできない場合は、不足している依存関係と、ローカルでのインストール方法をユーザーに伝えてください。
環境
必須の環境変数はありません。
レンダリングコマンド
DOCX -> PDF:
soffice -env:UserInstallation=file:///tmp/lo_profile_$$ --headless --convert-to pdf --outdir $OUTDIR $INPUT_DOCX
PDF -> PNG:
pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
同梱のヘルパー:
python3 scripts/render_docx.py /path/to/file.docx --output_dir /tmp/docx_pages
品質への期待
- タイポグラフィ、間隔、余白、階層構造が一貫した、クライアントにそのまま納品できる文書を作成します。
- テキストの切れや重なり、表の崩れ、読めない文字、デフォルトのテンプレートスタイルなどの書式上の問題を避けます。
- グラフ、表、図は、レンダリングしたページ上で正しく配置され、読みやすいものにします。
- ASCII のハイフンのみを使用します。U+2011(ノーブレークハイフン)やその他の Unicode ダッシュは使用しないでください。
- 引用と参照は人が読める形式にし、ツールのトークンやプレースホルダー文字列を残さないでください。
最終確認
- 最終納品前に、すべてのページを 100% のズームで再レンダリングして確認します。
- 間隔、配置、ページ割りの問題を修正し、レンダリングの手順を繰り返します。
- ユーザーから保持の指示がない限り、一時ファイルや重複したレンダリング結果などが残っていないことを確認します。
使用しない場面
コメント
Markdown 対応