{"id":"82b09000-25ee-4ec8-bec4-1986f70a4f32","shortId":"xAZfbj","kind":"skill","title":"univer-cli","tagline":"Use when solving spreadsheet workbook problems with the `univer` or `unv` CLI as a terminal-native spreadsheet engine: Excel-compatible `.xlsx` handoff, `.univer` or `.unv` packages, workbook inspection, range search, formulas, formatting, charts, rich spreadsheet edits, live pre","description":"# univer-cli\n\n`univer` is a spreadsheet engine in the terminal. Use it when an agent needs real workbook semantics: sheets, ranges, formulas, formatting, layout, previews, imports, exports, or versioned workbook state.\n\nInstall the CLI with `npm i -g univer-cli`. The executable is `univer`; `unv` may be available as a short alias.\n\n## Core Mental Model\n\nTreat workbook-visible state as the source of truth. A successful command summary, package metadata, or an internal manifest does not prove that sheet names, cell values, formulas, formatting, or exported handoff files are correct.\n\nThe workbook path is the local identity. Pick one explicit path such as `./budget.univer` and use that path as the CLI target. Do not target workbooks by `unitId`, `sessionId`, manifest ids, or runtime ids.\n\n`.univer` and `.unv` files are CLI operation targets, not agent-editable data stores. Read and write workbook data through public CLI surfaces such as `inspect`, `search`, `pipe`, `run`, `export`, `status`, and `commit`.\n\nUse `univer help` and `univer help <command...>` for exact syntax. For `run` scripts, use `univer help run` and `univer help run <topic>` before relying on unfamiliar APIs.\n\n## Use When\n\nUse this skill when the task involves spreadsheet or workbook work, especially:\n\n- creating, importing, exporting, or handing off `.xlsx`, `.csv`, `.univer`, or `.unv` files\n- inspecting workbook shape, sheets, ranges, formulas, formatting, or visible cell state\n- locating content-defined rows, columns, headers, or cells before editing\n- making bounded edits to cells, formulas, formatting, charts, layout, or sheet structure\n- streaming rectangular workbook data through shell tools before reading it into context\n- writing generated matrix data back into a sheet-qualified range\n- previewing workbook state locally with `univer view`\n- reading submitted local viewer review comments with `univer view comments`\n- creating, restoring, resetting, pulling, or syncing local workbook changesets\n- proving that a workbook-visible mutation or export is correct enough to hand back\n\n## Default Operating Loop\n\n1. Pick one explicit workbook path, for example `./budget.univer`.\n2. Create or import a workbook first if no `.univer` or `.unv` target exists.\n3. Inspect workbook-visible state before deciding where to write.\n4. Locate targets from visible headers, values, formulas, or inspected ranges.\n5. Choose the smallest public CLI surface that fits the task.\n6. Mutate through the CLI, not by editing package internals.\n7. Verify changed workbook-visible state with `inspect`, `pipe out`, or another public read.\n8. Export only after verification when the user needs a handoff file.\n9. Commit or sync only after verified changes when versioning is part of the workflow.\n\n## Hard Rules\n\n- Do not read `.univer` or `.unv` internals to infer workbook contents.\n- Do not write, patch, unzip, rezip, rename internal files, or manipulate workbook package contents.\n- Do not inspect `manifest.json`, snapshots, mutation logs, or package fragments as a substitute for workbook-visible reads.\n- Do not guess sheet names, row numbers, formulas, ranges, or changed cells from memory or file metadata.\n- Do not treat stdout summaries as proof of workbook state. Verify with a workbook-visible read.\n- Do not invent commands or `run` APIs. Check `univer help` and documented run topics.\n\nDirect package access can corrupt workbooks or teach the agent false state. If the CLI cannot read what you need, diagnose the CLI/runtime path instead of bypassing it.\n\n## Command Selection\n\n| Need | Prefer |\n| --- | --- |\n| Discover exact command syntax | `univer help`, `univer help <command...>` |\n| Start a workbook package | `univer new` or `univer import` |\n| Hand back Excel-compatible output | `univer export` |\n| Understand workbook shape before editing | `univer inspect workbook`, then `univer inspect range` |\n| Locate content-defined cells | `univer search`, scoped with `--sheet` and/or `--range` when possible |\n| Stream rectangular data through shell tools | `univer pipe out` |\n| Write a known rectangular matrix back | `univer pipe in` |\n| Apply bounded workbook-local logic | `univer run --file` |\n| Create or maintain workbook charts | `univer run --file` with `univer help run charts` |\n| Preview readonly workbook state | `univer view --no-open --json` or `univer view` |\n| Read local viewer review feedback | `univer view comments \"$WB\" --json` |\n| Check local versioning state | `univer status` |\n| Create a local changeset from local mutations | `univer commit --message <message>` |\n| Discard uncommitted local mutations | `univer restore` |\n| Reset local unsynced commits | `univer reset --soft HEAD~N` or `univer reset --hard HEAD~N` |\n| Initialize a local package from an existing remote unit | `univer clone --unit-id <unitID>` |\n| Pull remote-only changes for a bound package | `univer pull` |\n| Sync local and remote versioning state | `univer sync` |\n| Diagnose runtime problems | `univer doctor`, `univer daemon status` |\n\nUse canonical command help such as `univer help inspect range` and `univer help pipe out`. Top-level help group headings are visual sections only; do not run group-prefixed topics such as `univer help read inspect range`.\n\n## Execution Results\n\nTreat non-zero exit as failure even when stdout is partially present. Read stderr before changing approach; it usually contains the stable diagnostic code, usage, and retry examples.\n\nKeep data stdout clean in shell pipelines. If diagnostics are needed, capture stderr separately so downstream tools receive only workbook data.\n\n```bash\nuniver inspect range \"$WB\" --range 'Sheet1!A1:D20' > ./range.md 2> ./range.err\nstatus=$?\nif [ \"$status\" -ne 0 ]; then\n  sed -n '1,80p' ./range.err\n  exit \"$status\"\nfi\nsed -n '1,40p' ./range.md\n```\n\n## Workflow Recipes\n\nThese are verified command shapes. Replace paths, sheet names, and ranges with inspected workbook facts.\n\n### Create Or Import, Then Inspect\n\n```bash\nWB=./orders.univer\nuniver import ./orders.csv \"$WB\" --json\nuniver inspect workbook \"$WB\"\nuniver inspect range \"$WB\" --range 'Sheet1!A1:D4'\n```\n\nUse `new` when the task starts from a blank workbook:\n\n```bash\nWB=./workbook.univer\nuniver new \"$WB\" --name \"Workbook\"\nuniver inspect workbook \"$WB\"\n```\n\n### Locate Before Editing\n\nUse `search` before editing when the target is defined by visible workbook content:\n\n```bash\nuniver search \"$WB\" West\n```\n\nPlain text output is one A1 reference per matched cell, which keeps shell pipelines clean. With no\nmatches, stdout is empty and the command still succeeds. Use `--json` when you need match metadata,\nthe matched cell data preview, truncation flags, counts, or the searched scope:\n\n```bash\nuniver search \"$WB\" West --sheet Orders --range 'A1:Z200' --json\n```\n\nBy default, search checks `displayValue`, so formatted values such as dates are searchable by the\nsame strings a user sees in the sheet. Use `--type rawValue` for underlying numeric/string values\nsuch as spreadsheet date serials, and `--type formula` for formulas:\n\n```bash\nuniver search \"$WB\" 2024-01-01\nuniver search \"$WB\" 45292 --type rawValue\nuniver search \"$WB\" SUM --type formula --json\n```\n\nUseful narrowing options:\n\n- `--sheet <name>` may be repeated.\n- `--range <A1>` may be repeated; unqualified ranges require a `--sheet`.\n- `--case-sensitive` and `--whole-cell` tighten matching.\n- `--max-results` limits returned matches; truncation is reported on stderr for text output and in JSON fields for `--json`.\n- `--max-cell-value-length` bounds previewed cell data in JSON.\n\nIf `search` fails, read stderr for the diagnostic message before changing approach. If the target is\nnot content-defined, inspect a bounded range and derive the edit boundary from visible headers and\nsample rows:\n\n```bash\nuniver inspect range \"$WB\" --range 'Sheet1!A1:D20'\n```\n\n### Pipe Out Through Shell Tools\n\nUse `pipe out` when the shell can reduce or reshape rectangular data before the agent reads it. Prefer TSV for `awk`, JSON for `jq`, and `--type rawValue` when formatted display text is not safe enough for comparisons.\n\n```bash\nuniver pipe out \"$WB\" --range 'Sheet1!A1:D4' --format tsv > ./orders.tsv\nawk -F '\\t' 'BEGIN{OFS=\"\\t\"} NR==1 || $2==\"West\" {print $1,$3}' ./orders.tsv > ./west.tsv\nsed -n '1,5p' ./west.tsv\n```\n\n### Pipe In Generated Table Data\n\nWrite only a known matrix into an explicit, sheet-qualified range. Make `pipe in` the terminal stage of a pipeline unless you intentionally want its success summary downstream.\n\n```bash\nuniver pipe in \"$WB\" --range 'Sheet1!F1:G3' --input-format tsv --data-file ./west.tsv\nuniver inspect range \"$WB\" --range 'Sheet1!F1:G3'\nuniver pipe out \"$WB\" --range 'Sheet1!F1:G3' --format tsv\n```\n\nVerify headers, sample rows, and key columns. Row count alone is weak evidence because shifted columns can still preserve row count.\n\n### Run A Bounded Workbook Script\n\nUse `run --file` for workbook-native logic that does not fit `inspect`, `search`, `pipe`, or `export`. Check `univer help run` and the relevant `univer help run <topic>` manual before using unfamiliar APIs.\n\n```bash\ncat > ./review.js <<'JS'\n() => {\n  const workbook = univerAPI.getActiveWorkbook();\n  const sheet = workbook.getSheetByName(\"Sheet1\");\n  if (!sheet) return { success: false, error: \"Sheet1 not found\" };\n\n  sheet.getRange(\"I1:J3\").setValues([\n    [\"metric\", \"value\"],\n    [\"west_orders\", 2],\n    [\"reviewed\", \"yes\"],\n  ]);\n\n  return { success: true, changedRanges: [\"Sheet1!I1:J3\"] };\n}\nJS\n\nuniver run \"$WB\" --file ./review.js\nuniver inspect range \"$WB\" --range 'Sheet1!I1:J3'\n```\n\n`run` scripts should:\n\n- wrap code in `() => { ... }` or `async () => { ... }`\n- return a plain object with explicit success or error fields\n- use explicit workbook, sheet, and A1 range boundaries\n- prefer A1 notation for fixed workbook-facing locations\n- remember numeric coordinate overloads are 0-based\n- use documented facade builders for conditional formatting instead of editing internal rule model shapes\n- use official enum references for conditional formatting color scales, data bars, and icon sets: `ConditionFormatIconSetTypeEnum` supplies `setIconSet().iconConfigs[].iconType`, and `ConditionFormatValueTypeEnum` supplies value config `type` values\n- use documented chart builders and worksheet chart APIs from `univer help run charts` instead of editing chart resource internals\n- wait for formula calculation with the documented formula wait API before reading same-run computed results\n- prefer `--file` for scripts beyond a short one-liner\n\n### Create Or Maintain Charts\n\nUse `univer run` for workbook-local charts and `univer view` for visual inspection. Command-line verification should read facade state such as `sheet.getCharts()`, `chart.getChartId()`, `chart.getRange()`, `chart.getSeriesData()`, and `chart.getCategoryData()`.\n\n```bash\nuniver help run charts\nuniver run \"$WB\" --file ./create-chart.js\nuniver view \"$WB\" --no-open --json\n```\n\nIn scripts, seed or choose a source range, configure `sheet.newChart()`, call `build()`, then insert it with `sheet.insertChart(chartInfo)`. Use `chart.updateRange()` or `sheet.removeChart(chart)` for maintenance.\n\nSpecial chart types have stricter source shapes:\n\n- Most charts use a category-plus-series table, for example `month, sales, cost`.\n- Relation charts require a node/type matrix: first column is node, second column is type/category, remaining columns are the numeric relation matrix. For `N` nodes, use `N` data rows and `N + 2` columns.\n- Sankey charts require a `source, target, value` edge list. The third column must be numeric; avoid reverse edges that create circular Sankey data.\n- Bubble charts need numeric `x`, `y`, and `size` columns.\n- Heatmap charts use the first column as y-axis labels, remaining headers as x-axis labels, and remaining cells as numeric heat values.\n\n### Preview Locally\n\nUse preview when visual confirmation helps. `--no-open --json` is useful for agents and remote environments; the server process remains active until stopped.\n\n```bash\nuniver view \"$WB\" --no-open --json\n```\n\nWhen a human submits review feedback in the local viewer, read it without reopening the browser:\n\n```bash\nuniver view comments \"$WB\" --json\nuniver view comments --session \"<session-id>\" --all --json\n```\n\nBy default, `view comments` returns actionable submitted comments that are not resolved. Use `--all` when you need pending, submitted, and resolved comments for audit context. These are local viewer review comments, not workbook-native cell notes or collaboration thread comments; the command is read-only and does not start a host, open a browser, create a session, or mutate the workbook.\n\nUse `univer help view` for port and browser-opening options.\n\n### Version Verified Changes\n\nCheck status before committing. Commit only after workbook-visible verification.\n\n```bash\nuniver status \"$WB\"\nuniver commit \"$WB\" --message \"Update review ranges\"\nuniver status \"$WB\"\n```\n\n`commit` creates a local changeset from current local mutations. It does not push to a remote.\n\nUse `restore` when current uncommitted workbook mutations should be discarded while preserving local commits and synced history.\n\n```bash\nuniver status \"$WB\"\nuniver restore \"$WB\"\nuniver status \"$WB\"\n```\n\nUse `reset --soft HEAD~N` to remove the last N local unsynced commits and restore their mutations as uncommitted local mutations. Use `reset --hard HEAD~N` to remove the last N local unsynced commits and discard current uncommitted local mutations.\n\n```bash\nuniver status \"$WB\"\nuniver reset \"$WB\" --soft HEAD~1\nuniver status \"$WB\"\n\nuniver reset \"$WB\" --hard HEAD~1\nuniver status \"$WB\"\n```\n\n`reset` only accepts `HEAD~N` targets and only operates on local unsynced commits. It does not rewrite synced changesets or remote history.\n\n### Clone, Pull, And Sync\n\nUse `clone` when a remote workbook unit already exists and you need a new local package path. The target `.univer` path must be nonexistent or empty.\n\n```bash\nWB=./budget.univer\nuniver clone \"$WB\" --unit-id unit-remote --json\nuniver status \"$WB\"\nuniver inspect workbook \"$WB\"\n```\n\nUse `pull` when you only need missing remote changesets for a package already bound to a remote unit. Use `sync` to sync local and remote versioning state.\n\n```bash\nuniver status \"$WB\"\nuniver pull \"$WB\"\nuniver status \"$WB\"\n\nuniver commit \"$WB\" --message \"Update review ranges\"\nuniver sync \"$WB\"\nuniver status \"$WB\"\n```\n\n`sync` creates the remote workbook first when the package is still local-only. It pulls remote changes and pushes local changesets, but it does not push uncommitted local mutations. Remote endpoints come from `collaboration.defaultRemote` and `collaboration.remotes.<name>.url`.\n\n### Export Handoff\n\nExport after inspection proves the workbook state. Then prove the handoff file exists and, when useful, can be read back.\n\n```bash\nuniver inspect workbook \"$WB\"\nuniver export \"$WB\" ./handoff.xlsx --json\ntest -s ./handoff.xlsx\nuniver import ./handoff.xlsx ./handoff.univer --json\nuniver inspect workbook ./handoff.univer\n```\n\nUse `.xlsx` for Excel handoff when workbook interoperability matters. Use CSV only when plain rectangular data is enough for the handoff.\n\n## Shell-Native Rules\n\nUse shell tools to reduce large ranges before bringing data back to the agent. `pipe out` should produce clean data; diagnostics and help belong outside the data stream.\n\n- Keep ranges explicit and sheet-qualified.\n- Quote the full A1 range string, especially for non-English or shell-sensitive sheet names.\n- Prefer TSV for `awk` and JSON for `jq`.\n- Stage intermediate files when you need a stable preview or assertion.\n- Make `pipe in` the usual final pipeline stage.\n- Verify with `inspect range` or `pipe out` after every writeback.\n\nAvoid `pnpm dev -- ...` in clean pipeline examples. The pnpm/tsx wrapper can print logs to stdout and corrupt streamed data. Use the installed `univer`/`unv` executable or another entrypoint you have proven emits clean stdout.\n\n## Gotchas\n\n- `manifest.json` is metadata only. It does not prove sheet names, formulas, changed cells, or handoff correctness.\n- Package contents are not a meaningful way to infer spreadsheet data. Use public CLI reads instead.\n- Local file identity is the workbook path, such as `./budget.univer`, not `unitId`, `sessionId`, or manifest ids.\n- Command success is not enough after import, mutation, export, or handoff. Verify workbook-visible state.\n- A non-zero exit means the operation failed. Read stderr for the diagnostic, usage, and retry guidance.\n- `search` may be unavailable or limited in some installed versions. Fall back to bounded `inspect range`.\n- Quote the full range: `--range 'Sheet1!A1:J20'`, not just the sheet name fragment.\n- Shell row counts can pass while headers, columns, or keys shift. Check headers, samples, and key columns together.\n- `pipe in` writes parsed matrix data and reports a summary; it does not echo input.\n- `view` is readonly preview. Do not treat it as mutation verification unless the task is visual review.\n- `commit` is local only; use `sync` to push local changesets.\n- `restore` discards only uncommitted local mutations; it does not remove local commits.\n- `reset` is local-only and limited to `HEAD~N` over unsynced local commits. Do not use it as a remote revert or force-push workflow.\n- `sync` does not push uncommitted local mutations. Commit verified workbook changes first.\n- If `sync` reports an invalid remote binding, stop and diagnose the package or remote setup.\n- `pull` requires a package already bound to a remote unit. Use `sync` for first remote creation or `clone --unit-id` for an existing remote unit.\n- `clone` replaced older remote binding wording. Do not use or invent a `bind` command.\n- If runtime-backed commands fail to start, inspect `univer daemon status` before retrying blindly.\n- If workbook-visible reads disagree with package metadata, trust workbook-visible reads first.","tags":["univer","cli","skills","dream-num","agent-skills","claude-code-skills","claude-skills","openai-codex","openclaw-skills","spreadsheet"],"capabilities":["skill","source-dream-num","skill-univer-cli","topic-agent-skills","topic-claude-code-skills","topic-claude-skills","topic-cli","topic-openai-codex","topic-openclaw-skills","topic-skills","topic-spreadsheet"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/dream-num/skills/univer-cli","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add dream-num/skills","source_repo":"https://github.com/dream-num/skills","install_from":"skills.sh"}},"qualityScore":"0.457","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 15 github stars · SKILL.md body (17,932 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:06:28.049Z","embedding":null,"createdAt":"2026-04-23T13:03:52.463Z","updatedAt":"2026-05-18T19:06:28.049Z","lastSeenAt":"2026-05-18T19:06:28.049Z","tsv":"'-01':1089,1090 '/budget.univer':150,364,2094,2434 '/create-chart.js':1628 '/handoff.univer':2238,2243 '/handoff.xlsx':2230,2234,2237 '/orders.csv':930 '/orders.tsv':1257,1271 '/orders.univer':927 '/range.err':883,894 '/range.md':881,902 '/review.js':1407,1448 '/west.tsv':1272,1277,1328 '/workbook.univer':957 '0':888,1497 '1':356,892,900,1265,1269,1275 '2':365,882,1266,1433,1712 '2024':1088 '3':379,1270 '4':390 '40p':901 '45292':1094 '5':401 '5p':1276 '6':412 '7':422 '8':437 '80p':893 '9':449 'a1':879,943,993,1041,1202,1253,1480,1484,2307,2497 'accept':2042 'access':559 'action':1838 'activ':1794 'agent':59,181,566,1223,1786,2282 'agent-edit':180 'alia':97 'alon':1356 'alreadi':2073,2124,2635 'and/or':636 'anoth':434,2384 'api':228,549,1404,1546,1567 'appli':658 'approach':839,1171 'assert':2339 'async':1464 'audit':1856 'avail':93 'avoid':1729,2358 'awk':1229,1258,2324 'axi':1755,1762 'back':305,352,607,654,2221,2279,2486,2674 'bar':1523 'base':1498 'bash':872,925,955,983,1033,1084,1195,1246,1312,1405,1619,1797,1821,1921,1968,2018,2092,2139,2222 'begin':1261 'belong':2292 'beyond':1579 'bind':2622,2661,2669 'blank':953 'blind':2685 'bound':278,659,761,1154,1182,1370,2125,2488,2636 'boundari':1188,1482 'bring':2277 'browser':1820,1888,1904 'browser-open':1903 'bubbl':1737 'build':1647 'builder':1502,1542 'bypass':583 'calcul':1561 'call':1646 'cannot':572 'canon':782 'captur':862 'case':1121 'case-sensit':1120 'cat':1406 'categori':1673 'category-plus-seri':1672 'cell':127,264,274,281,520,630,997,1023,1126,1151,1156,1766,1868,2405 'chang':424,456,519,758,838,1170,1909,2179,2404,2614 'changedrang':1439 'changeset':337,712,1939,2058,2120,2183,2564 'chart':38,284,671,679,1541,1545,1551,1555,1588,1596,1623,1658,1662,1669,1683,1715,1738,1747 'chart.getcategorydata':1618 'chart.getchartid':1614 'chart.getrange':1615 'chart.getseriesdata':1616 'chart.updaterange':1655 'chartinfo':1653 'check':550,703,1047,1390,1910,2516 'choos':402,1640 'circular':1734 'clean':854,1002,2287,2362,2390 'cli':3,15,46,78,85,157,176,192,406,416,571,2422 'cli/runtime':579 'clone':750,2062,2067,2096,2648,2657 'code':846,1461 'collabor':1871 'collaboration.defaultremote':2196 'collaboration.remotes':2198 'color':1520 'column':271,1353,1362,1689,1693,1697,1713,1725,1745,1751,2512,2521 'come':2194 'command':113,546,585,591,783,908,1011,1604,1875,2441,2670,2675 'command-lin':1603 'comment':324,328,700,1824,1829,1836,1840,1854,1863,1873 'commit':203,450,717,728,1913,1914,1926,1935,1964,1990,2011,2052,2150,2555,2576,2590,2611 'comparison':1245 'compat':25,610 'comput':1573 'condit':1504,1518 'conditionformaticonsettypeenum':1527 'conditionformatvaluetypeenum':1533 'config':1536 'configur':1644 'confirm':1777 'const':1409,1412 'contain':842 'content':268,476,490,628,982,1178,2410 'content-defin':267,627,1177 'context':300,1857 'coordin':1494 'core':98 'correct':136,348,2408 'corrupt':561,2374 'cost':1681 'count':1028,1355,1367,2507 'creat':243,329,366,667,709,920,1585,1733,1889,1936,2163 'creation':2646 'csv':250,2254 'current':1941,1954,2014 'd20':880,1203 'd4':944,1254 'daemon':779,2681 'data':183,189,292,304,642,852,871,1024,1157,1220,1282,1326,1522,1708,1736,2259,2278,2288,2295,2376,2419,2528 'data-fil':1325 'date':1054,1077 'decid':386 'default':353,1045,1834 'defin':269,629,978,1179 'deriv':1185 'dev':2360 'diagnos':577,773,2625 'diagnost':845,859,1167,2289,2470 'direct':557 'disagre':2691 'discard':719,1960,2013,2566 'discov':589 'display':1238 'displayvalu':1048 'doctor':777 'document':554,1500,1540,1564 'downstream':866,1311 'echo':2536 'edg':1721,1731 'edit':41,182,276,279,419,618,969,973,1187,1508,1554 'emit':2389 'empti':1008,2091 'endpoint':2193 'engin':22,51 'english':2314 'enough':349,1243,2261,2445 'entrypoint':2385 'enum':1515 'environ':1789 'error':1421,1473 'especi':242,2310 'even':829 'everi':2356 'evid':1359 'exact':211,590 'exampl':363,850,1678,2364 'excel':24,609,2247 'excel-compat':23,608 'execut':87,820,2382 'exist':378,746,2074,2214,2654 'exit':826,895,2461 'explicit':146,359,1290,1470,1476,2299 'export':71,132,200,245,346,438,613,1389,2200,2202,2228,2449 'f':1259 'f1':1319,1335,1343 'facad':1501,1609 'face':1490 'fact':919 'fail':1162,2465,2676 'failur':828 'fall':2485 'fals':567,1420 'feedback':697,1810 'fi':897 'field':1146,1474 'file':134,174,254,448,485,524,666,674,1327,1375,1447,1576,1627,2213,2331,2426 'final':2345 'first':371,1688,1750,2167,2615,2644,2700 'fit':409,1384 'fix':1487 'flag':1027 'forc':2601 'force-push':2600 'format':37,67,130,261,283,1050,1237,1255,1323,1345,1505,1519 'formula':36,66,129,260,282,397,516,1081,1083,1102,1560,1565,2403 'found':1424 'fragment':500,2504 'full':2306,2493 'g':82 'g3':1320,1336,1344 'generat':302,1280 'gotcha':2392 'group':800,810 'group-prefix':809 'guess':511 'guidanc':2474 'hand':247,351,606 'handoff':27,133,447,2201,2212,2248,2264,2407,2451 'hard':464,737,2001,2034 'head':732,738,801,1981,2002,2026,2035,2043,2585 'header':272,395,1191,1348,1758,2511,2517 'heat':1769 'heatmap':1746 'help':206,209,218,222,552,594,596,677,784,788,793,799,816,1392,1398,1549,1621,1778,1898,2291 'histori':1967,2061 'host':1885 'human':1807 'i1':1426,1441,1455 'icon':1525 'iconconfig':1530 'icontyp':1531 'id':167,170,753,2100,2440,2651 'ident':143,2427 'import':70,244,368,605,922,929,2236,2447 'infer':474,2417 'initi':740 'input':1322,2537 'input-format':1321 'insert':1649 'inspect':33,196,255,380,399,430,493,620,624,789,818,874,917,924,934,938,964,1180,1197,1330,1385,1450,1602,2109,2204,2224,2241,2350,2489,2679 'instal':76,2379,2483 'instead':581,1506,1552,2424 'intent':1306 'intermedi':2330 'intern':119,421,472,484,1509,1557 'interoper':2251 'invalid':2620 'invent':545,2667 'involv':237 'j20':2498 'j3':1427,1442,1456 'jq':1232,2328 'js':1408,1443 'json':689,702,932,1015,1043,1103,1145,1148,1159,1230,1635,1782,1804,1826,1832,2104,2231,2239,2326 'keep':851,999,2297 'key':1352,2514,2520 'known':651,1286 'label':1756,1763 'larg':2274 'last':1986,2007 'layout':68,285 'length':1153 'level':798 'limit':1132,2480,2583 'line':1605 'liner':1584 'list':1722 'live':42 'local':142,315,321,335,662,694,704,711,714,721,726,742,766,1595,1772,1813,1860,1938,1942,1963,1988,1997,2009,2016,2050,2080,2134,2174,2182,2190,2425,2557,2563,2569,2575,2580,2589,2609 'local-on':2173,2579 'locat':266,391,626,967,1491 'log':497,2370 'logic':663,1380 'loop':355 'maintain':669,1587 'mainten':1660 'make':277,1295,2340 'manifest':120,166,2439 'manifest.json':494,2393 'manipul':487 'manual':1400 'match':996,1005,1019,1022,1128,1134 'matrix':303,653,1287,1687,1702,2527 'matter':2252 'max':1130,1150 'max-cell-value-length':1149 'max-result':1129 'may':91,1108,1112,2476 'mean':2462 'meaning':2414 'memori':522 'mental':99 'messag':718,1168,1928,2152 'metadata':116,525,1020,2395,2694 'metric':1429 'miss':2118 'model':100,1511 'month':1679 'must':1726,2087 'mutat':344,413,496,715,722,1893,1943,1957,1994,1998,2017,2191,2448,2547,2570,2610 'n':891,899,1274,1704,1707,1711,1987,2008 'name':126,513,913,961,2320,2402,2503 'narrow':1105 'nativ':20,1379,1867,2267 'ne':887 'need':60,445,576,587,861,1018,1739,1849,2077,2117,2334 'new':602,946,959,2079 'no-open':686,1632,1779,1801 'node':1691,1705 'node/type':1686 'non':824,2313,2459 'non-english':2312 'non-zero':823,2458 'nonexist':2089 'notat':1485 'note':1869 'npm':80 'nr':1264 'number':515 'numer':1493,1700,1728,1740,1768 'numeric/string':1072 'object':1468 'of':1262 'offici':1514 'older':2659 'one':145,358,992,1583 'one-lin':1582 'open':688,1634,1781,1803,1886,1905 'oper':177,354,2048,2464 'option':1106,1906 'order':1039,1432 'output':611,990,1142 'outsid':2293 'overload':1495 'packag':31,115,420,489,499,558,600,743,762,2081,2123,2170,2409,2627,2634,2693 'pars':2526 'part':460 'partial':833 'pass':2509 'patch':480 'path':139,147,154,361,580,911,2082,2086,2431 'pend':1850 'per':995 'pick':144,357 'pipe':198,431,647,656,794,1204,1210,1248,1278,1296,1314,1338,1387,2283,2341,2353,2523 'pipelin':857,1001,1303,2346,2363 'plain':988,1467,2257 'plus':1674 'pnpm':2359 'pnpm/tsx':2366 'port':1901 'possibl':639 'pre':43 'prefer':588,1226,1483,1575,2321 'prefix':811 'present':834 'preserv':1365,1962 'preview':69,312,680,1025,1155,1771,1774,2337,2541 'print':1268,2369 'problem':9,775 'process':1792 'produc':2286 'proof':532 'prove':123,338,2205,2210,2400 'proven':2388 'public':191,405,435,2421 'pull':332,754,764,2063,2113,2144,2177,2631 'push':1947,2181,2188,2562,2602,2607 'qualifi':310,1293,2303 'quot':2304,2491 'rang':34,65,259,311,400,517,625,637,790,819,875,877,915,939,941,1040,1111,1116,1183,1198,1200,1251,1294,1317,1331,1333,1341,1451,1453,1481,1643,1931,2155,2275,2298,2308,2351,2490,2494,2495 'rawvalu':1069,1096,1235 'read':185,297,319,436,468,508,542,573,693,817,835,1163,1224,1569,1608,1815,1878,2220,2423,2466,2690,2699 'read-on':1877 'readon':681,2540 'real':61 'receiv':868 'recip':904 'rectangular':290,641,652,1219,2258 'reduc':1216,2273 'refer':994,1516 'relat':1682,1701 'relev':1396 'reli':225 'remain':1696,1757,1765,1793 'rememb':1492 'remot':747,756,768,1788,1950,2060,2070,2103,2119,2128,2136,2165,2178,2192,2597,2621,2629,2639,2645,2655,2660 'remote-on':755 'remov':1984,2005,2574 'renam':483 'reopen':1818 'repeat':1110,1114 'replac':910,2658 'report':1137,2530,2618 'requir':1117,1684,1716,2632 'reset':331,725,730,736,1979,2000,2023,2032,2040,2577 'reshap':1218 'resolv':1844,1853 'resourc':1556 'restor':330,724,1952,1973,1992,2565 'result':821,1131,1574 'retri':849,2473,2684 'return':1133,1418,1436,1465,1837 'revers':1730 'revert':2598 'review':323,696,1434,1809,1862,1930,2154,2554 'rewrit':2056 'rezip':482 'rich':39 'row':270,514,1194,1350,1354,1366,1709,2506 'rule':465,1510,2268 'run':199,214,219,223,548,555,665,673,678,808,1368,1374,1393,1399,1445,1457,1550,1572,1591,1622,1625 'runtim':169,774,2673 'runtime-back':2672 'safe':1242 'sale':1680 'same-run':1570 'sampl':1193,1349,2518 'sankey':1714,1735 'scale':1521 'scope':633,1032 'script':215,1372,1458,1578,1637 'search':35,197,632,971,985,1031,1035,1046,1086,1092,1098,1161,1386,2475 'searchabl':1056 'second':1692 'section':804 'sed':890,898,1273 'see':1063 'seed':1638 'select':586 'semant':63 'sensit':1122,2318 'separ':864 'seri':1675 'serial':1078 'server':1791 'session':1830,1891 'sessionid':165,2437 'set':1526 'seticonset':1529 'setup':2630 'setvalu':1428 'shape':257,616,909,1512,1667 'sheet':64,125,258,287,309,512,635,912,1038,1066,1107,1119,1292,1413,1417,1478,2302,2319,2401,2502 'sheet-qualifi':308,1291,2301 'sheet.getcharts':1613 'sheet.getrange':1425 'sheet.insertchart':1652 'sheet.newchart':1645 'sheet.removechart':1657 'sheet1':878,942,1201,1252,1318,1334,1342,1415,1422,1440,1454,2496 'shell':294,644,856,1000,1207,1214,2266,2270,2317,2505 'shell-nat':2265 'shell-sensit':2316 'shift':1361,2515 'short':96,1581 'size':1744 'skill':233 'skill-univer-cli' 'smallest':404 'snapshot':495 'soft':731,1980,2025 'solv':6 'sourc':108,1642,1666,1718 'source-dream-num' 'special':1661 'spreadsheet':7,21,40,50,238,1076,2418 'stabl':844,2336 'stage':1300,2329,2347 'start':597,950,1883,2678 'state':75,105,265,314,384,428,535,568,683,706,770,1610,2138,2208,2456 'status':201,708,780,884,886,896,1911,1923,1933,1970,1976,2020,2029,2038,2106,2141,2147,2160,2682 'stderr':836,863,1139,1164,2467 'stdout':529,831,853,1006,2372,2391 'still':1012,1364,2172 'stop':1796,2623 'store':184 'stream':289,640,2296,2375 'stricter':1665 'string':1060,2309 'structur':288 'submit':320,1808,1839,1851 'substitut':503 'succeed':1013 'success':112,1309,1419,1437,1471,2442 'sum':1100 'summari':114,530,1310,2532 'suppli':1528,1534 'surfac':193,407 'sync':334,452,765,772,1966,2057,2065,2131,2133,2157,2162,2560,2604,2617,2642 'syntax':212,592 'tabl':1281,1676 'target':158,161,178,377,392,976,1174,1719,2045,2084 'task':236,411,949,2551 'teach':564 'termin':19,54,1299 'terminal-n':18 'test':2232 'text':989,1141,1239 'third':1724 'thread':1872 'tighten':1127 'togeth':2522 'tool':295,645,867,1208,2271 'top':797 'top-level':796 'topic':556,812 'topic-agent-skills' 'topic-claude-code-skills' 'topic-claude-skills' 'topic-cli' 'topic-openai-codex' 'topic-openclaw-skills' 'topic-skills' 'topic-spreadsheet' 'treat':101,528,822,2544 'true':1438 'truncat':1026,1135 'trust':2695 'truth':110 'tsv':1227,1256,1324,1346,2322 'type':1068,1080,1095,1101,1234,1537,1663 'type/category':1695 'unavail':2478 'uncommit':720,1955,1996,2015,2189,2568,2608 'under':1071 'understand':614 'unfamiliar':227,1403 'unit':748,752,2072,2099,2102,2129,2640,2650,2656 'unit-id':751,2098,2649 'unit-remot':2101 'unitid':164,2436 'univ':2,12,28,45,47,84,89,171,205,208,217,221,251,317,326,374,469,551,593,595,601,604,612,619,623,631,646,655,664,672,676,684,691,698,707,716,723,729,735,749,763,771,776,778,787,792,815,873,928,933,937,958,963,984,1034,1085,1091,1097,1196,1247,1313,1329,1337,1391,1397,1444,1449,1548,1590,1598,1620,1624,1629,1798,1822,1827,1897,1922,1925,1932,1969,1972,1975,2019,2022,2028,2031,2037,2085,2095,2105,2108,2140,2143,2146,2149,2156,2159,2223,2227,2235,2240,2380,2680 'univer-c':1,44,83 'univerapi.getactiveworkbook':1411 'unless':1304,2549 'unqualifi':1115 'unsync':727,1989,2010,2051,2588 'unv':14,30,90,173,253,376,471,2381 'unzip':481 'updat':1929,2153 'url':2199 'usag':847,2471 'use':4,55,152,204,216,229,231,781,945,970,1014,1067,1104,1209,1373,1402,1475,1499,1513,1539,1589,1654,1670,1706,1748,1773,1784,1845,1896,1951,1978,1999,2066,2112,2130,2217,2244,2253,2269,2377,2420,2559,2593,2641,2665 'user':444,1062 'usual':841,2344 'valu':128,396,1051,1073,1152,1430,1535,1538,1720,1770 'verif':441,1606,1920,2548 'verifi':423,455,536,907,1347,1908,2348,2452,2612 'version':73,458,705,769,1907,2137,2484 'view':318,327,685,692,699,1599,1630,1799,1823,1828,1835,1899,2538 'viewer':322,695,1814,1861 'visibl':104,263,343,383,394,427,507,541,980,1190,1919,2455,2689,2698 'visual':803,1601,1776,2553 'wait':1558,1566 'want':1307 'way':2415 'wb':701,876,926,931,936,940,956,960,966,986,1036,1087,1093,1099,1199,1250,1316,1332,1340,1446,1452,1626,1631,1800,1825,1924,1927,1934,1971,1974,1977,2021,2024,2030,2033,2039,2093,2097,2107,2111,2142,2145,2148,2151,2158,2161,2226,2229 'weak':1358 'west':987,1037,1267,1431 'whole':1125 'whole-cel':1124 'without':1817 'word':2662 'work':241 'workbook':8,32,62,74,103,138,162,188,240,256,291,313,336,342,360,370,382,426,475,488,506,534,540,562,599,615,621,661,670,682,870,918,935,954,962,965,981,1371,1378,1410,1477,1489,1594,1866,1895,1918,1956,2071,2110,2166,2207,2225,2242,2250,2430,2454,2613,2688,2697 'workbook-fac':1488 'workbook-loc':660,1593 'workbook-n':1377,1865 'workbook-vis':102,341,381,425,505,539,1917,2453,2687,2696 'workbook.getsheetbyname':1414 'workflow':463,903,2603 'worksheet':1544 'wrap':1460 'wrapper':2367 'write':187,301,389,479,649,1283,2525 'writeback':2357 'x':1741,1761 'x-axi':1760 'xlsx':26,249,2245 'y':1742,1754 'y-axi':1753 'yes':1435 'z200':1042 'zero':825,2460 '~1':2027,2036 '~n':733,739,1982,2003,2044,2586","prices":[{"id":"34ed251c-0d09-4971-9655-d7ecfc5abd03","listingId":"82b09000-25ee-4ec8-bec4-1986f70a4f32","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"dream-num","category":"skills","install_from":"skills.sh"},"createdAt":"2026-04-23T13:03:52.463Z"}],"sources":[{"listingId":"82b09000-25ee-4ec8-bec4-1986f70a4f32","source":"github","sourceId":"dream-num/skills/univer-cli","sourceUrl":"https://github.com/dream-num/skills/tree/main/skills/univer-cli","isPrimary":false,"firstSeenAt":"2026-04-23T13:03:52.463Z","lastSeenAt":"2026-05-18T19:06:28.049Z"}],"details":{"listingId":"82b09000-25ee-4ec8-bec4-1986f70a4f32","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"dream-num","slug":"univer-cli","github":{"repo":"dream-num/skills","stars":15,"topics":["agent-skills","claude-code-skills","claude-skills","cli","openai-codex","openclaw-skills","skills","spreadsheet"],"license":"apache-2.0","html_url":"https://github.com/dream-num/skills","pushed_at":"2026-05-18T07:17:22Z","description":"Official Univer skills for cli, shell-native spreadsheet automation.","skill_md_sha":"61c0f7cab6265ec1dd44153b18017cb34bb2b29e","skill_md_path":"skills/univer-cli/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/dream-num/skills/tree/main/skills/univer-cli"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"univer-cli","description":"Use when solving spreadsheet workbook problems with the `univer` or `unv` CLI as a terminal-native spreadsheet engine: Excel-compatible `.xlsx` handoff, `.univer` or `.unv` packages, workbook inspection, range search, formulas, formatting, charts, rich spreadsheet edits, live preview and viewer review comments, versioning, shell-native `pipe out`/`pipe in` roundtrips, or bounded `run` scripts."},"skills_sh_url":"https://skills.sh/dream-num/skills/univer-cli"},"updatedAt":"2026-05-18T19:06:28.049Z"}}