jpskill.com
📄 ドキュメント コミュニティ

minimax-xlsx

Excelやスプレッドシート(.xlsx, .xlsm, .csv, .tsv)ファイルの作成、読み込み、分析、編集、検証を行い、ピボットテーブルや財務モデル、数式なども扱い、プロレベルの書式設定も可能な、表計算データ処理全般を支援するSkill。

📜 元の英語説明(参考)

Open, create, read, analyze, edit, or validate Excel/spreadsheet files (.xlsx, .xlsm, .csv, .tsv). Use when the user asks to create, build, modify, analyze, read, validate, or format any Excel spreadsheet, financial model, pivot table, or tabular data file. Covers: creating new xlsx from scratch, reading and analyzing existing files, editing existing xlsx with zero format loss, formula recalculation and validation, and applying professional financial formatting standards. Triggers on 'spreadsheet', 'Excel', '.xlsx', '.csv', 'pivot table', 'financial model', 'formula', or any request to produce tabular data in Excel format.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Excelやスプレッドシート(.xlsx, .xlsm, .csv, .tsv)ファイルの作成、読み込み、分析、編集、検証を行い、ピボットテーブルや財務モデル、数式なども扱い、プロレベルの書式設定も可能な、表計算データ処理全般を支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o minimax-xlsx.zip https://jpskill.com/download/19703.zip && unzip -o minimax-xlsx.zip && rm minimax-xlsx.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19703.zip -OutFile "$d\minimax-xlsx.zip"; Expand-Archive "$d\minimax-xlsx.zip" -DestinationPath $d -Force; ri "$d\minimax-xlsx.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して minimax-xlsx.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → minimax-xlsx フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
18

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] minimax-xlsx

MiniMax XLSX スキル

リクエストを直接処理します。サブエージェントを生成しないでください。ユーザーが要求する出力ファイルを常に書き込んでください。

タスクルーティング

タスク メソッド ガイド
READ — 既存データの分析 xlsx_reader.py + pandas references/read-analyze.md
CREATE — ゼロからの新しい xlsx 作成 XML テンプレート references/create.md + references/format.md
EDIT — 既存の xlsx の変更 XML アンパック→編集→パック references/edit.md (+ スタイルが必要な場合は format.md)
FIX — 既存の xlsx の破損した数式の修復 XML アンパック→<f> ノードの修正→パック references/fix.md
VALIDATE — 数式のチェック formula_check.py references/validate.md

READ — データの分析 (references/read-analyze.md を最初に読んでください)

構造の発見には xlsx_reader.py から始め、次にカスタム分析には pandas を使用します。ソースファイルを変更しないでください。

書式設定ルール: ユーザーが小数点以下の桁数(例: 「小数点以下2桁」)を指定した場合、その書式をすべての数値に適用します — すべての数値に f'{v:.2f}' を使用してください。12875.00 が必要な場合に 12875 を出力しないでください。

集計ルール: 合計/平均/カウントは常に DataFrame の列から直接計算します — 例: df['Revenue'].sum()。集計前に列の値を再導出しないでください。

CREATE — XML テンプレート (references/create.md + references/format.md を読んでください)

templates/minimal_xlsx/ をコピーし、XML を直接編集し、xlsx_pack.py でパックします。すべての派生値は Excel の数式 (<f>SUM(B2:B9)</f>) でなければならず、ハードコードされた数値であってはなりません。format.md に従ってフォントの色を適用してください。

EDIT — XML 直接編集 (references/edit.md を最初に読んでください)

重要 — 編集の整合性ルール:

  1. 編集タスクのために新しい Workbook() を作成しないでください。常に元のファイルをロードしてください。
  2. 出力は入力と同じシートを含んでいる必要があります(同じ名前、同じデータ)。
  3. タスクが要求する特定のセルのみを変更してください — それ以外のすべては手つかずのままにする必要があります。
  4. output.xlsx を保存した後、検証してください: xlsx_reader.py または pandas で開き、元のシート名と元のデータの一部が存在することを確認してください。検証に失敗した場合、間違ったファイルを書き込んだことになります — 納品する前に修正してください。

既存のファイルに対して openpyxl のラウンドトリップを使用しないでください(VBA、ピボット、スパークラインが破損します)。代わりに、アンパック → ヘルパースクリプトの使用 → リパックを行ってください。

「セルを埋める」 / 「既存のセルに数式を追加する」 = EDIT タスク。 入力ファイルが既に存在し、特定のセルを埋める、更新する、または数式を追加するように指示された場合、XML 編集パスを使用しなければなりません。新しい Workbook() を作成しないでください。例 — B3 にシート間 SUM 数式を埋める:

python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
# xl/workbook.xml → xl/_rels/workbook.xml.rels を介してターゲットシートの XML を見つけます
# 次に、Edit ツールを使用してターゲットの <c> 要素内に <f> を追加します:
#   <c r="B3"><f>SUM('Sales Data'!D2:D13)</f><v></v></c>
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx

列を追加する(数式、数値書式、スタイルは隣接する列から自動コピーされます):

