Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
npx claudepluginhub os-tack/fcp --plugin fcp-sheetsMCP server for semantic spreadsheet operations.
6-sheet PE portfolio review — built by an LLM using fcp-sheets
fcp-sheets lets LLMs create and edit Excel workbooks by describing spreadsheet intent -- data entry, formulas, styling, charts, conditional formatting -- and renders it into standard .xlsx files. Instead of writing openpyxl code cell-by-cell, the LLM works with operations like data A5 block entry, style A1:F1 bold fill:#1a1a2e, and chart add stacked-column data:B3:C7. Built on the FCP framework, powered by openpyxl for serialization.
sheets_session('new "Q4 Report" sheets:"Summary,Details"')
sheets([
'data A1',
'| Region | Q4 Revenue | Q4 Costs | Margin |',
'| North | 1250000 | 875000 | =C2/B2 |',
'| South | 980000 | 710000 | =C3/B3 |',
'| East | 1100000 | 790000 | =C4/B4 |',
'| West | 870000 | 620000 | =C5/B5 |',
'data end',
'style A1:D1 bold fill:#2F5496 color:#FFFFFF',
'style B2:C5 fmt:$#,##0',
'style D2:D5 fmt:0.0%',
'chart add clustered-column title:"Q4 Revenue by Region" data:B1:C5 categories:A2:A5',
])
sheets_session('save as:./q4_report.xlsx')
| Tool | Purpose |
|---|---|
sheets(ops) | Batch mutations -- data entry, formulas, styling, charts, merges, borders |
sheets_query(q) | Inspect the workbook -- list sheets, describe ranges, read values, find |
sheets_session(action) | Lifecycle -- new, open, save, checkpoint, undo, redo |
sheets_help() | Full reference card |
In a head-to-head against raw openpyxl on a 6-sheet PE portfolio workbook (84 audit checks):
| Metric | FCP | Raw openpyxl | Delta |
|---|---|---|---|
| Audit Score | 84/84 (100%) | 84/84 (100%) | Tie |
| Total Time | 559s (9.3 min) | 1,360s (22.7 min) | FCP 2.4x faster |
| Total Cost | $3.37 | $4.11 | FCP 18% cheaper |
| Output Tokens | 29,065 | 101,909 | FCP 3.5x fewer |
See docs/benchmark/ for the full writeup, audit script, and output files.
Requires Python >= 3.11.
pip install fcp-sheets
{
"mcpServers": {
"sheets": {
"command": "uv",
"args": ["run", "python", "-m", "fcp_sheets"]
}
}
}
3-layer architecture:
MCP Server (Intent Layer)
Parses op strings, dispatches to verb handlers
|
Semantic Model
Thin wrapper around openpyxl Workbook
Cell ref parser, sheet index, block mode, undo/redo via byte snapshots
|
Serialization (openpyxl)
Semantic model -> .xlsx binary output
Key features:
data/data end blocks enter tabular data with markdown table syntax='Sheet 2'!B5)uv sync
uv run pytest # 616 tests
uv run ruff check # linting
uv run pyright # type checking
MIT
Share bugs, ideas, or general feedback.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`, `.csv`, `.tsv`) using Python (`openpyxl`, `pandas`), especially when formulas, references, and formatting need to be preserved and verified. Originally from OpenAI's curated skills catalog.
Professional document processing suite: 3 comprehensive skills for Word (.docx), Excel (.xlsx), and PDF files - create, edit, analyse, and process documents with advanced features like tracked changes, forms, tables, OCR, and formulas
Official OpenAI skills for PDF, Word, PowerPoint, and Excel document processing.
Editorial "Documents & Presentations" bundle for Claude Code from Antigravity Awesome Skills.
Generate PPTX, DOCX, XLSX, and report workflows with OfficeCLI through a Claude Code skill
Office document manipulation plugins for Claude Code
Query and refactor Rust codebases through intent-level commands
Create and edit PowerPoint presentations through semantic commands
Create and edit draw.io diagrams through intent-level commands
Build regexes via named fragment composition — no raw syntax, no escaping burden
Query and refactor Python codebases through intent-level commands
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim