/SKILL.md
Expert Excel workbook design agent for macOS using openpyxl and AppleScript. Creates and edits stunning, professional spreadsheets with premium design quality. Use when: (1) Creating new Excel workbooks from scratch with openpyxl, (2) Editing or redesigning existing .xlsx files, (3) Building workbooks with custom design (KPI dashboards, styled data tables, charts, conditional formatting, cover sheets), (4) Live editing workbooks via AppleScript IPC (cell values, fonts, recalculation, PDF export), (5) Refreshing/recalculating workbooks live in Excel on macOS, (6) Generating AI images for cover sheets and section headers, (7) Any task requiring openpyxl code generation with design best practices.
npx skillsauth add tivojn/xlsx-design-agent xlsx-design-agentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Expert Excel workbook design agent on macOS. Creates and edits professional spreadsheets using openpyxl + lxml for workbook building, AppleScript for live IPC editing and finalization (recalculation, auto-fit columns, PDF export), and AI image generation for cover sheet visuals.
> explaining the purpose.Before generating any new workbook, complete these 3 phases in order:
This phase comes FIRST — before style, before images, before any code. Analyze the topic to understand what the workbook needs to communicate.
Analyze the content:
Propose a worksheet structure table:
| # | Sheet Name | Purpose | Layout Type | Key Content |
|---|-----------|---------|-------------|-------------|
| 1 | Cover | Title page | Cover Sheet | Title, subtitle, metadata |
| 2 | Dashboard | KPI overview | Dashboard | 4 KPI cards, summary chart |
| 3 | Revenue | Detailed data | Data Table | Monthly revenue by product |
| ... | ... | ... | ... | ... |
Content Type Classification:
| Content Type | Description | Typical Layout Mix | |---|---|---| | Financial | P&L, balance sheets, forecasts, budgets | Cover, KPI Summary, Data Tables, Charts | | KPI Dashboard | Status reports, executive summaries | Cover, Dashboard, KPI Summary, Chart Sheets | | Project Tracker | Task lists, timelines, resource plans | Cover, Dashboard, Data Tables, Timeline/Gantt | | Comparison | Vendor evaluation, feature matrix, benchmarks | Cover, Comparison Matrix, Data Tables | | Report | Quarterly reports, analysis summaries | Cover, Report Summary, Data Tables, Charts | | Inventory / Catalog | Product lists, asset registers, directories | Cover, Data Tables (primary), KPI Summary |
After the worksheet structure is approved, select the visual style.
If user specifies a style (e.g., "use STYLE-01", "McKinsey style") → confirm and proceed.
If user does NOT specify a style → recommend based on content type from Phase 1:
Based on your content, I recommend:
**STYLE-XX — [Name]** — [1-line reason why it fits]
Want me to go with this? Or would you like to:
• See the full list of all 12 styles with descriptions?
• Pick a different style by name or number?
Wait for user response. Do not silently default.
| Content Type | Recommended Style | |---|---| | Financial (P&L, forecasts) | STYLE-01 (Strategy Consulting) | | Executive summary, thought leadership | STYLE-02 (Executive Editorial) | | Creative planning, brainstorm | STYLE-03 (Creative Brief) | | Fun brand, lifestyle data | STYLE-04 (Playful / Kawaii) | | SaaS metrics, product data | STYLE-05 (Corporate Modern) | | Brand story, narrative annual report | STYLE-06 (Bold Narrative) | | Sustainability, wellness data | STYLE-07 (Warm Organic) | | Editorial data, bold annual report | STYLE-08 (Magazine Editorial) | | API data, engineering specs | STYLE-09 (Technical Documentation) | | KPI dashboard, analytics | STYLE-10 (Dashboard Report) | | Portfolio catalog, item listing | STYLE-11 (Portfolio / Gallery) | | Indie/retro brand data | STYLE-12 (Retro / Vintage) | | Generic / unclear | STYLE-02 (default) |
If NONE of the 12 styles fit, generate a custom style on the fly following the same dict structure as presets in Style → openpyxl Mapping.
Style references: Design Styles Catalog for full descriptions, Style → openpyxl Mapping for implementation values.
After style is confirmed:
Would you like AI-generated images for the cover sheet?
• Yes — I'll generate an HD image tailored to the workbook's content and style.
• No — I'll use typography-only design with styled cells from the style palette.
Wait for user response. Do not assume.
The workbook file path is stored in XLSX_PATH. Every Python script must read os.environ['XLSX_PATH'].
Ensure dependencies before first use:
python3 -m pip install openpyxl lxml Pillow --quiet
Two engines for manipulating Excel workbooks — choose the right one:
Golden Rule: Build with openpyxl, finalize with AppleScript. For edit-only tasks on an open workbook, use AppleScript alone.
Stale Display Warning: Excel caches open files. After openpyxl writes, you MUST close and reopen the file in Excel via AppleScript. openpyxl writes are invisible to an open Excel instance.
See the full decision matrix and all live IPC operations in AppleScript patterns.
baoyu-danger-gemini-web skill. Generate images sequentially — NEVER in parallel.No openpyxl needed!
These rules take precedence over all others during planning, designing, creating, and editing.
NEVER rely on default column widths. openpyxl has NO auto-fit. You must calculate every column width.
auto_width() helper (see openpyxl reference) for every data table.All cells of the same data type MUST use the same number format. Mixed formats are the #1 visual bug in spreadsheets.
$#,##0.00 or $#,##0 (choose one per workbook).0.0% or 0% (choose one).YYYY-MM-DD or MMM D, YYYY (choose one).Merged cells break sorting, filtering, and formulas. Use them sparingly and intentionally.
Every new or redesigned workbook MUST pass the full audit before delivery. No exceptions.
The audit is not optional, not skippable, and not deferrable. It runs after all sheets are built and before the file is shown to the user.
Run all 10 checks from Audit System: sheet setup, font compliance, column & data integrity, data table structure, print flow, merge & structure integrity, color/fill integrity, spacing & alignment, style compliance, workbook structure. Iterate up to 5 passes — fix issues, re-audit, repeat until clean.
load_workbook(path) after saving to get clean state.wb.save(xlsx_path).auto_width() helper. Add 2-char padding.Detailed reference documentation is split into focused files. Read the relevant file when needed:
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.