aiguicai/mcp-gateway/officecli
Claude Code and agent skill by aiguicai/mcp-gateway
- community
Checking that the SKILL.md file is still in the repository.
Create, analyze, proofread, and modify Office documents (.docx, .xlsx, .pptx) using the officecli CLI tool. First read the complete builtin://officecli/SKILL.md to get skillToken; this SKILL.md read does not require skillToken. Calls without the correct skillToken will fail and must be retried.
Install
npx vskill@latest install aiguicai/mcp-gateway/officecliSKILL.md
officecli
AI-friendly CLI for .docx, .xlsx, .pptx. Single binary, no dependencies, no Office installation needed.
IMPORTANT: How to Use This Tool
This is a dedicated built-in tool named officecli. You MUST follow these rules:
- Do NOT use `shell_command` to run officecli commands. The gateway will block any attempt to run
officeclithroughshell_command. Always use thisofficeclitool directly.
- Executing commands (skillToken required):
- Every
execvalue MUST start with theofficecliprefix. - You MUST include the
skillTokenreturned from reading this skill. - Example:
officecli({"exec": "officecli create report.docx", "skillToken": "<token>"})
- The `exec` field always requires the `officecli` command prefix. Do NOT omit it.
- Correct:
"exec": "officecli help" - Correct:
"exec": "officecli create file.docx" - Wrong:
"exec": "help" - Wrong:
"exec": "create file.docx"
- Command snippets in this skill are CLI syntax. When this skill shows
officecli ...in a code block, execute that command by putting the full line in the built-in tool'sexecfield with the requiredskillToken.
Prerequisites
The officecli binary must be installed and available in PATH before this tool can be enabled. Use officecli --version to verify. If not installed, enable it via the admin UI or install manually from https://github.com/iOfficeAI/OfficeCLI/releases.
Strategy
L1 (read) -> L2 (DOM edit) -> L3 (raw XML). Always prefer higher layers. Add --json for structured output.
Before document work, check Specialized Skills near the bottom of this file. Generic decks, pitch decks, Morph decks, academic papers, financial models, and dashboards need their own officecli load_skill <name> rules before creating or heavily editing the artifact. The base skill explains commands; the specialized skill explains document quality.
Help System (IMPORTANT)
When unsure about property names, value formats, or command syntax, ALWAYS run help instead of guessing. One help query beats guess-fail-retry loops.
officecli help is equivalent to officecli --help, and officecli <cmd> --help is equivalent to officecli help <cmd>.
Gateway execution examples:
CLI syntax examples:
Format aliases: word -> docx, excel -> xlsx, ppt/powerpoint -> pptx. Verbs: add, set, get, query, remove.
Resident Mode
Every command auto-starts a resident on first access when available, with a short idle timeout, so file-lock conflicts are automatically avoided. Explicit open/close is still recommended for longer sessions:
Opt out of auto-start with OFFICECLI_NO_AUTO_RESIDENT=1.
Quick Start
PPT:
Word:
Excel:
PowerPoint Quality Workflow
For .pptx, first load exactly one matching specialized skill:
Then follow the rules it prints. At minimum:
- Set explicit geometry on every non-placeholder shape:
x,y,w/width,h/height. - Set explicit typography on text shapes: font, size, color, and alignment where supported.
- Use one idea per slide. Split dense bullet slides instead of shrinking text.
- Every content slide should include a non-text visual: shape system, picture, chart, icon, table, or diagram.
- Add speaker notes on content slides with
--type noteswhen generating a real deck. - Verify after generation with
view outline,view stats --json,view issues --json, and a rendered preview (view htmlorview screenshot). - Treat text overflow and off-slide geometry as blocking issues. Fix them before declaring the file done.
Common failure mode: creating only a title and one default text box per slide produces a valid PowerPoint file, but not a designed presentation. Default text boxes start at x=0cm y=0cm and 10cm x 5cm; they usually look unplaced and can overlap or overflow.
REQUIRED: WPS Compatibility Fix
OfficeCLI writes <Application>OfficeCLI/x.x.x</Application> into docProps/app.xml when creating files. WPS Office does not recognize this application identifier and will refuse to open the file ("format not recognized").
After every `officecli create`, you MUST run this cleanup step:
Example full flow:
This applies to all formats (.docx, .xlsx, .pptx). Do NOT skip this step.
L1: Create, Read & Inspect
view modes
| Mode | Description | Useful flags | |||
|---|---|---|---|---|---|
outline | Document structure | ||||
stats | Statistics (pages, words, shapes) | ||||
issues | Formatting/content/structure problems | `--type format\ | content\ | structure, --limit N` | |
text | Plain text extraction | --start N --end N, --max-lines N | |||
annotated | Text with formatting annotations | ||||
html | Static HTML snapshot, same renderer as watch, no server needed | --browser, --page N (docx), --start N --end N (pptx) | |||
screenshot / svg / pdf / forms | PNG via headless browser / SVG (pptx slide) / PDF via exporter plugin / form-fields JSON via format-handler plugin | -o, --screenshot-width/-height, pptx --grid N |
Use view html for one-shot snapshots (CI artifacts, archival, diffing); use watch when you need live refresh or browser-side click-to-select.
Useful render checks:
get
Any XML path via element localName. Use --depth N to expand children. Add --json for structured output. Default text output is grep-friendly: path (type) "text" key=val key=val ...
Stable ID Addressing
Elements with stable IDs return @attr=value paths instead of positional indices. Prefer these in multi-step workflows because positional indices shift on insert/delete, while stable IDs do not.
PPT also accepts @name= (for example shape[@name=Title 1]), with morph !! prefix awareness. Elements without stable IDs (slide, run, tr/tc, row) fall back to positional indices.
query
CSS-like selectors: [attr=value], [attr!=value], [attr~=text], [attr>=value], [attr<=value], :contains("text"), :empty, :has(formula), :no-alt.
Watch & Interactive Selection
Live HTML preview that auto-refreshes on every file change. Browsers can click, shift-click, or box-drag to select shapes; the CLI can read the current browser selection and act on it.
Open the printed http://localhost:N URL. Click to select; shift/cmd/ctrl-click to multi-select; drag from empty space to box-select. PPT/Word use blue outline; Excel uses native-style green selection (double-click cell to edit inline; drag a chart to reposition).
get <file> selected - read what the user clicked
Returns DocumentNodes for whatever is currently selected. Empty result if nothing selected. Exit code is nonzero if no watch is running.
Key properties
- Selection survives file edits. Paths use stable
@id=form. - All connected browsers share one selection. Last-write-wins.
- Same-file single-watch. A given file can have only one watch process at a time.
- Group shapes select as a whole. Drilling into individual children of a group is not supported in v1.
- Coverage:
.pptxshapes/pictures/tables/charts/connectors/groups;.docxtop-level paragraphs and tables. Inherited layout/master decorations and Word nested elements (table cells, run-level) are not addressable. `.xlsx` does not emit `data-path`;mark/selectionon xlsx always resolvestale=true.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmcp-gateway/crates/gateway-http/builtin-skills/officecli/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/aiguicai/mcp-gateway/officecli)