Skip to content
Automation
Skill

/office-xlsx

Use when the user asks to create, inspect, verify, analyze, format, or deliver Excel `.xlsx` workbooks, Google Sheets-targeted spreadsheet artifacts, trackers, budgets, models, tables, dashboards, formulas, CSV/TSV-to-XLSX conversions, or spreadsheet-ready data packs.

From plugin
hope-agent
1.9k30 skills

Claude Code

$ npx -y skills add shiwenwen/hope-agent --skill office-xlsx --agent claude-code

SKILL.md

office-xlsx.SKILL.md
name: office-xlsx
description: "Use when the user asks to create, inspect, verify, analyze, format, or deliver Excel `.xlsx` workbooks, Google Sheets-targeted spreadsheet artifacts, trackers, budgets, models, tables, dashboards, formulas, CSV/TSV-to-XLSX conversions, or spreadsheet-ready data packs."
requires:
  bins: [python3]
install:
  - kind: brew
    formula: python
    bins: [python3]
    label: "Install Python 3 via Homebrew"
    os: [darwin]
allowed-tools:
  - read
  - write
  - edit
  - apply_patch
  - exec
  - ls
  - grep
  - pdf
  - web_search
  - web_fetch
  - send_attachment

Office XLSX

Use the bundled scripts in this skill package to produce editable `.xlsx` workbooks. The builder writes formulas, styles, bar/column/line/pie charts, real Excel tables, data validation, conditional formatting, and workbook recalculation hints. The skill activation metadata includes `Skill directory`; treat that as `SKILL_DIR` and run scripts from `SKILL_DIR/scripts/`.

Workbook Shape

For nontrivial workbooks, prefer:

1. Summary or dashboard sheet first. 2. Inputs / assumptions sheet next. 3. Detail or source data sheets after that. 4. Checks sheet only when formulas, reconciliations, or model integrity matter.

Workflow

1. Normalize source data before writing the workbook. 2. Use formulas for derived values instead of hardcoded calculated outputs. Strings beginning with `=` are written as Excel formulas. 3. For structured workbook creation, create a JSON spec in the working directory and run:

python3 "$SKILL_DIR/scripts/check_env.py"
python3 "$SKILL_DIR/scripts/build_xlsx.py" --spec spec.json --out output.xlsx
python3 "$SKILL_DIR/scripts/inspect_xlsx.py" --verify output.xlsx
python3 "$SKILL_DIR/scripts/formula_audit.py" output.xlsx

4. For CSV/TSV conversion, run one or more inputs into one workbook:

python3 "$SKILL_DIR/scripts/csv_to_xlsx.py" --input data.csv --input lookup.tsv --sheet Data --sheet Lookup --out output.xlsx
python3 "$SKILL_DIR/scripts/inspect_xlsx.py" --verify output.xlsx

5. If visual QA matters and LibreOffice is available, run:

python3 "$SKILL_DIR/scripts/render_preview.py" output.xlsx

6. To patch an existing workbook without rebuilding it, create a patch JSON and run:

python3 "$SKILL_DIR/scripts/patch_xlsx.py" --input existing.xlsx --patch patch.json --out output.xlsx
python3 "$SKILL_DIR/scripts/inspect_xlsx.py" --verify output.xlsx
python3 "$SKILL_DIR/scripts/formula_audit.py" output.xlsx --write-cache cached-output.xlsx

Patch actions:

{
  "actions": [
    {"action": "append_rows", "sheet": "Data", "rows": [["New", 123, "=B2*2"]]},
    {"action": "set_cell", "sheet": "Summary", "cell": "B2", "value": "=SUM(Data!B:B)"}
  ]
}

7. When formulas matter, use `formula_audit.py --write-cache` and deliver the cached workbook unless the audit reports unsupported formulas that require Excel/LibreOffice recalculation. For broad formula coverage, run:

python3 "$SKILL_DIR/scripts/recalculate_xlsx.py" output.xlsx --out recalculated.xlsx
python3 "$SKILL_DIR/scripts/inspect_xlsx.py" --verify recalculated.xlsx

8. Deliver the `.xlsx` path or attach it with `send_attachment`.

Spec Shape

{
  "title": "Workbook title",
  "sheets": [
    {
      "name": "Summary",
      "rows": [["Metric", "Value"], ["Revenue", 1200000], ["Margin", "=B2*0.42"]],
      "tables": [{"name": "SummaryTable", "ref": "A1:B3"}],
      "data_validations": [{"range": "A2:A10", "type": "list", "formula1": ["Revenue", "Margin"]}],
      "conditional_formats": [{"range": "B2:B10", "type": "colorScale"}],
      "charts": [
        {"type": "column", "title": "Summary", "categories": "$A$2:$A$3", "values": "$B$2:$B$3", "anchor": "D2"},
        {"type": "line", "title": "Trend", "categories": "$A$2:$A$3", "values": "$B$2:$B$3", "anchor": "D18"}
      ],
      "column_formats": ["text", "currency"],
      "column_widths": [24, 16],
      "freeze_top_row": true,
      "autofilter": true
    }
  ]
}

Quality Bar

  • Keep important values visible; avoid tiny columns and clipped headers.
  • Use one workbook, not many disconnected CSV-like sheets, when relationships

between tabs matter.

  • Prefer real Excel tables, filters, validations, conditional formats, and

charts when the workbook is meant to be used repeatedly.

  • Keep formulas editable, audit formulas before delivery, and write cached

values for supported formulas when possible. Supported audit functions include common arithmetic, comparisons, `SUM`, `AVERAGE`, `MIN`, `MAX`, `COUNT`, `MEDIAN`, `ROUND`, `ABS`, and simple `IF`.

  • When patching an existing workbook, preserve unrelated package parts and rerun

`inspect_xlsx.py` plus `formula_audit.py`; use `recalculate_xlsx.py` when the formula surface exceeds the bundled evaluator.

  • If preview rendering fails because LibreOffice or a PDF-to-PNG renderer is

missing, state exactly which verification passed; do not imply visual QA passed.

Read more
@shiwenwen
Ships withhope-agent

🦭 A cross-device desktop AI agent with memory, autonomous goals, dynamic workflows, and headless deployment | 会记忆、能持续推进目标、会动态编排多 Agent 的跨端桌面 AI 助手,也可服务化常驻 NAS / 云端

Stars on GitHub

Momentum

stars in total
1.9k
Star history of shiwenwen/hope-agent on GitHub, a chart by star-history.com

Other skills on hope-agent.

email-draft

email-draft

Use when the user asks to draft, polish, translate, or reply to an email. Produces a clean draft with subject line, greeting,…

feishu

feishu

Use when the user mentions 飞书 / Feishu / Lark workspace operations: docx (云文档) read/write, bitable (多维表格) records / views /…

ha-browser

ha-browser

Hope Agent browser automation — the standard `status → tabs → snapshot → act` loop, stale-ref recovery rules, and what to do when…

ha-code-review

ha-code-review

Hope-native review of uncommitted, staged, commit, branch, or PR changes: discover concrete regressions, independently verify…

ha-coding-common

ha-coding-common

Hope-native baseline for implementing, fixing, refactoring, and maintaining code: inspect the repository first, protect user…

ha-coding-plan

ha-coding-plan

Hope-native implementation planning for non-trivial code changes: ground the plan in repository evidence, order dependencies,…

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 office-xlsx.

Which coding agents can use office-xlsx?
office-xlsx 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.