python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
python3 SKILL_DIR/scripts/xlsx_add_column.py /tmp/xlsx_work/ --col G \
    --sheet "Sheet1" --header "% of Total" \
    --formula '=F{row}/$F$10' --formula-rows 2:9 \
    --total-row 10 --total-formula '=SUM(G2:G9)' --numfmt '0.0%' \
    --border-row 10 --border-style medium
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx

--border-row フラグは、その行のすべてのセル(新しい列だけでなく)に上罫線を適用します。タスクが合計行に会計スタイルの罫線を要求する場合に使用してください。

行を挿入する(既存の行をシフトし、SUM 数式を更新し、循環参照を修正します):

python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
# 重要: プロンプトの行番号を使用するのではなく、ワークシート XML でラベルテキストを検索して、正しい --at 行を見つけます。
# プロンプトでは「5行目 (Office Rent)」と記載されているかもしれませんが、Office Rent は実際には
# 4行目にあるかもしれません。常に最初にテキストラベルでその行を特定してください。
python3 SKILL_DIR/scripts/xlsx_insert_row.py /tmp/xlsx_work/ --at 5 \
    --sheet "Budget FY2025" --text A=Utilities \
    --values B=3000 C=3000 D=3500 E=3500 \
    --formula 'F=SUM(B{row}:E{row})' --copy-style-from 4
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx

行検索ルール: タスクが「N行目 (ラベル) の後に」と指示する場合、常にワークシート XML で「ラベル」を検索して行を見つけてください(grep -n "Label" /tmp/xlsx_work/xl/worksheets/sheet*.xml または sharedStrings.xml を確認してください)。--at には実際の行番号 + 1 を使用してください。xlsx_shift_rows.py を個別に呼び出さないでください — xlsx_insert_row.py が内部で呼び出します。

行全体の罫線を適用する(例: 合計行の会計線): ヘルパースクリプトを実行した後、新しく追加されたセルだけでなく、ターゲット行のすべてのセルに罫線を適用してください。xl/styles.xml で、目的のスタイルを持つ新しい <border> を追加し、次に <cellXfs> に、各セルの既存の <xf> をクローンし、新しい borderId を設定する新しい <xf> を追加します。s 属性を介して、その行のすべての <c> に新しいスタイルインデックスを適用します:

<!-- xl/styles.xml の <borders> に追加: -->
<border>
  <left/><right/><top style="medium"/><bottom/><diagonal/>
</border>
<!-- 次に、既存のスタイルごとに新しい borderId を持つ xf クローンを <cellXfs> に追加します -->

キーとなるルール: タスクが「N行目に罫線を追加する」と指示する場合、新しく追加されたセルだけでなく、A列から最終列までのすべてのセルを反復処理してください。

手動 XML 編集(ヘルパースクリプトでカバーされていないものすべて):

python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
# ... Edit ツールで XML を編集 ...
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx

FIX — 破損した数式の修復 (references/fix.md を最初に読んでください)

これは EDIT タスクです。アンパック → 破損した <f> ノードを修正 → パックします。すべての元のシートとデータを保持してください。

VALIDATE — 数式のチェック (references/validate.md を最初に読んでください)

静的検証のために formula_check.py を実行します。libreof

(原文がここで切り詰められています)

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

MiniMax XLSX Skill

Handle the request directly. Do NOT spawn sub-agents. Always write the output file the user requests.

Task Routing

Task Method Guide
READ — analyze existing data xlsx_reader.py + pandas references/read-analyze.md
CREATE — new xlsx from scratch XML template references/create.md + references/format.md
EDIT — modify existing xlsx XML unpack→edit→pack references/edit.md (+ format.md if styling needed)
FIX — repair broken formulas in existing xlsx XML unpack→fix <f> nodes→pack references/fix.md
VALIDATE — check formulas formula_check.py references/validate.md

READ — Analyze data (read references/read-analyze.md first)

Start with xlsx_reader.py for structure discovery, then pandas for custom analysis. Never modify the source file.

Formatting rule: When the user specifies decimal places (e.g. "2 decimal places"), apply that format to ALL numeric values — use f'{v:.2f}' on every number. Never output 12875 when 12875.00 is required.

Aggregation rule: Always compute sums/means/counts directly from the DataFrame column — e.g. df['Revenue'].sum(). Never re-derive column values before aggregation.

CREATE — XML template (read references/create.md + references/format.md)

Copy templates/minimal_xlsx/ → edit XML directly → pack with xlsx_pack.py. Every derived value MUST be an Excel formula (<f>SUM(B2:B9)</f>), never a hardcoded number. Apply font colors per format.md.

EDIT — XML direct-edit (read references/edit.md first)

CRITICAL — EDIT INTEGRITY RULES:

  1. NEVER create a new Workbook() for edit tasks. Always load the original file.
  2. The output MUST contain the same sheets as the input (same names, same data).
  3. Only modify the specific cells the task asks for — everything else must be untouched.
  4. After saving output.xlsx, verify it: open with xlsx_reader.py or pandas and confirm the original sheet names and a sample of original data are present. If verification fails, you wrote the wrong file — fix it before delivering.

