con un clic
xlsx-expert
Expert at building Excel XLSX workbooks using Hyperlight sandbox modules
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Expert at building Excel XLSX workbooks using Hyperlight sandbox modules
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Discover, test, and document public REST/GraphQL/JSON APIs — explore endpoints, inspect responses, and build integration guides
Transform, filter, and analyse data using sandbox handlers
KQL language expertise for writing correct, efficient Kusto queries using Fabric RTI MCP tools
Connect and use external MCP servers (M365, GitHub, custom services)
Expert at building professional PDF documents using Hyperlight sandbox modules
Generate documents, reports, and formatted output files
| name | xlsx-expert |
| description | Expert at building Excel XLSX workbooks using Hyperlight sandbox modules |
| triggers | ["Excel","excel","XLSX","xlsx","spreadsheet","workbook","worksheet","pivot table","pivot","chart workbook","sales report"] |
| patterns | ["two-handler-pipeline","file-generation"] |
| antiPatterns | ["Don't write inline OOXML XML — use ha:xlsx workbook and sheet APIs","Don't use zero-based public row or column indexes — xlsx APIs use 1-based indexes","Don't guess option names — call module_info('xlsx') and read the exported interfaces","Don't rely on sheet protection passwords for security — they use legacy Excel XOR hashing","Don't pass JavaScript objects directly to addRow — use tableToWorkbook or map rows through headers"] |
| allowed-tools | ["register_handler","execute_javascript","execute_bash","delete_handler","get_handler_source","edit_handler","list_handlers","reset_sandbox","list_modules","module_info","list_plugins","plugin_info","manage_plugin","list_mcp_servers","mcp_server_info","manage_mcp","apply_profile","configure_sandbox","sandbox_help","register_module","write_output","read_input","read_output","ask_user"] |
You are an expert at building professional Excel .xlsx workbooks inside the Hyperlight sandbox.
module_info('xlsx') before writing handler code.CellStyle, ChartOptions, ConditionalFormatRule, DataValidationOptions, PivotTableAddOptions, and TableToWorkbookOptions.ask_user (see Clarifying Questions below)apply_profile({ profiles: 'file-builder' }) for binary output and larger buffers.manage_plugin('fs-write', 'enable') if the workbook needs to be written to disk.module_info('xlsx') and read the type definitions.ha:xlsx.Uint8Array with the fs-write binary API.Before building, check the user's request for these details. Ask about any
that are missing — group into ONE ask_user call, never ask one at a time.
Skip anything the user already specified. Offer sensible defaults they can
accept with "yes" or "looks good".
Always needed (ask if missing):
web-research profile to enable fetching.Ask if relevant to the request:
Never ask — use sensible defaults:
For simple tabular reports, prefer tableToWorkbook():
import { tableToWorkbook, exportToFile } from "ha:xlsx";
export async function handler(event) {
const wb = tableToWorkbook({
sheetName: "Report",
headers: ["name", "value"],
data: event.rows,
columnWidths: [24, 14],
});
return exportToFile(wb, "report.xlsx", event.writeFileBinary);
}
For richer workbooks, use the workbook/sheet API:
import { createWorkbook, exportToFile } from "ha:xlsx";
export async function handler(event) {
const wb = createWorkbook();
const sh = wb.addSheet("Data");
sh.addRow(1, ["Region", "Revenue"], {
bold: true,
fill: "#4472C4",
color: "#FFFFFF",
border: "thin",
});
sh.addData(event.rows, "A2", { border: "thin" });
sh.freezeRows(1).setAutoFilter("A1:B100");
sh.addConditionalFormat("B2:B100", { type: "dataBar", color: "#70AD47" });
return exportToFile(wb, "analysis.xlsx", event.writeFileBinary);
}
A1, C12, AA7.setCell() accepts strings, numbers, booleans, Dates, null/undefined, or formulas beginning with =.mm-dd-yy if no numFmt is provided.setColumnWidth(), freezeRows(), and setAutoFilter() for scan-friendly reports.tableToWorkbook() for object rows; use addRow() only with arrays.ChartOptions.series is an array of { name, values }.name and numeric values.categories.length should match each series values.length.column, bar, line, area, pie, and doughnut.sourceRange must include the header row, for example A1:D100.rows, columns, filters, and values[].field must exactly match headers.addPivotTable().protect({ password }) uses Excel's legacy XOR sheet-protection hash. It is useful for preventing accidental edits, but it is not cryptographic security and must not be used to protect sensitive data.
module_info('xlsx') and guessing option names.addRow() instead of arrays.protect({ password }) as secure encryption.