spreadsheet
Pythonの`openpyxl`や`pandas`を使用してスプレッドシート(`.xlsx`・`.csv`・`.tsv`)の作成・編集・分析・フォーマットを行う際に使用します。数式・参照・書式設定の保持と検証が必要な場面で特に有効です。
description の原文を見る
Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`, `.csv`, `.tsv`) using Python (`openpyxl`, `pandas`), especially when formulas, references, and formatting need to be preserved and verified.
SKILL.md 本文
スプレッドシート スキル(作成、編集、分析、可視化)
使用場面
- 数式、フォーマット、構造化されたレイアウトを備えた新しいワークブックの構築。
- 表形式データの読み込みまたは分析(フィルタ、集計、ピボット、メトリクス計算)。
- 既存ワークブックの修正(数式や参照を損なわない)。
- チャート/表での可視化と適切なフォーマット。
重要:システムと利用者の指示は常に優先されます。
ワークフロー
- ファイルタイプと目標(作成、編集、分析、可視化)を確認します。
.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
この環境でインストールが不可能な場合、ユーザーにどの依存関係が不足しており、ローカルでどのようにインストールするか伝えます。
環境
必須の環境変数はありません。
例
- 実行可能な Codex 例(openpyxl):
references/examples/openpyxl/
数式の要件
- 結果をハードコーディングするのではなく、派生値には数式を使用します。
- 数式は単純かつ読みやすく保ちます。複雑なロジックにはヘルパーセルを使用します。
- INDIRECT や OFFSET など、必要でない限り揮発性関数を避けます。
- マジックナンバーではなくセル参照を優先します(例:
=H6*1.04ではなく=H6*(1+$B$3))。 - 検証とチェックで誤り(#REF!、#DIV/0!、#VALUE!、#N/A、#NAME?)から保護します。
openpyxlは数式を評価しません。数式はそのまま保持し、結果は Excel/Sheets で計算されることに注意してください。
引用要件
- スプレッドシート内でプレーンテキスト URL を使用してソースを引用します。
- 財務モデルの場合、セルコメントに入力ソースを引用します。
- ウェブから取得した表形式データの場合、URL を含むソース列を追加します。
フォーマット要件(既存のフォーマット済みスプレッドシート)
- 可能な限り、提供されたスプレッドシートをレンダリングして修正前に検査します。
- 既存のフォーマットとスタイルを正確に保持します。
- 以前は空白だったセルに新しく入力する場合、スタイルを一致させます。
フォーマット要件(新規またはスタイルなしのスプレッドシート)
- 適切な数値形式と日付形式を使用します(日付は日付として、通貨は記号付き、パーセンテージは適切な精度)。
- クリーンな視覚レイアウト:ヘッダーをデータと区別し、間隔を統一し、列幅を読みやすくします。
- すべてのセルの周りに枠線を引くことを避けます。空白と選択的な枠線を使用してセクションを構成します。
- テキストが隣接するセルに溢れないようにします。
色規約(スタイルガイドがない場合)
- 青:ユーザー入力
- 黒:数式/派生値
- 緑:リンク/インポート値
- グレー:静的定数
- オレンジ:レビュー/注意
- 薄赤:エラー/フラグ
- 紫:制御/ロジック
- ティール:可視化アンカー(主要 KPI またはチャートドライバー)
財務固有要件
- ゼロは「-」でフォーマットします。
- 負の数は赤色で括弧内に表示します。
- ヘッダーに常に単位を指定します(例:「Revenue ($mm)」)。
- セルコメントですべての生データ入力のソースを引用します。
投資銀行のレイアウト
スプレッドシートが投資銀行スタイルモデル(LBO、DCF、3ステートメント、評価)の場合:
- 合計は直上の範囲を合計します。
- グリッドラインを非表示にし、関連列全体で合計の上に水平枠線を使用します。
- セクションヘッダーは濃いフィルと白いテキストをマージしたセルにします。
- 数値データの列ラベルは右寄せ、行ラベルは左寄せにします。
- サブメトリクスを親の行項目の下にインデントします。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。