跳到正文
cccskills
免费在 GitHub 公开中文介绍

xlsx

读取、编辑和分析Excel或CSV表格,合并数据、创建预算与财务模型,并制作图表。还可转换表格格式、调整样式并检查公式错误和工作簿结构,通常另存为新文件。

原文查看原文说明

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file; create a new spreadsheet from scratch or from other data sources; analyze data and output results as an Excel file with charts; convert between tabular file formats (CSV/TSV/JSON/PDF-table → XLSX, or XLSX → CSV/JSON); clean, merge, pivot, or transform tabular data. Trigger especially when the user references a spreadsheet file by name or path, says 'make a table/report/model', mentions Excel/CSV/数据分析/报表/汇总, asks to convert or export a spreadsheet (e.g. 'csv转excel', 'json转表格', 'export as CSV'), or wants data visualization inside a spreadsheet.

asgeirtj/system_prompts_leaks星标 70,411(GitHub 70,411 + cccskills 0)

实测评分 未实测

查看安装方法

适用场景

  • 创建或编辑Excel文件
  • 分析并汇总表格数据
  • 将CSV或JSON转换为Excel
  • 制作预算表或财务模型
  • 创建带图表的表格

中文介绍

功能

此技能可读取Excel、CSV等表格文件,编辑现有工作簿,整理和分析数据,也能创建新表。它支持XLSX与CSV、TSV、JSON及PDF中的表格相互转换,合并多份数据、制作数据透视汇总,以及创建预算表或财务模型。还可添加图表、调整格式,并检查公式错误和工作簿结构。创建或编辑文件时会保留源文件,通常将成果另存为新文件。

适用场景

想汇总已有表格、把多份CSV合并到一个工作簿,或制作预算和费用管理表时,可以使用此技能。需要包含公式的复杂财务模型,或希望在Excel中分享带图表的分析结果时也适用。若请求包含多项工作,会依次进行数据准备、分析、可视化、格式调整和检查。

使用示例

  • “请分析这份CSV,并制作包含要点和图表的Excel文件。”
  • “请将这些CSV合并到一个工作簿,并添加汇总工作表。”
  • “请在这份预算表中增加下一季度的列,并制作数据透视汇总。”

注意事项

此技能采用专有许可,完整条款见LICENSE.txt。公式重算、CSV转XLSX等需要LibreOffice的任务会使用LibreOffice。未经用户确认,不会额外安装字体。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

文档检查

AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。

安全性发送数据、删除文件、执行命令等是否有说明
B部分不足部分任务要求安装LibreOffice,但执行时的确认范围说明不完整。
安装难易度所需工具和 API 密钥是否少且有说明
B部分不足提供环境检查脚本和安装指南,但部分任务还要求LibreOffice。

不计入评分。 由 AI(OpenAI Codex)于 2026年10月24日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(17)

  • SKILL.md18.1 KB
  • engines/chart-templates.md4.7 KB
  • engines/chart.md3.2 KB
  • engines/design.md22.2 KB
  • engines/vba-templates.md12.8 KB
  • env_setup/setup.md13.0 KB
  • quality/pipeline.md10.7 KB
  • scenes/advanced.md6.6 KB
  • scenes/analyze-recipes.md6.5 KB
  • scenes/analyze.md3.7 KB
  • scenes/convert.md3.8 KB
  • scenes/create.md3.0 KB
  • scenes/edit-patterns.md7.1 KB
  • scenes/edit.md7.0 KB
  • scenes/finance_lite.md5.1 KB
  • scenes/finance.md9.4 KB
  • scenes/vba.md7.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

XLSX — Scene-Driven Spreadsheet Workbench

Environment Setup

Quick check — run this first. If it exits 0, skip to Pre-Flight:

source "<skill_directory>/env_setup/env_check.sh"

This auto-detects and exports XLSX_SKILL_DIR and FONT_DIR. No manual variable setup needed.

Only if the check fails, read env_setup/setup.md for full platform-specific installation instructions (dependencies, fonts, China mirrors).

🔴 LibreOffice is install-on-demand and NOT substitutable. env_check.sh reports it as
on-demand MISSING without failing, so a passing check does not mean it is present. The moment
a task needs recalc, .xlsx→PDF, or .csv→.xlsx, you MUST install it — using the user's
Excel/WPS/Numbers instead is forbidden, and a large download is not a reason to skip.
See HARD REQUIREMENT under Quality Gate.

