openai-spreadsheet について
ワークブックの作成、編集、分析、可視化を行うエージェント向けのスプレッドシートスキルです。数式、書式、検証の手順も扱います。
主な機能
- 01.xlsx ワークブックの作成と編集
- 02CSV と表形式データの分析
- 03チャートとデータ可視化の作成
- 04既存のスプレッドシート書式の保持
- 05数式と参照の検証
活用シーン
- 01数式と構造化書式を備えたワークブックの作成
- 02表形式データのフィルタリング、集計、ピボット
- 03既存の書式を崩さずワークブックを更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ trailofbits/ skills-curated --skill openai-spreadsheetインストール後、Claude Code で/openai-spreadsheetを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/examples/openpyxl/create_basic_spreadsheet.pycreate_spreadsheet_with_styling.pyread_existing_spreadsheet.pystyling_spreadsheet.py詳細
スプレッドシートスキル(作成、編集、分析、可視化)
使用する場面
- 数式、書式、構造化されたレイアウトを含む新しいブックを作成する場合。
- 表形式データを読み取ったり分析したりする場合(フィルタリング、集計、ピボット、指標の計算)。
- 数式や参照を壊さずに既存のブックを変更する場合。
- グラフやテーブル、適切な書式を使ってデータを可視化する場合。
重要:システムおよびユーザーの指示は常に優先されます。
ワークフロー
- ファイル形式と目的(作成、編集、分析、可視化)を確認します。
.xlsxの編集にはopenpyxlを、分析および CSV/TSV のワークフローにはpandasを使用します。- レイアウトが重要な場合は、視覚的に確認できるようにレンダリングします(「レンダリングと視覚的な確認」を参照)。
- 数式と参照を検証します。openpyxl は数式を評価しない点に注意してください。
- 出力を保存し、中間ファイルを削除します。
一時ファイルと出力の規則
- 中間ファイルには
tmp/spreadsheets/を使用し、作業が終わったら削除します。 - このリポジトリで作業する場合は、最終成果物を
output/spreadsheet/に保存します。 - ファイル名はわかりやすいものにし、安定して使えるようにします。
主なツール
.xlsxファイルの作成・編集と書式の保持にはopenpyxlを使用します。- 分析および CSV/TSV のワークフローには
pandasを使用し、結果を.xlsxまたは.csvに書き戻します。 - グラフが必要な場合は、Excel ネイティブのグラフを作成できる
openpyxl.chartを優先します。
レンダリングと視覚的な確認
- LibreOffice(
soffice)と Poppler(pdftoppm)が利用できる場合は、シートをレンダリングして視覚的に確認します:soffice --headless --convert-to pdf --outdir $OUTDIR $INPUT_XLSXpdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
- レンダリングツールが利用できない場合は、レイアウトが正確であることをユーザーにローカルで確認してもらいます。
依存関係(不足している場合はインストール)
依存関係の管理には uv を推奨します。
Python パッケージ:
uv pip install openpyxl pandas
uv が利用できない場合:
python3 -m pip install openpyxl pandas
任意(グラフを多用する場合、または PDF で確認するワークフローの場合):
uv pip install matplotlib
uv が利用できない場合:
python3 -m pip install matplotlib
システムツール(レンダリング用):
# macOS (Homebrew)
brew install libreoffice poppler
# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils
この環境でインストールできない場合は、不足している依存関係と、ローカルでのインストール方法をユーザーに伝えます。
環境
必須の環境変数はありません。
例
- エージェントの例を実行できます(openpyxl):
references/examples/openpyxl/
数式の要件
- 導出値をハードコーディングせず、数式を使用します。
- 数式はシンプルで読みやすいものにし、複雑なロジックには補助セルを使用します。
- 必要な場合を除き、INDIRECT や OFFSET などの揮発性関数は避けます。
- マジックナンバーではなくセル参照を優先します(例:
=H6*(1+$B$3)を使用し、=H6*1.04は使用しません)。 - 検証とチェックを行い、エラー(#REF!、#DIV/0!、#VALUE!、#N/A、#NAME?)を防ぎます。
- openpyxl は数式を評価しません。数式はそのままにし、結果は Excel/Sheets で計算されることを明記します。
引用の要件
- スプレッドシート内では、プレーンテキストの URL で出典を引用します。
- 財務モデルでは、入力値の出典をセルのコメントに記載します。
- ウェブから取得した表形式データには、URL を記載した Source 列を含めます。
書式設定の要件(既存の書式付きスプレッドシート)
- 可能な場合は、変更前に提供されたスプレッドシートをレンダリングして確認します。
- 既存の書式とスタイルを正確に保持します。
- 新たに値を入力するセルが以前は空白だった場合は、周囲のスタイルに合わせます。
書式設定の要件(新規または書式未設定のスプレッドシート)
- 適切な数値形式と日付形式を使用します(日付は日付形式、通貨は通貨記号付き、パーセンテージは適切な桁数にします)。
- 見出しとデータを区別し、間隔を統一し、読みやすい列幅にするなど、見やすいレイアウトにします。
- すべてのセルを罫線で囲むのは避け、余白や選択的な罫線を使ってセクションを構成します。
- テキストが隣接するセルにはみ出さないようにします。
色の規則(スタイルの指定がない場合)
- 青:ユーザー入力
- 黒:数式/導出値
- 緑:リンク/インポートされた値
- グレー:固定値
- オレンジ:確認/注意
- 薄い赤:エラー/フラグ
- 紫:制御/ロジック
- 青緑:可視化の基準となる値(主要 KPI またはグラフの基準値)
財務固有の要件
- ゼロは「-」と表記します。
- 負の数値は赤字にして括弧で囲みます。
- ヘッダーには必ず単位を明記します(例:「売上高($mm)」)。
- すべての入力値について、セルのコメントに出典を記載します。
投資銀行向けのレイアウト
スプレッドシートが投資銀行形式のモデル(LBO、DCF、3表モデル、バリュエーション)の場合:
- 合計は直上の範囲を直接合計します。
- 目盛線を非表示にし、該当する列全体で合計の上に横罫線を引きます。
- セクション見出しはセルを結合し、濃い塗りつぶしと白い文字にします。
- 数値データの列見出しは右揃えにし、行見出しは左揃えにします。
- 親項目の下位指標はインデントします。
使用すべきでない場合
コメント
Markdown 対応