Never use openpyxl round-trip on existing files (corrupts VBA, pivots, sparklines). Instead: unpack → use helper scripts → repack.

"Fill cells" / "Add formulas to existing cells" = EDIT task. If the input file already exists and you are told to fill, update, or add formulas to specific cells, you MUST use the XML edit path. Never create a new Workbook(). Example — fill B3 with a cross-sheet SUM formula:

python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
# Find the target sheet's XML via xl/workbook.xml → xl/_rels/workbook.xml.rels
# Then use the Edit tool to add <f> inside the target <c> element:
#   <c r="B3"><f>SUM('Sales Data'!D2:D13)</f><v></v></c>
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx

Add a column (formulas, numfmt, styles auto-copied from adjacent column):

python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
python3 SKILL_DIR/scripts/xlsx_add_column.py /tmp/xlsx_work/ --col G \
    --sheet "Sheet1" --header "% of Total" \
    --formula '=F{row}/$F$10' --formula-rows 2:9 \
    --total-row 10 --total-formula '=SUM(G2:G9)' --numfmt '0.0%' \
    --border-row 10 --border-style medium
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx

The --border-row flag applies a top border to ALL cells in that row (not just the new column). Use it when the task requires accounting-style borders on total rows.

Insert a row (shifts existing rows, updates SUM formulas, fixes circular refs):

python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
# IMPORTANT: Find the correct --at row by searching for the label text
# in the worksheet XML, NOT by using the row number from the prompt.
# The prompt may say "row 5 (Office Rent)" but Office Rent might actually
# be at row 4. Always locate the row by its text label first.
python3 SKILL_DIR/scripts/xlsx_insert_row.py /tmp/xlsx_work/ --at 5 \
    --sheet "Budget FY2025" --text A=Utilities \
    --values B=3000 C=3000 D=3500 E=3500 \
    --formula 'F=SUM(B{row}:E{row})' --copy-style-from 4
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx

Row lookup rule: When the task says "after row N (Label)", always find the row by searching for "Label" in the worksheet XML (grep -n "Label" /tmp/xlsx_work/xl/worksheets/sheet*.xml or check sharedStrings.xml). Use the actual row number + 1 for --at. Do NOT call xlsx_shift_rows.py separately — xlsx_insert_row.py calls it internally.

Apply row-wide borders (e.g. accounting line on a TOTAL row): After running helper scripts, apply borders to ALL cells in the target row, not just newly added cells. In xl/styles.xml, append a new <border> with the desired style, then append a new <xf> in <cellXfs> that clones each cell's existing <xf> but sets the new borderId. Apply the new style index to every <c> in the row via the s attribute:

<!-- In xl/styles.xml, append to <borders>: -->
<border>
  <left/><right/><top style="medium"/><bottom/><diagonal/>
</border>
<!-- Then append to <cellXfs> an xf clone with the new borderId for each existing style -->

Key rule: When a task says "add a border to row N", iterate over ALL cells A through the last column, not just newly added cells.

Manual XML edit (for anything the helper scripts don't cover):

python3 SKILL_DIR/scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
# ... edit XML with the Edit tool ...
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx

FIX — Repair broken formulas (read references/fix.md first)

This is an EDIT task. Unpack → fix broken <f> nodes → pack. Preserve all original sheets and data.

VALIDATE — Check formulas (read references/validate.md first)

Run formula_check.py for static validation. Use libreoffice_recalc.py for dynamic recalculation when available.

Financial Color Standard

Cell Role Font Color Hex Code
Hard-coded input / assumption Blue 0000FF
Formula / computed result Black 000000
Cross-sheet reference formula Green 00B050

Key Rules

  1. Formula-First: Every calculated cell MUST use an Excel formula, not a hardcoded number
  2. CREATE → XML template: Copy minimal template, edit XML directly, pack with xlsx_pack.py
  3. EDIT → XML: Never openpyxl round-trip. Use unpack/edit/pack scripts
  4. Always produce the output file — this is the #1 priority
  5. Validate before delivery: formula_check.py exit code 0 = safe

Utility Scripts

python3 SKILL_DIR/scripts/xlsx_reader.py input.xlsx                 # structure discovery
python3 SKILL_DIR/scripts/formula_check.py file.xlsx --json         # formula validation
python3 SKILL_DIR/scripts/formula_check.py file.xlsx --report      # standardized report
python3 SKILL_DIR/scripts/xlsx_unpack.py in.xlsx /tmp/work/         # unpack for XML editing
python3 SKILL_DIR/scripts/xlsx_pack.py /tmp/work/ out.xlsx          # repack after editing
python3 SKILL_DIR/scripts/xlsx_shift_rows.py /tmp/work/ insert 5 1  # shift rows for insertion
python3 SKILL_DIR/scripts/xlsx_add_column.py /tmp/work/ --col G ... # add column with formulas
python3 SKILL_DIR/scripts/xlsx_insert_row.py /tmp/work/ --at 6 ...  # insert row with data

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。