Skip to content
Automation
Skill

/xlsx-financial-report

A native .xlsx styled as a financial, KPI, or dashboard report: "Excel report", "financial report", "KPI dashboard", "monthly report". Opens cleanly in Excel / Google Sheets / Numbers.

From plugin
xagent
3079 skills

Claude Code

$ npx -y skills add xorbitsai/xagent --skill xlsx-financial-report --agent claude-code

SKILL.md

xlsx-financial-report.SKILL.md
name: xlsx-financial-report
description: |
  A native .xlsx styled as a financial, KPI, or dashboard report:
  "Excel report", "financial report", "KPI dashboard", "monthly report".
  Opens cleanly in Excel / Google Sheets / Numbers.
when_to_use: |
  A polished xlsx meant to be opened and skimmed, not a raw data dump. Use the
  regular excel tool instead for ad-hoc exploration or CSV-style output.
tags:
  - xlsx
  - excel
  - financial
  - report
  - dashboard

Editorial Financial Report (.xlsx)

You will generate one `.xlsx` file via openpyxl by writing a Python program and running it through the `execute_python_code` tool. Save to the workspace, then report the path + a 1-line content summary.

πŸ“¦ Required runtime packages

The sandboxed `execute_python_code` ships with `pandas`, `numpy`, `matplotlib`, and **`openpyxl>=3.1.0`** preinstalled β€” no extra installation step is needed. Just `import openpyxl` at the top of your script and proceed.

> **Note:** `execute_python_code` accepts only `code` and > `capture_output` arguments; there is no `packages` parameter. > All required libraries are already available in the sandbox image.

πŸ’Ύ How to save the file

`execute_python_code` already runs with the task's output directory as the current working directory. Save the workbook with a **plain filename** (no path), e.g.:

wb.save("xagent_metrics_dashboard.xlsx")   # βœ… correct

Do NOT use:

  • `wb.save("/workspace/foo.xlsx")` β€” `/workspace` does not exist on this host
  • `wb.save("output/foo.xlsx")` β€” there is no nested `output/` subdir
  • BytesIO + base64 round-trips β€” just save to disk directly.

Verify with `os.path.getsize("xagent_metrics_dashboard.xlsx")` before declaring success. A real openpyxl-generated xlsx is **always >5 KB** β€” if your saved file is under 1 KB it's broken or empty.

πŸ”— Make it clickable in chat β€” REQUIRED

The Python executor returns a `markdown_link` field in its response for every workspace file it generated (or a `file_refs[]` array with one entry per file). **Read the tool's response** and use the returned `markdown_link` string verbatim. In your final answer, the **first line MUST be that chip link itself** β€” bare markdown, NOT inside backticks, NOT presented as "file_id: UUID":

βœ… **CORRECT** (renders as clickable chip β€” chat UI looks for this exact pattern):

[xagent_metrics_dashboard.xlsx](file:20fae785-3823-4906-b385-d0e8a7807dc8)

The UUID comes from the executor response. Do not fabricate one.

❌ **WRONG β€” common failure that renders as plain text**:

ε·²η”ŸζˆζŠ₯葨:

  • 文仢名: `xagent_metrics_dashboard.xlsx`
  • file_id: `20fae785-3823-4906-b385-d0e8a7807dc8`

❌ **ALSO WRONG β€” chip link inside a code fence**: ` ```[name](file:UUID)``` ` suppresses markdown so the link won't render as a chip.

❌ **ALSO WRONG β€” calling `get_file_info(...)` to "fetch" the file_id**. Its `FileInfo` return shape does not include `file_id`; the chip reference is already on the executor result.

Plain-text mention of the filename is not clickable β€” the user must navigate to File Management to find it. Always lead with the bare `[name](file:UUID)` line, then describe the contents.

⚠️ Hard rules β€” NO exceptions

0. **MATCH THE USER'S LANGUAGE.** If the prompt is Chinese (δΈ­ζ–‡), ALL workbook text (title, subtitle, section banners, KPI labels, table headers, deltas) must be in Chinese. Translate template phrases like `SUMMARY` β†’ `汇总`, `DETAIL` β†’ `ζ˜Žη»†`, `As of YYYY-MM-DD` β†’ `ζˆͺ至 YYYY-MM-DD`. Numbers and date formats stay locale-neutral.

