three.js로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.
- 입체 모델을 만들고 모든 각도에서 확인하기
- Blender에서 편집할 모델 만들기
- 모델의 윤곽과 재질 표현 확인하기
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.
실행 점수 미검증
설치 방법 보기이 스킬은 Excel과 CSV 같은 스프레드시트 파일을 읽고, 기존 통합 문서를 편집하며, 데이터를 분석·정리하거나 새 표를 만듭니다. CSV, TSV, JSON, PDF 표와 XLSX 사이의 변환, 여러 데이터의 결합, 피벗 집계, 예산표와 재무 모델 작성도 지원합니다. 필요하면 차트를 추가하고 서식을 다듬은 뒤 수식 오류와 통합 문서 구조를 확인합니다. 파일을 만들거나 편집할 때 원본은 보존하며, 보통 결과를 별도 파일로 제공합니다.
보유한 표를 집계하거나 여러 CSV를 한 통합 문서로 모으고, 예산이나 비용 관리표를 만들 때 유용합니다. 복잡한 수식이 들어간 재무 모델이나 차트가 포함된 분석 결과를 Excel로 공유할 때도 사용할 수 있습니다. 요청에 여러 작업이 포함되면 데이터 준비, 분석, 시각화, 서식 조정, 검사의 순서로 처리합니다.
이 스킬은 독점 라이선스를 사용하며 전체 조건은 LICENSE.txt에 있습니다. 수식 재계산이나 CSV에서 XLSX로의 변환처럼 LibreOffice가 필요한 작업에는 LibreOffice를 사용합니다. 추가 글꼴은 사용자의 확인 없이 설치하지 않습니다.
이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.
AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.
점수에는 넣지 않았습니다. 2026년 10월 24일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
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.shreports it as
on-demand MISSINGwithout failing, so a passing check does not mean it is present. The moment
a task needsrecalc,.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.
| Variable | Auto-set by env_check.sh | Description |
|---|---|---|
XLSX_SKILL_DIR | skill root directory | Parent of this file |
FONT_DIR | macOS: ~/Library/Fonts, Linux: /usr/share/fonts | Font 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.
Before touching any code, confirm the user actually needs a spreadsheet:
If confirmed xlsx → proceed to Scene Router below.
Request Decomposition (do this every time):
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.
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.
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:
VBA detection: 宏, macro, VBA, 自动化, automation, .xlsm, 按钮, button, auto-run, 批量处理脚本
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.
Deliverables must have zero formula errors. All divisions wrapped with IFERROR or IF(denom=0,...). Absolute references ($C$42) for shared denominators.
No dynamic array functions (FILTER, UNIQUE, XLOOKUP, SORT, SORTBY, XMATCH, SEQUENCE, LET, LAMBDA, RANDARRAY). No implicit array formulas — use SUMPRODUCT alternatives.
When editing existing files: study and exactly match format, style, conventions. Existing patterns always override defaults. Text starting with = must be prefixed with '.
Output language (sheet names, headers, labels) matches user's input language.
When user instructions conflict with the actual data patterns in the existing file:
0 for empty, don't switch to -)Example: User says "show hyphen for zero" but existing data and answer key use numeric 0 → Use 0 and notify user of the discrepancy.
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.
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 | Use |
|---|---|
| openpyxl | Formulas, formatting, charts, cell-level control |
| pandas | Data analysis, bulk operations, CSV/TSV |
load_workbook(read_only=True) | Large file reads |
Workbook(write_only=True) | Large file writes |
| templates/base.py | Design tokens, font resolution, style factories, utilities (single source of truth) |
| xlsx.py | QA commands (see quality/pipeline.md) |
Workbook metadata: wb.properties.creator = "Z.ai"
All code MUST import from
templates/base.pyfor colors, fonts, and style helpers. Never hardcode hex values or font names.
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
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:
REQUIRED sequence — no steps skipped, in this order:
#REF!, #DIV/0!, #VALUE!) surface before delivery — without it, formula results are
unverified and the Live Formula Guarantee cannot be honored.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.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.PATH,
register it instead of reinstalling.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 | Supported | Scene/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 |
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.
Created ::zcode-file-citation{path="/abs/path/launch-plan.docx" purpose="output"}, highlighting the rollout and owners.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}
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.
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.
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.::zcode-file-citation{path="/abs/path/book.xlsx" purpose="source" artifact_kind="workbook" sheet="Revenue Model" range="C27"}
Never cite intermediates unless asked.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
three.js로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.
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.
한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.
개인 작업 목록에 할 일, 기한, 다음 단계, 답변을 기다리는 대상과 진행을 막는 이유를 기록합니다. 진행 상황과 의존 관계를 갱신하고 중복 및 완료 항목을 정리합니다.
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.
한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.
Antigravity가 사용자 지정 항목을 발견하고 불러오는 위치와 우선순위를 알아봅니다. 에이전트 작업 흐름과 외부 도구 연결에 맞춰 스킬, 규칙, 플러그인, 훅, MCP 서버를 선택하고 만드는 방법을 안내합니다.
재생, 일시 정지, 시간 위치 지정이 가능한 HTML 애니메이션을 만듭니다. 장면 길이와 속도를 조절하고 가로형·세로형 영상 내보내기를 준비합니다.