{"id":"1f12bfb7-a1d0-4741-a877-ab33f2153338","shortId":"gETawg","kind":"skill","title":"sit","tagline":"Use when a persisted `.univer` or `.unv` workbook needs `.sit` repo workflow: status, commit, history inspection, approval-backed sync, or origin pull recovery after workbook edits are saved.","description":"# sit\n\n`sit` is the canonical Git-shaped control plane for persisted Univer workbooks.\n\nUse `univer-cli` to create or edit workbook content. Use `sit` after workbook changes are saved and verified, or for the repo/sync/origin phase of a task that also includes workbook edits.\n\n## Use when\n\n- capturing persisted workbook changes into workbook-lane history\n- inspecting repo state, diff, log, show, or blame output\n- running the default approval-backed sync flow\n- syncing local state with origin or recovering from origin refusal output\n\n## Do not use when\n\n- the workbook still needs to be edited, imported, exported, or structurally changed before repo/sync work can proceed\n- the task is only about `univer-cli` workbook authoring\n- you are about to invent Git-like commands that are not in the real command surface\n\n## Core model\n\n- local history is commit-based\n- the public repo root for a workbook is `<file>.univer/.sit`\n- the public tracked object is a workbook path, not an internal runtime id\n- the current human gate truth is repo-local commit approval state\n- `sit sync <file.univer>` is the default pull-first convergence path; it pulls first, then only continues origin advancement when the current HEAD commit is approved\n- `sit pull origin <file.univer>` is the pull-only path\n- recovery goes through existing `pull` surfaces\n- `rebase origin` is not part of the command surface\n\n## Default flow\n\n1. Ensure workbook edits are already persisted and verified with `univer-cli`.\n2. Run `sit status <univer-path>` when you need a quick lane summary.\n3. Commit with `sit commit <univer-path> --message \"...\"`.\n4. Inspect with `sit diff <univer-path>` or `sit log <univer-path>`.\n5. Ensure approval is recorded in the current repo-local commit approval truth.\n6. Run `sit sync <univer-path>` as pull-first convergence. It pulls first, then only continues origin advancement when the current HEAD commit is approved.\n\n## Common routes\n\n### Attach to an existing origin workbook\n\n- `sit origin bind-existing <remote-workbook-id> <univer-path>` on a fresh local target path\n\n### Pull remote changes only\n\n- `sit pull origin <univer-path>`\n\nUse pull-only mode when the task is to materialize or repair local state from remote origin, not to run the default approval-backed publish path.\n\n## Quick reference\n\nUse these exact commands when naming matters:\n\n- `sit status [<univer-path>]`\n- `sit diff <univer-path> [<revision>]`\n- `sit log <univer-path> [--limit <n>]`\n- `sit show <univer-path> [<revision>]`\n- `sit blame <univer-path> --cell 'Sheet1!A1' [<revision>]`\n- `sit commit <univer-path> --message \"...\"`\n- `sit origin bind-existing <remote-workbook-id> <univer-path>`\n- `sit pull origin <univer-path>`\n- `sit pull origin --force-to-latest <univer-path>`\n- `sit sync <univer-path>`\n\nCurrent implementation note:\n\n- `sit fetch origin <univer-path>` may still exist as internal / compatibility plumbing\n- it is not part of the current public/default command teaching surface\n- if you mention it, label it as implementation detail rather than the recommended user command\n\n## Recovery cues\n\nUse these when a `sit` happy path stops midway:\n\n- local workbook is still dirty:\n  `sit commit <univer-path> --message \"...\"`\n- approval has not been recorded yet:\n  record approval in repo-local commit approval truth\n- remote state needs local materialization:\n  `sit pull origin <univer-path>`\n- pull repair is explicitly suggested:\n  `sit pull origin --force-to-latest <univer-path>`\n- `sit sync` says replay is not confirmed yet:\n  rerun `sit sync <univer-path>`\n- lineage is blocked:\n  resolve the blocking condition before rerunning `sit sync <univer-path>` or `sit pull origin <univer-path>`\n\n## Naming discipline\n\n- use `commit <file.univer> --message`, not staging-first aliases\n- use `sync`, not invented publish aliases\n- use `pull origin`, not `sync`, when the intent is explicitly remote-to-local materialization\n- treat `fetch origin` as internal/legacy wording unless the user is explicitly discussing current implementation internals\n- do not ask for or simulate `rebase origin`","tags":["sit","skills","dream-num","agent-skills","claude-code-skills","claude-skills","cli","openai-codex","openclaw-skills","spreadsheet"],"capabilities":["skill","source-dream-num","skill-sit","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/sit","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 · 14 github stars · SKILL.md body (4,097 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-14T01:04:28.647Z","embedding":null,"createdAt":"2026-04-23T13:03:52.351Z","updatedAt":"2026-05-14T01:04:28.647Z","lastSeenAt":"2026-05-14T01:04:28.647Z","tsv":"'1':257 '2':270 '3':281 '4':287 '5':295 '6':309 'a1':409 'advanc':223,325 'alias':558,564 'alreadi':262 'also':73 'approv':19,101,204,230,297,307,332,383,488,495,501 'approval-back':18,100,382 'ask':597 'attach':335 'author':146 'back':20,102,384 'base':171 'bind':344,416 'bind-exist':343,415 'blame':95,406 'block':536,539 'canon':35 'captur':79 'cell':407 'chang':59,82,131,354 'cli':48,144,269 'command':155,162,253,392,451,468 'commit':15,170,203,228,282,285,306,330,411,486,500,552 'commit-bas':169 'common':333 'compat':441 'condit':540 'confirm':529 'content':54 'continu':221,323 'control':39 'converg':214,317 'core':164 'creat':50 'cue':470 'current':195,226,302,328,430,449,592 'default':99,210,255,381 'detail':462 'diff':91,291,399 'dirti':484 'disciplin':550 'discuss':591 'edit':28,52,76,126,260 'ensur':258,296 'exact':391 'exist':243,338,345,417,438 'explicit':514,574,590 'export':128 'fetch':434,581 'first':213,218,316,320,557 'flow':104,256 'forc':425,520 'force-to-latest':424,519 'fresh':348 'gate':197 'git':37,153 'git-lik':152 'git-shap':36 'goe':241 'happi':476 'head':227,329 'histori':16,87,167 'human':196 'id':193 'implement':431,461,593 'import':127 'includ':74 'inspect':17,88,288 'intent':572 'intern':191,440,594 'internal/legacy':584 'invent':151,562 'label':458 'lane':86,279 'latest':427,522 'like':154 'limit':402 'lineag':534 'local':106,166,202,305,349,372,480,499,506,578 'log':92,294,401 'materi':369,507,579 'matter':395 'may':436 'mention':456 'messag':286,412,487,553 'midway':479 'mode':363 'model':165 'name':394,549 'need':10,123,276,505 'note':432 'object':184 'origin':23,109,113,222,233,247,324,339,342,358,376,414,420,423,435,510,518,548,567,582,602 'output':96,115 'part':250,446 'path':188,215,239,351,386,477 'persist':5,42,80,263 'phase':68 'plane':40 'plumb':442 'proceed':136 'public':173,182 'public/default':450 'publish':385,563 'pull':24,212,217,232,237,244,315,319,352,357,361,419,422,509,511,517,547,566 'pull-first':211,314 'pull-on':236,360 'quick':278,387 'rather':463 'real':161 'rebas':246,601 'recommend':466 'record':299,492,494 'recov':111 'recoveri':25,240,469 'refer':388 'refus':114 'remot':353,375,503,576 'remote-to-loc':575 'repair':371,512 'replay':526 'repo':12,89,174,201,304,498 'repo-loc':200,303,497 'repo/sync':133 'repo/sync/origin':67 'rerun':531,542 'resolv':537 'root':175 'rout':334 'run':97,271,310,379 'runtim':192 'save':30,61 'say':525 'shape':38 'sheet1':408 'show':93,404 'simul':600 'sit':1,11,31,32,56,206,231,272,284,290,293,311,341,356,396,398,400,403,405,410,413,418,421,428,433,475,485,508,516,523,532,543,546 'skill' 'skill-sit' 'source-dream-num' 'stage':556 'staging-first':555 'state':90,107,205,373,504 'status':14,273,397 'still':122,437,483 'stop':478 'structur':130 'suggest':515 'summari':280 'surfac':163,245,254,453 'sync':21,103,105,207,312,429,524,533,544,560,569 'target':350 'task':71,138,366 'teach':452 'topic-agent-skills' 'topic-claude-code-skills' 'topic-claude-skills' 'topic-cli' 'topic-openai-codex' 'topic-openclaw-skills' 'topic-skills' 'topic-spreadsheet' 'track':183 'treat':580 'truth':198,308,502 'univ':6,43,47,143,268 'univer-c':46,142,267 'univer/.sit':180 'unless':586 'unv':8 'use':2,45,55,77,118,359,389,471,551,559,565 'user':467,588 'verifi':63,265 'word':585 'work':134 'workbook':9,27,44,53,58,75,81,85,121,145,178,187,259,340,481 'workbook-lan':84 'workflow':13 'yet':493,530","prices":[{"id":"1cedb141-650f-459d-aa31-e43a46e2234f","listingId":"1f12bfb7-a1d0-4741-a877-ab33f2153338","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.351Z"}],"sources":[{"listingId":"1f12bfb7-a1d0-4741-a877-ab33f2153338","source":"github","sourceId":"dream-num/skills/sit","sourceUrl":"https://github.com/dream-num/skills/tree/main/skills/sit","isPrimary":false,"firstSeenAt":"2026-04-23T13:03:52.351Z","lastSeenAt":"2026-05-14T01:04:28.647Z"}],"details":{"listingId":"1f12bfb7-a1d0-4741-a877-ab33f2153338","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"dream-num","slug":"sit","github":{"repo":"dream-num/skills","stars":14,"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-13T08:31:00Z","description":"Official Univer skills for cli, shell-native spreadsheet automation.","skill_md_sha":"7bdec33a7c0707249718dbc61703301089aa947b","skill_md_path":"skills/sit/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/dream-num/skills/tree/main/skills/sit"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"sit","description":"Use when a persisted `.univer` or `.unv` workbook needs `.sit` repo workflow: status, commit, history inspection, approval-backed sync, or origin pull recovery after workbook edits are saved."},"skills_sh_url":"https://skills.sh/dream-num/skills/sit"},"updatedAt":"2026-05-14T01:04:28.647Z"}}