Bilig WorkPaper Agent Skill
Use @bilig/headless WorkPaper APIs for workbook formulas, MCP file-backed editing, formula readback, and JSON persistence without spreadsheet UI automation.
Install
mkdir -p .claude/skills/bilig-workpaper-agent-skill && curl -L -o skill.zip "https://mcp.directory/api/skills/download/9523" && unzip -o skill.zip -d .claude/skills/bilig-workpaper-agent-skill && rm skill.zipInstalls to .claude/skills/bilig-workpaper-agent-skill
About this skill
Bilig WorkPaper Agent Skill
Use this skill when an agent needs spreadsheet-style formulas but the work should run through files, terminal commands, TypeScript, HTTP routes, or MCP tools instead of Excel UI automation.
When To Trigger
Trigger this skill for tasks involving:
- workbook-shaped business logic in Node.js services;
- formula readback after writing cells;
- quote, budget, payout, pricing, import-validation, or forecast models;
- agent spreadsheet tools that need deterministic cell addresses;
- MCP clients that can run a stdio server or call a Streamable HTTP endpoint;
- reduced XLSX formula bugs that need a local report.
Do not trigger it for manual spreadsheet editing, Office macros, VBA, pivots, charts, COM automation, or exact Excel desktop behavior unless the user explicitly asks to compare Bilig against an Excel oracle.
Command Safety
Do not build shell commands by concatenating user text. Treat the commands below as literal templates, validate workbook paths before use, and reject values containing newlines, backticks, $(, ;, &, |, <, or >. Prefer MCP client command plus args arrays or direct TypeScript calls when inserting user-provided paths or cell references.
First Check: Agent Triage
Before wiring a client or opening a spreadsheet UI, print the compact decision card:
{
"command": "npm",
"args": ["exec", "--yes", "--package", "@bilig/workpaper@latest", "--", "bilig-agent-start", "--json"]
}
First Check: Agent Evaluator
Before wiring a client, prove the published agent door with the package-owned evaluator.
It exercises MCP discovery, cell mutation, formula readback, JSON export, restart restore, and returns verified: true:
{
"command": "npm",
"args": ["exec", "--yes", "--package", "@bilig/workpaper@latest", "--", "bilig-evaluate", "--door", "agent-mcp", "--json"]
}
For service-owned WorkPaper logic without MCP, run bilig-evaluate --door workpaper-service --json.
Use the lower-level challenge commands only when debugging the direct API loop or file-backed MCP JSON-RPC transcript:
[
{ "command": "npm", "args": ["exec", "--package", "@bilig/workpaper@latest", "--", "bilig-agent-challenge", "--json"] },
{ "command": "npm", "args": ["exec", "--package", "@bilig/workpaper@latest", "--", "bilig-mcp-challenge", "--json"] }
]
First Choice: MCP
Use MCP when the host can run a stdio server or call a Streamable HTTP server. Configure stdio as an argument array, not a shell-concatenated string:
If the host supports installable skills, first check that the public skill package is discoverable:
npx --yes skills@latest add https://bilig.proompteng.ai --list
npx --yes skills@latest add proompteng/bilig --skill bilig-workpaper --list
{
"command": "npm",
"args": [
"exec",
"--package",
"@bilig/workpaper@latest",
"--",
"bilig-workpaper-mcp",
"--workpaper",
"./pricing.workpaper.json",
"--init-demo-workpaper",
"--writable"
]
}
Run bilig-evaluate --door agent-mcp --json first. If the workbook contains
provider-backed formulas such as IMPORTRANGE, run
bilig-evaluate --door agent-mcp --scenario provider-backed --json to confirm
the adapter boundary. If the evaluator fails, run bilig-mcp-challenge and
treat its returned tools array as the source of truth for the currently published package. The core file-backed tools are:
list_sheetsread_rangeread_cellset_cell_contentsset_cell_contents_and_readbackget_cell_display_valueexport_workpaper_documentvalidate_formula
When the server is started through @bilig/workpaper@latest with
--from-xlsx ./pricing.xlsx, tools/list also includes
analyze_workbook_risk. That tool is fixed to the source XLSX passed at
startup and reports workbook risk indicators before an agent trusts the imported
WorkPaper. Without --workpaper --writable, edits stay in memory; add a
WorkPaper JSON path only when the task needs persisted file state. It does not
certify Excel compatibility.
For a maintained XLSX preflight transcript, run
pnpm --dir examples/headless-workpaper run agent:mcp-xlsx-risk-preflight.
It requires analyze_workbook_risk, set_cell_contents_and_readback,
export_workpaper_document, Inputs!B3, Summary!B3, 60000 -> 96000,
and verified: true.
After a write, always read the dependent output cell and export the WorkPaper
document. If the listed tool set includes set_cell_contents_and_readback,
prefer it for stateless clients because the edit and dependent readback happen
in one tool call. If it is absent, call set_cell_contents, then read_cell
or read_range, then export_workpaper_document.
For remote MCP clients, use the stateless demo endpoint when the client supports Streamable HTTP:
https://bilig.proompteng.ai/mcp
https://bilig.proompteng.ai/mcp/workpaper
The remote endpoint is request-local and does not write user files. Use it for connector smoke tests, tool discovery, and agent onboarding; use the file-backed stdio command when the workflow must persist a project WorkPaper JSON file.
Second Choice: Direct TypeScript
Use @bilig/workpaper directly when workbook logic belongs in a service, queue worker, test, or route:
import { buildA1WorkPaper } from '@bilig/workpaper'
const book = buildA1WorkPaper({
Inputs: [
['Metric', 'Value'],
['Customers', 20],
['Average revenue', 1200],
],
Summary: [
['Metric', 'Value'],
['Revenue', '=Inputs!B2*Inputs!B3'],
],
})
const proof = book.editAndReadback('Inputs!B2', 32, {
readbackRange: 'Summary!B2',
})
console.log({
editedCell: proof.editedCell,
after: proof.afterReadback.displayValues,
afterRestore: proof.restoredReadback.displayValues,
persistedDocumentBytes: proof.persistedDocumentBytes,
verified: proof.verified,
})
book.dispose()
XLSX Formula Clinic
When the user has a reduced XLSX formula/import bug, generate a local report through an argument array:
{
"command": "npm",
"args": [
"exec",
"--package",
"@bilig/workpaper@latest",
"--",
"bilig-formula-clinic",
"./reduced.xlsx",
"--cells",
"Summary!B7,Inputs!B2"
]
}
The report is local. It does not upload workbook contents. Ask for a reduced public fixture rather than private customer spreadsheets.
Required Verification
Return readback, not vibes. A successful agent response should include:
- the exact edited sheet and A1 cell;
- before values for relevant inputs and dependent outputs;
- after values read from the recalculated workbook;
- persistence evidence from serialized or exported WorkPaper state;
- restore or reimport checks when file boundaries matter;
- limitations for unsupported formulas or Excel-only features.
If any readback step fails, report the blocker instead of claiming the workbook was updated.
Reference URLs
- Compact docs map: https://proompteng.github.io/bilig/llms.txt
- Full agent context: https://proompteng.github.io/bilig/llms-full.txt
- Agent handbook: https://proompteng.github.io/bilig/headless-workpaper-agent-handbook.html
- Agent workbook challenge: https://proompteng.github.io/bilig/agent-workbook-challenge.html
- MCP server guide: https://proompteng.github.io/bilig/mcp-workpaper-tool-server.html
- OpenHands MCP setup: https://proompteng.github.io/bilig/openhands-workpaper-mcp.html
- OpenCode MCP setup: https://proompteng.github.io/bilig/opencode-workpaper-mcp.html
- Goose MCP recipe: https://proompteng.github.io/bilig/goose-workpaper-mcp.html
- Open WebUI tool setup: https://proompteng.github.io/bilig/open-webui-workpaper-mcp.html
- LobeHub MCP setup: https://proompteng.github.io/bilig/lobehub-workpaper-mcp.html
- AnythingLLM MCP setup: https://proompteng.github.io/bilig/anythingllm-workpaper-mcp.html
- Sim MCP setup: https://proompteng.github.io/bilig/sim-workpaper-mcp.html
- FastMCP Python client: https://proompteng.github.io/bilig/fastmcp-workpaper-client.html
- Agno WorkPaper MCP tools: https://proompteng.github.io/bilig/agno-workpaper-mcp.html
- Pydantic AI WorkPaper MCP tools: https://proompteng.github.io/bilig/pydantic-ai-workpaper-mcp.html
- smolagents WorkPaper tool: https://proompteng.github.io/bilig/smolagents-workpaper-tool.html
- Hugging Face WorkPaper Space template: https://proompteng.github.io/bilig/huggingface-workpaper-space.html
- Windmill TypeScript script: https://proompteng.github.io/bilig/windmill-workpaper-script.html
- Trigger.dev task: https://proompteng.github.io/bilig/triggerdev-workpaper-task.html
- Inngest step: https://proompteng.github.io/bilig/inngest-workpaper-step.html
- Airbyte validation: https://proompteng.github.io/bilig/airbyte-workpaper-validation.html
- Meltano utility: https://proompteng.github.io/bilig/meltano-workpaper-utility.html
- Temporal Activity: https://proompteng.github.io/bilig/temporal-workpaper-activity.html
- Airflow DAG: https://proompteng.github.io/bilig/airflow-workpaper-dag.html
- Dagster asset: https://proompteng.github.io/bilig/dagster-workpaper-asset.html
- Kestra Node flow: https://proompteng.github.io/bilig/kestra-workpaper-flow.html
- Prefect flow: https://proompteng.github.io/bilig/prefect-workpaper-flow.html
- XLSX formula clinic: https://proompteng.github.io/bilig/formula-bug-clinic.html
- Stale XLSX fixture command: npm exec --package @bilig/xlsx-formula-recalc@latest -- xlsx-cache-doctor ./reduced.xlsx --json
- Compatibility limits: https://proompteng.github.io/bilig/where-bilig-is-not-excel-compatible-yet.html
- Repository: https://github.com/proompteng/bilig
You might also like
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
pdf-to-markdown
aliceisjustplaying
Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
Related MCP Servers
Browse all serversBilig WorkPaper: headless spreadsheet formula engine and MCP server for Node agents: complete spreadsheet work autonomously
Automate Excel file tasks without Microsoft Excel using openpyxl and xlsxwriter for formatting, formulas, charts, and advanced spreadsheet automation.
xlwings Excel: Manipulate Excel files without installing Excel. 30+ tools for workbooks, data ops, formatting, formulas, charts and pivots across Windows and…
Extend your developer tools with GitHub MCP Server for advanced automation, supporting GitHub Student and student packages integration.
Pipedream — Access hosted MCP servers or deploy your own for 2,500+ APIs (Slack, GitHub, Notion, Google Drive) with built-in auth and 10k tools.
Safely connect cloud Grafana to AI agents with MCP: query, inspect, and manage Grafana resources using simple, focused operations.