VariableAuto-set by env_check.shDescription
XLSX_SKILL_DIRskill root directoryParent of this file
FONT_DIRmacOS: ~/Library/Fonts, Linux: /usr/share/fontsFont base directory

Local-font-first. Inspect fonts available in the user's local environment and prefer a suitable
installed font. Use bundled or downloaded fonts only as fallbacks; do not install fonts without the
user's confirmation.


Pre-Flight: Intent Gate

Before touching any code, confirm the user actually needs a spreadsheet:

  • Report / analysis summary (述职, 调研报告) → docx skill
  • Presentation (汇报, 演示, pitch deck) → pptx skill
  • Formal print document (合同, 证书, "PDF") → pdf skill
  • Charts only, no data table needed → charts skill
  • User explicitly says a format → respect it

If confirmed xlsx → proceed to Scene Router below.

Request Decomposition (do this every time):

  • Explicit needs: sheets, columns, formulas, metrics the user stated
  • Implicit needs: business context, downstream use (filter? sort? input?)
  • Multi-part requests: generate ALL parts — never silently drop a component

Multi-Intent Detection — some requests combine multiple scenes:

"Create a financial model with charts and export a PDF summary"
 → scenes/finance.md + engines/chart.md + (hand off PDF to pdf skill)

"Analyze this CSV, build a dashboard, and make it look professional"
 → scenes/analyze.md + engines/chart.md + engines/design.md

"Edit this budget file, add a new quarter column, and create a pivot"
 → scenes/edit.md + quality/pipeline.md (pivot command)

"Convert these 5 CSVs into one xlsx with a summary sheet"
 → scenes/convert.md + scenes/create.md (for summary)

When multiple intents detected, load all matching files and execute in logical order: data preparation → analysis → visualization → styling → QA.


File Loading Rules (MANDATORY)

Always load ALL matched files. No shortcuts, no lazy loading, no "on demand".

User Request
│
├─ 1. Read SKILL.md (this file) — always
├─ 2. Route to scene file(s) via Scene Router below — read COMPLETELY
├─ 3. If scene involves charts → ALSO read engines/chart.md
├─ 4. If scene produces styled output → ALSO read engines/design.md
├─ 5. If scene is analyze → ALSO read scenes/analyze-recipes.md
├─ 6. If scene is edit → ALSO read scenes/edit-patterns.md
├─ 7. If scene is VBA → ALSO read engines/vba-templates.md
└─ 8. QA: always run full pipeline (quality/pipeline.md)

Rule: when in doubt, read the file. The cost of reading an extra file is a few hundred tokens. The cost of NOT reading it is a broken output that needs to be redone.

Chart + Design engines are loaded by default unless the task is purely read-only (inspect/validate with no output file). If you are creating or editing an xlsx, you MUST read engines/design.md.


Scene Router

User Request
│
├─ Involves an existing file?
│  ├─ Yes → Modify content or structure?
│  │         ├─ Yes ──────────────────── → scenes/edit.md
│  │         └─ No (read/analyze only) ─ → scenes/analyze.md
│  │
│  └─ Format conversion (CSV↔XLSX, JSON, PDF tables)?
│     └─ Yes ────────────────────────── → scenes/convert.md
│
├─ Create from scratch?
│  ├─ Financial / budget / forecast / cost tracking?
│  │  ├─ Complex (DCF / LBO / three-statement linkage (三表联动) / sensitivity / IB model)?
│  │  │  └─ Yes ─────────────────────── → scenes/finance.md
│  │  └─ Simple (budget table (预算表) / expense report (费用报表) / revenue vs cost (收支对比) / project cost (项目成本) / personal finance (个人记账))?
│  │     └─ Yes ─────────────────────── → scenes/finance_lite.md
│  └─ General table / report / template
│     └─ ──────────────────────────── → scenes/create.md
│
├─ Batch processing / large files / protection / validation?
│  └─ Yes ───────────────────────────── → scenes/advanced.md
│
├─ VBA / macros / automation inside Excel?
│  └─ Yes ───────────────────────────── → scenes/vba.md + engines/vba-templates.md
│
├─ Needs charts or data visualization?
│  └─ Yes ───────────── append ────────→ engines/chart.md
│
└─ Needs styling / design system?
   └─ Yes ───────────── append ────────→ engines/design.md

