Install
$ agentstack add skill-gaaiyun-excel-skill-excel-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Excel Skill
Generate Excel files / formulas / pivot tables / dashboards correctly the first time.
When to Use This Skill
Yes:
- Creating .xlsx files with formulas, formatting, validation, charts
- Industry-specific templates: finance (DCF, three-statement), FMCG (sales vs target, RTM), e-commerce (GMV, RFM, funnel), internet (DAU/MAU, LTV/CAC, A/B test)
- Pivot tables and Power Query workflows
- Python automation of Excel generation (openpyxl, pandas-to-excel)
- Auditing AI-generated openpyxl code for common pitfalls
- Recalculating formulas in openpyxl-generated files (via LibreOffice macro)
- Style / formatting standards for professional reports
No:
- Real-time data integration (use Power BI / Tableau / Metabase instead)
- Complex statistical modeling (use Python pandas / R directly, then export)
- Pure data wrangling without Excel deliverable (use pandas)
Detect User Intent First
| Pattern | Trigger keywords | Action | |---|---|---| | Generate template | "做一个/帮我生成 X 模板" / "create template for Y" | Pick from templates/ matching industry, run scripts/generate_*.py | | Formula question | "怎么写 X 公式" / "VLOOKUP / INDEX / SUMIFS" | Load references/01-formulas-cheatsheet.md | | Pivot table | "透视表 / pivot table / 数据汇总" | Load references/02-pivot-tables.md | | Power Query | "Power Query / 数据清洗 / M 语言" | Load references/03-power-query.md | | Dashboard / chart | "Dashboard / 仪表盘 / 图表 / 配色" | Load references/07-charts-and-formatting.md | | Python openpyxl | Mentions Python / openpyxl / 写脚本 | Load references/05-openpyxl-python.md | | pandas + Excel pitfalls | "pandas readexcel / toexcel" / 公式变字符串 | Load references/08-excel-pitfalls.md(含 "formula gets stringified" 坑) | | VBA vs Python | "VBA / 宏 / Macro / 该用 VBA 还是 Python" | Load references/04-vba-vs-python.md | | Cell protection / validation | "锁单元格 / 数据校验 / 下拉" | Load references/06-cell-protection.md | | Code review | User pastes openpyxl code | Run scripts/excel_lint.py | | Audit existing file | "体检 / 诊断这份 Excel / 有没有坑" | Run scripts/analyze.py file.xlsx |
Industry Routing (templates)
| User describes | Industry | Template directory | |---|---|---| | 财报 / 三表 / DCF / ROE / 投资组合 | Finance | templates/finance/ | | 销售达成 / RTM / 经销商 / SKU ABC / 促销 ROI | FMCG | templates/fmcg/ | | GMV / 转化率 / 客单价 / RFM / ROAS | E-commerce | templates/ecommerce/ | | DAU / MAU / 留存 / LTV / CAC / 漏斗 / A/B 测试 | Internet | templates/internet/ |
If unsure, ask which industry first. Same metric (e.g., "转化率") means different things in e-commerce vs internet/SaaS.
Things That Must Survive
When generating openpyxl code, NEVER lose:
data_only=Truemisuse: Loading withdata_only=Truethen saving = formulas permanently lost. Only use for read-only analysis.- Formulas in openpyxl are strings: After
ws['A1'] = '=SUM(B1:B10)', the file has the formula but no calculated value. Tell the user to either:
- Open in Excel (auto-recalc on open)
- Run
python scripts/recalc.py file.xlsx(uses LibreOffice macro)
- Number format must match value: A 0.15 cell with format
'0.00%'displays "15.00%". A "15.00%" string with default format displays as text. - Locale in 公式: Chinese Excel uses
;not,as separator? No. Chinese Excel still uses,in formulas —;is the LIST_SEPARATOR for some MS Office locales but openpyxl always uses,. - A1 vs RC: Always use A1 notation in formulas. Do NOT generate
R1C1style. - Sheet name special characters: Sheet names cannot contain
[ ] : * ? / \ ', must be ≤31 chars. - Chart references: Charts need
Reference(ws, min_col, min_row, max_col, max_row). Forgettingmin_coldefaults to 1, often wrong.
Default Workflow for "Make me an Excel"
1. Detect industry (finance / FMCG / e-commerce / internet)
2. Detect deliverable type (template / dashboard / analysis / report)
3. Find matching template script under templates/
4. Ask 2-3 clarifying questions:
- 数据规模(行数、字段名)
- 是否要图表 / Dashboard
- 输出文件名 + 公式是否需要重算
5. Run / generate script, output .xlsx
6. If formulas were used: tell user about recalc.py or auto-recalc-on-open
7. If user gives code: run excel_lint.py mentally, point out pitfalls
Files
| File | Role | |---|---| | README.md | Project intro | | WORKFLOW.md | Cross-cutting workflow (clean → analyze → visualize → deliver) | | INSTALL_CN.md | Chinese install + usage | | references/ | 8 progressive-disclosure knowledge files (formulas, pivot, Power Query, VBA-vs-Python, openpyxl, cell-protection, charts-and-formatting, pitfalls) | | templates/{finance,fmcg,ecommerce,internet,saas}/ | Output dirs for generated .xlsx (not pre-committed binaries) | | scripts/excel_lint.py | Audit openpyxl code for common pitfalls (XL001…) | | scripts/analyze.py | Audit an existing .xlsx file for health issues (XA001…XA010) | | scripts/recalc.py | Recalculate formula caches via LibreOffice headless (requires LibreOffice installed) | | scripts/generate_*/ | 5 industry template generators (one script per vertical) | | scripts/helpers/ | Reusable styling / formula helpers | | tutorials/ | Beginner tutorial | | examples/ | End-to-end case study (finance DCF walkthrough) |
This skill is at version 0.1.0 as of 2026-04-19. Most templates and references are in active development. See PROJECT_PLAN.md for build sequence.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: gaaiyun
- Source: gaaiyun/excel-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.