univer-cli — Claude Code skill for .univer files
A skill that teaches your agent to build and verify multi-Unit .univer files: spreadsheets, docs, slides, Base databases and Board canvases.
npx skills add dream-num/skills --skill univer-cli -a claude-codeWhat univer-cli does
Univer CLI is a terminal tool for authoring .univer files. A single file can hold several Units — Sheet, Doc, Slide, Base, Board — each addressed by unitId. The skill loads the right instructions for the task at hand so commands and Facade APIs match the CLI version you have installed.
Runtime skills ship with the CLI: core covers the shared model and workflow, then one skill per Unit type, plus embed for nesting one Unit inside another and cross-unit-formula for formulas that read a neighbouring Unit. Edits land in an isolated worktree rather than the reviewed trunk, so nothing reaches the file until you merge. A command returning success is not proof the model is correct, so the skill asks you to read the target back and check rendered output when appearance matters.
You need the CLI itself first: npm install -g univer-cli, then univer doctor to check the runtime. If doctor reports a blocking runtime failure, the skill says to stop and report the diagnostic instead of reaching for other tools. Editing .univer storage directly, or swapping in an unrelated file writer, is off the table.
What it helps with
- build a spreadsheet with formulas and charts inside a
.univerfile - nest one Unit inside another Unit
- read a Sheet range from a cell in a different Unit
- confirm the stored model matches what you asked for
- export slides or a document to another format
Example prompts for the agent
- Load the univer-cli skill and list the Units inside
report.univer - Create a new Sheet with a sales table in a worktree and verify it with a readback
- Take a screenshot of a slide page in
deck.universo I can see how it renders
How to install univer-cli
1Skills CLI (Vercel)
npx skills add dream-num/skills --skill univer-cli -a claude-code2Manually: put the files in place
~/.claude/skills/univer-cli/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/univer-cli/
1Skills CLI (Vercel)
npx skills add dream-num/skills --skill univer-cli -a codex2Manually: put the files in place
.agents/skills/univer-cli/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dream-num/skills --skill univer-cli -a cursor2Manually: put the files in place
.cursor/skills/univer-cli/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dream-num/skills univer-cli2Manually: put the files in place
.github/skills/univer-cli/SKILL.md1Skills CLI (Vercel)
npx skills add dream-num/skills --skill univer-cli -a gemini-cli2Platform CLI
gemini skills install https://github.com/dream-num/skills --path skills/univer-cliManually: put the files in place
.devin/skills/univer-cli/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dream-num/skills --skill univer-cli -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about univer-cli
How do I install univer-cli in Claude?
Run npx skills add dream-num/skills --skill univer-cli -a claude-code. The skill lands at ~/.claude/skills/univer-cli/SKILL.md. The CLI is separate: npm install -g univer-cli.
What does univer-cli do?
It gives your agent instructions for multi-Unit .univer files: creating and editing Sheet, Doc, Slide, Base and Board Units, embedding one Unit in another, reading the model back and checking rendered output.
Does the skill work without the CLI?
No. Install the CLI first and run univer doctor to see the runtime state. Runtime skills ship with the CLI, so their commands stay in step with the installed version.
Source text
SKILL.md · Apache-2.0
--- name: univer-cli description: "Use when installing or operating Univer CLI for .univer files, spreadsheets, documents, slides, Base databases, Board canvases, cross-Unit embedding, worktrees, Facade authoring, inspection, verification, import/export, screenshots, or viewer handoff." hidden: true --- # Univer CLI Terminal-native authoring and inspection for multi-Unit `.univer` files. The CLI provides isolated worktrees, version-matched Facade guidance, model readback, and browser review. Install: ```bash npm install -g univer-cli univer doctor ``` ## Keep the CLI current Use these commands to compare the installed CLI with the latest public release: ```bash univer --version npm view univer-cli@latest version --registry=https://registry.npmjs.org/ ``` When a newer version is available, complete the current Univer task before updating: ```bash univer update univer doctor --json univer skills get core ``` If `univer update` reports that the shared daemon must stop, rerun it with `--force` after confirming that stopping the daemon is safe. Reload core and the target Unit Skill after every update. ## Start here This file is the discovery entry, not the operational guide. Before using Univer commands for a task, load the complete core Skill from the installed CLI: ```bash univer skills get core # shared model, workflow, evidence, and handoff univer skills get core --full # include direct references and templates ``` Runtime Skills ship with the CLI so their commands and Facade APIs match the installed version. ## Core Model - A `.univer` path is the authoritative multi-Unit target. Always address the file explicitly. - A Unit is a top-level Sheet, Doc, Slide, Base, or Board identified by `unitId`; sheet names, pages, tables, ranges, shapes, and records live inside that Unit. - `trunk` is the reviewed main line. A worktree is an isolated scope for agent changes; there is no implicit current worktree. - Command success is not correctness evidence. Read back the target model, verify task-specific assertions, and inspect rendered output when appearance matters. Use public CLI and Facade surfaces. The worktree commit path is the durable write boundary, and merge remains an explicit review decision. ## Unit Skills After core, load the Skill matching the target top-level Unit before authoring: ```bash univer skills get sheet univer skills get doc univer skills get slide univer skills get base univer skills get board ``` Use `univer skills list` to discover the installed set. Each Unit Skill owns its creation recipe, Facade entrypoints, readback guidance, and visual verification requirements. For cross-Unit composition, load the additional Topic Skill after the host and child Unit Skills: ```bash univer skills get embed ``` For a cross-Unit formula in a Sheet cell or formula-driven Shape, load its Topic Skill after the Host and Sheet or Base Source Unit Skills: ```bash univer skills get cross-unit-formula ``` ## Task Routing | Task | Load and use | | --- | --- | | Inspect or edit spreadsheet values, formulas, formatting, charts, or tables | core + `sheet` | | Create or refine document paragraphs, rich text, tables, charts, or page layout | core + `doc` | | Build or review presentation pages, shapes, text, or images | core + `slide` | | Create or edit structured Base tables, fields, records, or views | core + `base` | | Create or edit a Board canvas, charts, and other elements | core + `board` | | Embed one Unit inside another Unit | core + host Unit + child Unit + `embed` | | Read a Sheet range or Base table column from a Sheet cell or formula-driven Shape | core + Host Unit + Source Unit + `cross-unit-formula` | ## Why Univer CLI - One `.univer` target can contain Sheet, Doc, Slide, Base, and Board Units addressed by `unitId`. - Worktrees isolate agent changes until review and merge. - Offline `api show` / `api find` resolves exact Facade symbols for the installed SDK. - Runtime readback and the viewer verify the stored model and rendered result. - Import/export and screenshots use the product runtime rather than unrelated file writers. Do not edit `.univer` storage directly or substitute unrelated writers. Follow the loaded core and Unit Skills for the supported path. ## Diagnose ```bash univer --help univer doctor univer skills list univer skills path ``` Use `univer help <command>` for exact syntax. If the CLI is unavailable or `doctor` reports a blocking runtime failure, stop and report the diagnostic instead of switching tools.
© dream-num · Apache-2.0 · dream-num/skills