Mixed requests: load all matching files. Engine files always append to a scene.

Finance detection:

  • finance.md (complex): DCF, LBO, P&L, 利润表, 资产负债, valuation, 估值, IRR, 三表联动, sensitivity, scenario
  • finance_lite.md (simple): 预算, budget, 费用, expense, 收支, 记账, 项目成本, cost tracking, 报销, ROI

VBA detection: 宏, macro, VBA, 自动化, automation, .xlsm, 按钮, button, auto-run, 批量处理脚本


Design Principles

1. Live Formula Guarantee

Every derived value SHOULD be an Excel formula so the spreadsheet stays dynamic.

Exception — Programmatic Verification: When the output file will be verified by Python (not opened in Excel), TOTAL/SUM rows should write computed values instead of formulas, because openpyxl cannot evaluate formulas and data_only=True returns None for newly-written formulas. Optionally add the formula as a cell comment for reference.

2. Zero Error Tolerance

Deliverables must have zero formula errors. All divisions wrapped with IFERROR or IF(denom=0,...). Absolute references ($C$42) for shared denominators.

3. Compatibility First

No dynamic array functions (FILTER, UNIQUE, XLOOKUP, SORT, SORTBY, XMATCH, SEQUENCE, LET, LAMBDA, RANDARRAY). No implicit array formulas — use SUMPRODUCT alternatives.

4. Preserve & Match

When editing existing files: study and exactly match format, style, conventions. Existing patterns always override defaults. Text starting with = must be prefixed with '.

5. Language Mirror

Output language (sheet names, headers, labels) matches user's input language.

6. Data Consistency Over Instructions

