Office Xlsx
Documentsoffice-xlsxOffice Xlsx is an Agent Skill for documents published in the shiwenwen/hope-agent repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
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.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/shiwenwen/hope-agent/blob/HEAD/skills/office-xlsx/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/office-xlsx, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
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:
- Summary or dashboard sheet first.
- Inputs / assumptions sheet next.
- Detail or source data sheets after that.
- Checks sheet only when formulas, reconciliations, or model integrity matter.
Workflow
- Normalize source data before writing the workbook.
- Use formulas for derived values instead of hardcoded calculated outputs.
Strings beginning with
=are written as Excel formulas. - 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
- 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
- If visual QA matters and LibreOffice is available, run:
python3 "$SKILL_DIR/scripts/render_preview.py" output.xlsx
- 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)"}
]
}
- When formulas matter, use
formula_audit.py --write-cacheand 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
- Deliver the
.xlsxpath or attach it withsend_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 simpleIF. - When patching an existing workbook, preserve unrelated package parts and rerun
inspect_xlsx.pyplusformula_audit.py; userecalculate_xlsx.pywhen 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.