1. **One accent color only.** Pick one of the 5 palettes below; use only its **4 hex values** (`ink`, `paper`, `paper_tint`, `accent`). `paper_tint` is the alternating-row band shade β€” without it you can only do flat one-color rows. No other colors anywhere. In code, define a ``palette = {"ink": "...", "paper": "...", "paper_tint": "...", "accent": "..."}`` dict ONCE at the top of the script and reference `palette["ink"]` / `palette["accent"]` / `palette["paper_tint"]` / `palette["paper"]` everywhere β€” do not copy literal hex values into individual styling calls. 2. **Two fonts only.** Headers / titles = `Cambria` (serif, Office native). Body / data = `Calibri` (sans, Office default). 3. **Forbidden:**

  • 3-D charts, donut/pie charts with > 5 slices, exploded pies
  • rainbow chart palettes (color charts only with `ink` + `accent`)
  • chart shadows, glow, bevel, gradient fills
  • thick borders (use `thin` only, sparingly)
  • merged-cell abuse (merge only for section banners across columns)
  • emoji as decoration
  • Comic Sans, Arial Black, MS Sans Serif
  • rainbow conditional formatting (only monochrome data bars / 2-stop

min→max scale in `ink` shade) 4. **Real data only.** No fabricated numbers. If the user didn't provide data, ask first — don't invent. 5. **Always include**: title row, frozen header pane, alternating row bands using `paper-tint`, summary KPI block at top. 6. **Failure honesty — NEVER fake the deliverable.**

  • If `execute_python_code` raises after multiple retries, STOP and report

the actual error to the user. Do not write a stub file like `write_file("report.xlsx", "placeholder")` to make the chip appear.

  • The final answer must reflect what was actually written. Do not

describe KPI values, deltas, or sections that aren't in the saved `.xlsx`. If the chart didn't render, say so β€” don't claim it did.

  • It is better to deliver a chart-less but real .xlsx (drop the chart

block and save without it) than to fabricate a success report. If the chart code keeps failing, ship the workbook without the chart and tell the user the chart was omitted.

🎨 Palettes β€” pick ONE

Each: `ink` (text + borders + chart series), `paper` (workbook bg / cells), `paper-tint` (alternating row band), `accent` (single highlight color for KPI values / chart series 2 / positive deltas).

  • **Bloomberg Mono** (def
Read more
@xorbitsai
Ships withxagent

Start with a personal agent. Scale into an AI workforce. Xagent helps individuals complete real tasks, teams publish reusable agents, and enterprises run agent systems with their own tools, models, knowledge, and infrastructure β€” without brittle workflows.

Stars on GitHub

Momentum

stars in total
307
Star history of xorbitsai/xagent on GitHub, a chart by star-history.com

Other skills on xagent.

agent-builder

agent-builder

Expert AI Agent Builder skill. Helps users dynamically create, configure, and build custom AI agents with specific capabilities,…

@xorbitsai@xorbitsaiInstall Skill
docx-report-editorial

docx-report-editorial

A native .docx styled as an editorial report: "Word report", "Word ζ–‡ζ‘£", "memo", "proposal", "η ”η©ΆζŠ₯ε‘Š". Opens cleanly in Word /…

@xorbitsai@xorbitsaiInstall Skill
evidence-based-rag

evidence-based-rag

Evidence-first retrieval over a specified knowledge base: cited evidence, conflict detection, and an explicit sufficiency,…

@xorbitsai@xorbitsaiInstall Skill
html-deck-editorial

html-deck-editorial

One self-contained HTML slide deck with magazine-grade editorial styling: "html deck", "editorial slides", "ηΎŽθ§‚ PPT", "η½‘ι‘΅η‰ˆεΉ»η―η‰‡".…

@xorbitsai@xorbitsaiInstall Skill
pdf-report-editorial

pdf-report-editorial

An editorial-styled PDF report rendered from HTML via the browser: "PDF report", "whitepaper", "executive brief", "research…

@xorbitsai@xorbitsaiInstall Skill
pptx-editorial

pptx-editorial

A native .pptx deck with magazine-grade editorial styling: "pitch deck", "ζŠ•θ΅„δΊΊθ·―ζΌ” PPT", "ηΎŽθ§‚ PPT", board review, product launch.…

@xorbitsai@xorbitsaiInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n11d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about xlsx-financial-report.

Which coding agents can use xlsx-financial-report?
xlsx-financial-report installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.