When user instructions conflict with the actual data patterns in the existing file:

  • First priority: match the existing data pattern (e.g., if existing data uses 0 for empty, don't switch to -)
  • Second priority: follow user instructions literally
  • Always flag the conflict to the user

Example: User says "show hyphen for zero" but existing data and answer key use numeric 0 → Use 0 and notify user of the discrepancy.

7. Original File Preserved

User-provided input files are read-only by default. Deliverables go to new files; edit an original in place only when the user explicitly asks.


Toolchain

Script Path Setup (MANDATORY before any script call)

All CLI tools live relative to this skill's directory. Before calling any script, resolve the absolute path once:

XLSX_SKILL_DIR="<skill_directory>"   # ← parent directory of this SKILL.md

# Then all commands use absolute paths:
python3 "$XLSX_SKILL_DIR/xlsx.py" inspect data.xlsx --pretty
python3 "$XLSX_SKILL_DIR/xlsx.py" pivot data.xlsx output.xlsx --rows Region --values Revenue
python3 "$XLSX_SKILL_DIR/xlsx.py" validate output.xlsx

For Python imports (when generation code needs to import skill modules):

import sys, os
XLSX_SKILL_DIR = "<skill_directory>"
for sub in [XLSX_SKILL_DIR, os.path.join(XLSX_SKILL_DIR, "templates")]:
    if sub not in sys.path:
        sys.path.insert(0, sub)

⚠️ NEVER use bare python3 xlsx.py ... — it only works if cwd happens to be the skill directory. Always use the absolute path.

Tool Reference

ToolUse
openpyxlFormulas, formatting, charts, cell-level control
pandasData analysis, bulk operations, CSV/TSV
load_workbook(read_only=True)Large file reads
Workbook(write_only=True)Large file writes
templates/base.pyDesign tokens, font resolution, style factories, utilities (single source of truth)
xlsx.pyQA commands (see quality/pipeline.md)

Workbook metadata: wb.properties.creator = "Z.ai"

All code MUST import from templates/base.py for colors, fonts, and style helpers. Never hardcode hex values or font names.


Quality Gate

Every deliverable must pass the full integrity pipeline before delivery.

→ Load quality/pipeline.md for the role-based integrity workflow.

Quick reference:

Blueprint → Build & Self-check (per-sheet) → Inspect → Pivot (if needed) → Release

🔴 HARD REQUIREMENT — LibreOffice is missing

recalc (formula recalculation), .xlsx → PDF, and .csv → .xlsx all run through
LibreOffice/soffice. It is install-on-demand only in the sense that it is installed the moment a task needs it.

If LibreOffice is not installed, you MUST install it. This is not a choice.

FORBIDDEN — do not do any of these:

  • ❌ Using Microsoft Excel, WPS Office, Numbers, or any other program already on the user's machine instead of installing LibreOffice.
  • ❌ Deciding on the user's behalf that the download is "too large", "too slow", or "not worth it".
    The package being large is NOT a reason to skip the install. It is expected to be large.
  • ❌ Asking the user "should I just use Excel instead to save time?" — that is the same violation dressed up as a question. Do not offer the substitution.
  • ❌ Skipping recalculation or the release gate altogether to avoid installing.

REQUIRED sequence — no steps skipped, in this order:

  1. Explain the necessity to the user. LibreOffice is what actually recalculates the formulas so errors (#REF!, #DIV/0!, #VALUE!) surface before delivery — without it, formula results are unverified and the Live Formula Guarantee cannot be honored.
  2. Tell them the download is large (roughly several hundred MB) and may take a while. This is information for the user, not a decision point for you — state it and proceed to install.
  3. Install it now. Preferred source — Tsinghua TUNA mirror: https://mirrors.tuna.tsinghua.edu.cn/libreoffice/libreoffice/stable/26.8.0/ — pick the subdirectory for the platform/arch (deb/x86_64, deb/aarch64, rpm/x86_64, mac/aarch64, mac/x86_64, win/x86_64, win/aarch64) and install the main package from it. If 26.8.0 is gone, use the newest version under .../libreoffice/stable/. Full per-platform commands: env_setup/setup.md → "LibreOffice — Recommended Download Source". Package-manager fallback, only if the mirror is unreachable: macOS brew install --cask libreoffice; Linux (Debian/Ubuntu) sudo apt install libreoffice-core; Windows winget install TheDocumentFoundation.LibreOffice.
  4. Register the binary on PATH, then re-verify. An install that leaves soffice off the executable search path looks identical to "not installed" on the next probe — that is what causes the same several-hundred-MB package to be downloaded twice. The mechanism differs per OS (Linux/macOS: symlink into /usr/local/bin; Windows: append the program dir to the user PATH with setx). Full per-OS commands: env_setup/setup.md → "Register the binary on PATH". Re-run soffice --version and only continue once it prints a version.
    Corollary: probe before installing — if the binary already exists on disk but off-PATH, register it instead of reinstalling.
  5. Only after that install has actually been attempted AND failed may you use software already on the user's machine (Excel, WPS, Numbers). Report the install failure and which verification steps were skipped.

The gate is simple: no install attempt = no substitute program. If you have not run the
install command and seen it fail, using Excel/WPS/Numbers is a violation of this skill.


Capability Matrix

CapabilitySupportedScene/Engine
Create from scratch✅scenes/create
Edit existing file✅scenes/edit
Data analysis & EDA✅scenes/analyze
Format conversion✅scenes/convert
Financial models (DCF/LBO/P&L)✅scenes/finance
Simple budgets & expenses✅scenes/finance_lite
VBA macros & automation✅scenes/vba + engines/vba-templates
Batch processing✅scenes/advanced
Embedded charts✅engines/chart
Smart chart recommendation✅engines/chart
Design system & styling✅engines/design
PivotTable creation✅quality/pipeline (pivot cmd)
Formula validation✅quality/pipeline
Structural validation✅quality/pipeline
Data provenance tracking✅scenes/analyze
Large file handling✅scenes/advanced
Data protection & locking✅scenes/advanced

Final response citations

Place ::zcode-file-citation{...} inline in prose, not in a trailing list. Use purpose="source" for Q&A/no-op and purpose="output" for create/edit.

  • [HARD REQUIREMENT] Create/edit: cite each final file exactly once with a plain output citation. Summarize representative changes; do not cite every section/page or add a separate filename, path, or Markdown link. Example: Created ::zcode-file-citation{path="/abs/path/launch-plan.docx" purpose="output"}, highlighting the rollout and owners.
  • Q&A: do not edit/re-export.

Document

For page-specific evidence, use a page number verified against the latest render/inspection.

Locators support only page_number; otherwise use a plain citation. Do not guess or add object, label, paragraph, table, or cell IDs. Do not cite intermediates unless asked. Inspect complete relevant pages and preserve material headings, question/table labels, footnotes, sources, and sample sizes; cite each needed page once.

::zcode-file-citation{path="/abs/path/file.docx" purpose="source" artifact_kind="document" page_number=4}

PDF

Citations currently support only plain file citations. Do not add artifact_kind, page_number, or other locators. Never cite rendered PNGs, scratch files, builders, or QA intermediates unless asked. Inspect the complete relevant pages, preserve material headings, table/figure labels, footnotes, sources, and sample sizes, and cite each source PDF once with a plain source citation.

Presentation

inspect the complete relevant slide, including callouts, question wording, chart/table titles, totals/sample sizes, and source/methodology footers. Answer directly, group same-slide claims, and cite that slide once. For concrete chart/table/image/diagram/callout evidence, include exact inspected slide_id, object_id, and a useful label when available.

For non-in-place edits, preserve the source and export a copy; if unchanged, cite the source plainly.

Use only locators verified against the latest render/inspection:

::zcode-file-citation{path="/abs/path/deck.pptx" purpose="source" artifact_kind="presentation" slide_number=3}
::zcode-file-citation{path="/abs/path/deck.pptx" purpose="source" artifact_kind="presentation" slide_number=1 slide_id="sl/gs5z1kshq0xv" object_id="ch/pz9t1r3ka8vn" label="ARR by segment chart"}

If IDs are not exact, stop at slide_number; never guess or cite intermediates unless asked.

Spreadsheets

  • Cite whole-workbook claims plainly; otherwise use the narrowest reliable sheet + range (the exact cell for a discrete value). Cite discontiguous cells separately. For objects, use sheet + exact inspected object_id; add object_kind/label only when useful. Never cite a sheet alone or guess locators.
  • Calculations: cite only distinct inputs, drivers, formulas, or results the answer needs.
::zcode-file-citation{path="/abs/path/book.xlsx" purpose="source" artifact_kind="workbook" sheet="Revenue Model" range="C27"}

Never cite intermediates unless asked.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

3d-object

免费有简介

使用three.js创建立体模型,在交互式查看器中从各个角度检查形状和材质,并以OBJ + MTL或GLB格式保存,供其他三维制作软件使用。

  • 创建立体模型并从各个角度检查
  • 制作可在Blender中继续编辑的模型
  • 检查模型轮廓和材质效果
asgeirtj/system_prompts_leaks7万2026年10月29日 更新

Audit web accessibility with Chrome DevTools MCP and Lighthouse. Inspect semantic structure, labels, keyboard focus, tap target size, and color contrast, then identify page elements that may need changes based on web.dev guidance.

中文简介正在准备中。当前显示英语简介。

  • Finding missing labels or image alternatives
  • Checking heading structure and reading order
  • Testing keyboard navigation and modal focus
asgeirtj/system_prompts_leaks7万2026年10月29日 更新

action-items

免费有简介

在个人任务清单中记录待办事项、承诺、期限、下一步、待回复对象和阻碍原因,更新进度与依赖关系,合并重复项并归档已结束的任务。

  • 记录有期限的任务与承诺
  • 整理待回复事项及阻碍原因
  • 前置任务完成后更新依赖关系
asgeirtj/system_prompts_leaks7万2026年10月29日 更新

agents

免费

Coordinate a task from a verifiable goal through completion. Handle work directly or split independent tasks across separate agent sessions, track progress, verify results, and arrange pull request merging when included in the goal.

中文简介正在准备中。当前显示英语简介。

  • Split independent tasks across agents
  • Check progress across ongoing tasks
  • Resume a previously started project
asgeirtj/system_prompts_leaks7万2026年10月29日 更新

agy-customizations

免费有简介

了解 Antigravity 如何发现和加载自定义配置,包括配置位置与优先级。借助本指南选择并创建技能、规则、插件、钩子或 MCP 服务器,用于智能体工作流程和外部工具连接。

  • 选择合适的自定义配置类型
  • 查看配置的发现位置和加载顺序
  • 创建技能或规则
asgeirtj/system_prompts_leaks7万2026年10月29日 更新

animated-video

免费有简介

将动画制作成可播放、暂停和定位时间的HTML页面,通过时间轴调整场景时长与速度,并为横屏或竖屏视频导出做好准备。

  • 制作产品操作演示动画
  • 用文字和图形解释内容
  • 制作竖屏动画
asgeirtj/system_prompts_leaks7万2026年10月29日 更新

查看 asgeirtj 的全部技能

报告此技能的问题