#133 by GitHub stars

genspark-ai/genoffice

Free, open-source AI Office suite: Docs, Sheets, Slides, PDF, Markdown and HTML editors with a built-in AI agent, plus a `genoffice` CLI and agent skill so Claude Code, Codex and Cursor can create and edit real .docx/.xlsx/.pptx files locally. Bring your own key. macOS, Windows & Linux.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/genoffice/SKILL.md

Week of Nov 2, 2026 · +5 / −4 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

- 5   version: 2.67.6
+ 5   version: 2.67.11
- 31 | `genoffice docs read <docx> [--range a-b] [--html] [--full \ / `genoffice docs compare <original.docx> <revised.docx> --out <redline.docx> [--author name] [--date <iso>] [--granularity word                                                                    | char] [--ignore formatting,case,whitespace]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | --max-chars n] [--comments] [--revisions] [--header-footer] [--sections] [--fields] [--notes] [--properties]`/`genoffice docs apply <docx> --ops <file> [--dry-run]`/`genoffice docs check <docx>`; `compare` writes the redline of two documents — the revised one with the differences as tracked insertions and deletions (`--author`, `--date`, `--granularity word | char`, `--ignore formatting,case,whitespace`), which `--json` reports as counts | Read blocks by index (previews are clipped to 200 characters and end in `…(+n chars)` with `truncated: true`; `--max-chars` moves the cap, `--full` lifts it; plus comment threads, tracked changes, header/footer text, page setup per section, fields with their cached results, footnotes/endnotes, document properties), then edit with ops (incl. `set_properties` for the core/app/custom document metadata, `applyStyle`, `insertField` for SEQ / REF / DATE / PAGE… fields, `insertBookmark`, `updateFields`), restricted HTML, `insert_image` / `insert_picture` (sized, floating) / `insert_text_box`, `insert_chart` / `edit_chart`, `set_header_footer`, `set_watermark` (text, or a washed-out picture via `image`), `define_style`, `set_page_setup` / `insert_section_break`, `add_comment` / `reply_comment` / `resolve_comment` / `delete_comment`, `accept_changes` / `reject_changes` (selector: `all`, `ids` from `--revisions`, `author`, `type`, `blockIndex`, `blockRange`, `before`; `apply --track [--author name]` records the batch's own edits as tracked changes), `insert_footnote` / `insert_endnote` / `edit_note` / `delete_note`; `--styles` lists style ids; `check` lists fields without results (a fresh TOC), references to missing bookmarks, a TOC that no longer matches the headings, missing images, empty charts or headings, level skips, placeholder text, pending tracked changes and open comments |
+ 31 | `genoffice sheet links <xlsx> [--update] [--break indices]`                                                                                                                                                                                                      | External `[n]` links: list them (stored path, resolved path, whether the file exists, source sheet names); `--update` re-reads reachable sources and writes the computed values as the formulas' cached `<v>` (formula text untouched; unreachable links keep their cache); `--break indices` turns those formulas into their cached literals, removes the links' parts and renumbers the surviving `[m]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
+ 32 | `genoffice docs read <docx> [--range a-b] [--html] [--full \ / `genoffice docs compare <original.docx> <revised.docx> --out <redline.docx> [--author name] [--date <iso>] [--granularity word                                                                    | char] [--ignore formatting,case,whitespace]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | --max-chars n] [--comments] [--revisions] [--header-footer] [--sections] [--fields] [--notes] [--properties]`/`genoffice docs apply <docx> --ops <file> [--dry-run]`/`genoffice docs check <docx>`; `compare` writes the redline of two documents — the revised one with the differences as tracked insertions and deletions (`--author`, `--date`, `--granularity word | char`, `--ignore formatting,case,whitespace`), which `--json` reports as counts | Read blocks by index (previews are clipped to 200 characters and end in `…(+n chars)` with `truncated: true`; `--max-chars` moves the cap, `--full` lifts it; plus comment threads, tracked changes, header/footer text, page setup per section, fields with their cached results, footnotes/endnotes, document properties), then edit with ops (incl. `set_properties` for the core/app/custom document metadata — custom values may be strings, numbers or booleans, an existing typed property keeps its vt type (i4/i8/r8/bool/filetime/date) when the value fits, and `--properties` also reports each custom value's `customTypes`; a `create --type docx` file carries Word-like docProps/core.xml + app.xml — `wrap_content_control` / `unwrap_content_control` for block-level w:sdt controls — the read items carry `contentControl` (outermost) plus `contentControls` (outer → inner chain) and `inlineContentControls` for run-level controls, and unwrap takes a nested tag too, `applyStyle`, `insertField` for SEQ / REF / DATE / PAGE… fields, `insertBookmark`, `updateFields`), restricted HTML, `insert_image` / `insert_picture` (sized, floating) / `insert_text_box`, `insert_chart` / `edit_chart`, `set_header_footer`, `set_watermark` (text, or a washed-out picture via `image`), `define_style`, `set_page_setup` / `insert_section_break`, `add_comment` / `reply_comment` / `resolve_comment` / `delete_comment`, `accept_changes` / `reject_changes` (selector: `all`, `ids` from `--revisions`, `author`, `type`, `blockIndex`, `blockRange`, `before`; `apply --track [--author name]` records the batch's own edits as tracked changes), `insert_footnote` / `insert_endnote` / `edit_note` / `delete_note`; `--styles` lists style ids; `check` lists fields without results (a fresh TOC), references to missing bookmarks, a TOC that no longer matches the headings, missing images, empty charts or headings, level skips, placeholder text, pending tracked changes and open comments |
- 52 - The GenOffice app runs its own MCP server on `127.0.0.1:3093` (Settings → Integrations) whose tools (`create_session`, `read_document`, `apply_ops`, `apply_slide_ops`, `apply_sheet_ops`, `read_pdf`, `open_documents`) edit the documents already open in the visible editor; `genoffice mcp` works on files on disk.
+ 53 - The GenOffice app runs its own MCP server on `127.0.0.1:3093` (Settings → Integrations) whose tools (`create_session`, `read_document`, `apply_ops`, `apply_slide_ops`, `apply_sheet_ops`, `read_pdf`, `read_docx_properties`, `open_documents`) edit the documents already open in the visible editor (`sheet_links` instead maintains an on-disk workbook's external links); `genoffice mcp` works on files on disk.
- 73 - **Word (`docs`)**: block indexes inside one batch are live — after `insert_content` adds two blocks, later indexes shift by two. A target that matches no block fails the whole batch (exit 1). `findReplace` does not reach table cells (use `replace_blocks` on the table). Tags outside the restricted set are stripped silently. `convert docx→md` writes GFM: `& < >` become entities, formulas become `$…$`, images are dropped and counted in `detail.skipped`. `create --from x.md` embeds local images referenced by relative path. `insert_image` takes a local path (relative to the current directory, then to the ops file), a data: URL or an http(s) URL (png/jpg/gif) and appends unless `afterBlockIndex` is given; `edit_chart` targets blocks `docs read` lists with kind `chart`; `set_header_footer` writes plain text with `{PAGE}` / `{NUMPAGES}` tokens, `view: "first"` switches the different-first-page setting on; comment ids come from `docs read --comments`; `add_comment` anchors a new thread to a block or to an exact `text` span inside it (`occurrence` picks one of several matches) without touching the document text; `delete_comment` on a thread root with replies needs `withReplies: true`; revision ids (`r1`, `r2`, …) come from `docs read --revisions` and are positional, so read again after any edit before `accept_changes` / `reject_changes`. `insertField` computes SEQ numbers, REF text, DATE and MERGEFIELD locally; PAGE / NUMPAGES / AUTHOR-style results are placeholders Word recomputes on open (`docs check` reports them as info), so say so when you hand over the file. Note ids for `edit_note` / `delete_note` come from `docs read --notes`; `edit_note` is `findReplace` inside one note (`{ id, find, replace, matchCase? }`, `kind` only when a footnote and an endnote share the id) and keeps the note's id, reference mark and formatting — `findReplace` itself never reaches note text. `define_style` patches only the fields given (an existing style keeps the rest); `applyStyle` takes a paragraph style id from `docs read --styles` and turns blocks into headings when the style is a heading style; `set_watermark` with `text: null` removes the watermark; `insert_picture` / `insert_text_box` lengths take `2.54cm` / `1in` / `72pt` / `96px` or points. `set_page_setup` changes paper / orientation / margins / columns / titlePg / page numbering of every section or of one (`section: N` or `blockIndex`), lengths as `"2.54cm"` / `"1in"` / `"72pt"`; `insert_section_break` splits a section after a block (the copy is then changed with `set_page_setup section: N`); `docs read --sections` lists sections with their block ranges. Native tables take structure ops: `insertTableRow` / `deleteTableRow` / `insertTableColumn` / `deleteTableColumn` (0-based, `position: "before"|"after"`, `count`), `mergeTableCells` / `splitTableCell` (grid `range` / `cell`; a merge that cuts an existing merged cell is refused), `setTableCellFormat` (fill, vAlign, borders, `width` in twips or `"2.5cm"`), `setTableStyle` (a style id from `docs read`'s `tableStyles`, plus look flags); target them with `nodeType: "table"` and `docs read` shows each table's `rows`, `cols` and `merged` cells.
+ 74 - **Word (`docs`)**: block indexes inside one batch are live — after `insert_content` adds two blocks, later indexes shift by two. A target that matches no block fails the whole batch (exit 1). `findReplace` does not reach table cells (use `replace_blocks` on the table). Tags outside the restricted set are stripped silently. `convert docx→md` writes GFM: `& < >` become entities, formulas become `$…$`, images are dropped and counted in `detail.skipped`. `create --from x.md` embeds local images referenced by relative path. `insert_image` takes a local path (relative to the current directory, then to the ops file), a data: URL or an http(s) URL (png/jpg/gif) and appends unless `afterBlockIndex` is given; `edit_chart` targets blocks `docs read` lists with kind `chart`; `set_header_footer` writes plain text with `{PAGE}` / `{NUMPAGES}` tokens, `view: "first"` switches the different-first-page setting on; comment ids come from `docs read --comments`; `add_comment` anchors a new thread to a block or to an exact `text` span inside it (`occurrence` picks one of several matches) without touching the document text; `delete_comment` on a thread root with replies needs `withReplies: true`; revision ids (`r1`, `r2`, …) come from `docs read --revisions` and are positional, so read again after any edit before `accept_changes` / `reject_changes`. `insertField` computes SEQ numbers, REF text, DATE and MERGEFIELD locally; PAGE / NUMPAGES / AUTHOR-style results are placeholders Word recomputes on open (`docs check` reports them as info), so say so when you hand over the file. Note ids for `edit_note` / `delete_note` come from `docs read --notes`; `edit_note` is `findReplace` inside one note (`{ id, find, replace, matchCase? }`, `kind` only when a footnote and an endnote share the id) and keeps the note's id, reference mark and formatting — `findReplace` itself never reaches note text. `remove_parts` scrubs metadata-carrying package parts before a filing (`kinds: ["customXml"]` / `["webExtensions"]` / both, or explicit package-relative `paths`); the removed parts' relationships, [Content_Types].xml entries and empty folders go with them and every other part keeps its bytes, and content controls bound to a removed customXml store refuse the batch unless `dataBinding: "strip"` unbinds them (the control and its current text stay). `define_style` patches only the fields given (an existing style keeps the rest); `applyStyle` takes a paragraph style id from `docs read --styles` and turns blocks into headings when the style is a heading style; `set_watermark` with `text: null` removes the watermark; `insert_picture` / `insert_text_box` lengths take `2.54cm` / `1in` / `72pt` / `96px` or points. `set_page_setup` changes paper / orientation / margins / columns / titlePg / page numbering of every section or of one (`section: N` or `blockIndex`), lengths as `"2.54cm"` / `"1in"` / `"72pt"`; `insert_section_break` splits a section after a block (the copy is then changed with `set_page_setup section: N`); `docs read --sections` lists sections with their block ranges. Native tables take structure ops: `insertTableRow` / `deleteTableRow` / `insertTableColumn` / `deleteTableColumn` (0-based, `position: "before"|"after"`, `count`), `mergeTableCells` / `splitTableCell` (grid `range` / `cell`; a merge that cuts an existing merged cell is refused), `setTableCellFormat` (fill, vAlign, borders, `width` in twips or `"2.5cm"`), `setTableStyle` (a style id from `docs read`'s `tableStyles`, plus look flags); target them with `nodeType: "table"` and `docs read` shows each table's `rows`, `cols` and `merged` cells.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/brand-copy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/budget-planner/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/business-plan/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/business-report/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/campaign-planner/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/contract-drafter/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/course-slides/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/data-analyst/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/data-cleaning/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/deep-research/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/email-drafter/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/executive-deck/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/expense-report/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/financial-statement-analysis/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/interview-coach/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/invoice-tax-checklist/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/job-description/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/kpi-dashboard/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/labor-contract/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/lesson-plan/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/meeting-minutes/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/nda-drafter/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/okr-planner/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/onboarding-plan/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/performance-review/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/personal-finance/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/policy-compliance/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/product-launch/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/proposal-writer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/quiz-maker/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/resume-polisher/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/sales-forecast/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/seo-content/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/slide-planner/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/social-media/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/sop-writer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/study-plan/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/survey-analyst/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/swot-strategy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/terms-of-service/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/thesis-advisor/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

skills/recommended/weekly-report/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b239d2e591d3 → e1f50e90d246

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → b239d2e591d3

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e1f50e90d246f3ecc6427d2a0af90f04f37810ec

git clone --filter=blob:none --no-checkout https://github.com/genspark-ai/genoffice.git .hotskills/genspark-ai-genoffice && git -C .hotskills/genspark-ai-genoffice checkout --detach e1f50e90d246f3ecc6427d2a0af90f04f37810ec # Copy each selected skill directory from .hotskills/genspark-ai-genoffice into .claude/skills/<skill-name>/
11.8kGitHub stars
440stars in 7 days
43skills in this repository
359commits in 30 days

Heat

7.8
  • Star growth, last 7 daysAhead of 96% of tracked repositories
  • Star growth, last 24 hoursAhead of 96% of tracked repositories
  • Rank movement, last 7 daysAhead of 64% of tracked repositories
  • Commits, last 30 daysAhead of 98% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 202611,828

Individual skills in this repository

How it works

genoffice

When your agent uses it

Create, convert, read and edit Office documents locally with GenOffice's command line. Build a new presentation (pptx) from a brief through a checked outline, per-page spec and render pipeline, a new spreadsheet (xlsx) from CSV or JSON data with formulas, a new Word document (docx) from Markdown or HTML, or a PDF; convert between pdf, docx, xlsx, pptx, md, html and csv; read the structure and text of an existing file (including the user's own docx / xlsx / pptx as source material) and apply structured edits to it. Use whenever the user asks for a slide deck, presentation, spreadsheet, workbook, report, Word document or any real Office file, a format conversion, a rewrite of part of an existing document, or wants the result opened in the GenOffice editor. Documents are processed locally; only search, image and media send the query or the referenced file to the provider configured in GenOffice.

What it loads into context

Frontmatter

229 tokens

Always available to the agent

SKILL.md

12,068 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Commands
  2. Which command
  3. Behaviour to know
  4. Workflow
  5. Pitfalls
  6. When a command fails
  7. Before you say "done"
  8. Reading the user's files
  9. Designing a deck
  10. Editing an existing deck
  11. Examples
  12. Path rules
  13. Limits

Files

  • SKILL.mdcore77,833 bytes
  • SKILL.mdcore77,833 bytes
  • SKILL.mdcore77,833 bytes
  • SKILL.mdcore77,833 bytes
  • SKILL.mdcore77,833 bytes
  • SKILL.mdcore77,833 bytes
  • SKILL.mdcore77,833 bytes
Read SKILL.md

# genoffice — GenOffice from the terminal

`genoffice` is installed with GenOffice. Run `genoffice --version` first. If the command is not found, GenOffice writes the launcher directory to `~/.genoffice/launcher` (Windows: `%USERPROFILE%\.genoffice\launcher`) on every start: read that one line and run `"<dir>/genoffice"` from bash or `"<dir>\genoffice.cmd"` from PowerShell / cmd, quoted, in place of `genoffice` below. Default locations when that file is missing: macOS `/Applications/GenOffice.app/Contents/Resources/cli`, Windows `%LOCALAPPDATA%\Programs\GenOffice\resources\cli`, Linux `/opt/GenOffice/resources/cli`. Every command runs headless on the app's own engines; only `search`, `image` and `media` send data off the machine, to the provider configured in GenOffice.

Always add `--json` when a program reads the output: one JSON object on stdout, `{ "status": "ok" | "partial", "command", "summary", "output_path"?, "warnings"?, "detail"? }` (`partial`: an `apply` with `--best-effort` / `--stop-on-error` wrote the file but lost ops) or `{ "status": "error", "code", "error", "message", "suggestion"?, "detail"? }`. Exit codes: `0` ok, `1` usage or rejected ops, `2` file not found / output exists / file open in GenOffice, `3` conversion failed, `4` app not available. `error` is the machine-readable reason (table under "When a command fails"), `suggestion` the next step in one sentence, including `did you mean "…"?` when a command, option, op name, element id or sheet name is one typo away. `detail` carries facts as fields (`failures[]` with `index`, `op`, `error`, `reason`, `valid_range`, `available`, `supported`, `usage`; `sheets`, `options`, `commands`); never parse `message`.

## Commands

| Command                                                                                                                                                                                                                                                          | What it does                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `genoffice info <file> [--password <pw>]`                                                                                                                                                                                                                        | Metadata and structure summary (docx blocks and headings, pptx slides, xlsx sheets, pdf pages)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `genoffice convert <file> --to <fmt> [--out <path>] [--force]`                                                                                                                                                                                                   | `pdf→docx/pptx/xlsx`, `csv→xlsx`, `xls/xlsb/ods→xlsx`, `md→docx/html`, `docx→html/md`, `html→docx`, `xlsx→csv` (`--sheet`), and `docx/xlsx/pptx/md/html→pdf`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `genoffice create --type pptx --ops <file> --out <path>`                                                                                                                                                                                                         | New deck from a list of slide ops                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `genoffice create --type pptx --spec <dir\|file> [--outline <file>] --out <path> [--render [dir]] [--audit]`                                                                                                                                                     | New deck from page spec files (one per slide, name order) or one deck spec file: px-positioned text, shapes and images (the designed-deck path, see below)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
View the complete source on GitHub

Skills included

  • genoffice
  • brand-copy
  • budget-planner
  • business-plan
  • business-report
  • campaign-planner
  • contract-drafter
  • course-slides
  • data-analyst
  • data-cleaning
  • deep-research
  • email-drafter
  • executive-deck
  • expense-report
  • financial-statement-analysis
  • interview-coach
  • invoice-tax-checklist
  • job-description
  • kpi-dashboard
  • labor-contract
  • lesson-plan
  • meeting-minutes
  • nda-drafter
  • okr-planner
  • onboarding-plan
  • performance-review
  • personal-finance
  • policy-compliance
  • product-launch
  • proposal-writer
  • quiz-maker
  • resume-polisher
  • sales-forecast
  • seo-content
  • slide-planner
  • social-media
  • sop-writer
  • study-plan
  • survey-analyst
  • swot-strategy
  • terms-of-service
  • thesis-advisor
  • weekly-report

Repository facts

License
Apache-2.0
Created
Jul 31, 2026
Last pushed
Nov 5, 2026
Forks
1,627
Open issues
61
Project activity
Active

Rank over the last 12 weeks

Now #133 · best #130 · up 19 in 30 days

  1. #137 on Oct 25
  2. #132 on Oct 28
  3. #131 from Oct 29 to Oct 31
  4. #130 from Nov 1 to Nov 2
  5. #132 from Nov 3 to Nov 5
  6. #133 since Nov 6
67 earlier periods
  1. #874 on Aug 2
  2. #353 on Aug 7
  3. #344 on Aug 8
  4. #329 on Aug 9
  5. #330 on Aug 10
  6. #321 on Aug 11
  7. #300 on Aug 12
  8. #286 on Aug 13
  9. #277 on Aug 14
  10. #274 from Aug 15 to Aug 16
  11. #268 on Aug 17
  12. #270 on Aug 18
  13. #265 on Aug 19
  14. #260 from Aug 20 to Aug 21
  15. #255 on Aug 22
  16. #257 on Aug 23
  17. #256 on Aug 24
  18. #253 on Aug 25
  19. #249 from Aug 26 to Aug 27
  20. #244 on Aug 28
  21. #242 on Aug 29
  22. #237 from Aug 30 to Aug 31
  23. #239 on Sep 1
  24. #230 on Sep 2
  25. #226 on Sep 3
  26. #217 on Sep 4
  27. #207 on Sep 5
  28. #202 on Sep 6
  29. #201 on Sep 7
  30. #193 on Sep 8
  31. #188 on Sep 9
  32. #185 on Sep 10
  33. #184 on Sep 11
  34. #186 on Sep 12
  35. #183 on Sep 13
  36. #182 from Sep 14 to Sep 15
  37. #176 on Sep 16
  38. #173 on Sep 17
  39. #170 on Sep 18
  40. #166 on Sep 19
  41. #169 on Sep 20
  42. #165 on Sep 21
  43. #164 from Sep 22 to Sep 23
  44. #162 from Sep 24 to Sep 25
  45. #161 on Sep 26
  46. #160 from Sep 27 to Sep 28
  47. #159 on Sep 29
  48. #156 on Sep 30
  49. #158 on Oct 1
  50. #156 on Oct 2
  51. #154 on Oct 3
  52. #151 on Oct 4
  53. #153 on Oct 5
  54. #150 on Oct 6
  55. #152 from Oct 7 to Oct 8
  56. #150 on Oct 9
  57. #149 on Oct 10
  58. #148 on Oct 11
  59. #145 on Oct 12
  60. #144 from Oct 13 to Oct 14
  61. #142 on Oct 15
  62. #140 on Oct 16
  63. #142 on Oct 17
  64. #143 from Oct 18 to Oct 19
  65. #142 on Oct 20
  66. #138 from Oct 21 to Oct 22
  67. #136 from Oct 23 to Oct 24

Before you install

Instructions only

Automated signals, not a guarantee

Checked Nov 4, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 47 notes
  • skills/genoffice/SKILL.md:17 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:18 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:19 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:20 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:21 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:22 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:23 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:24 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:25 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:26 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:27 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:28 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:29 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:30 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:31 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:32 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:33 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:34 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:35 Analysis incomplete: physical or joined line exceeds character limit
  • skills/genoffice/SKILL.md:36 Analysis incomplete: physical or joined line exceeds character limit
  • No broad tool permissions
  • No dangerous shell commands
  • No network access
  • No hidden or obfuscated text
  • No instruction overrides
  • No executable scripts
  • No access to secrets
  • No requests to vote in Hot

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

No combined signals at this commit.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath CLAUDE.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/genoffice/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/genoffice/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/genoffice/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/genoffice/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/genoffice/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Add this badge to your README

It updates every night and links to this page.

genspark-ai/genoffice: #133 on hotskills, 11.8k stars

[![genspark-ai/genoffice on hotskills](https://hotskills.dev/badge/genspark-ai-genoffice.svg)](https://hotskills.dev/skill/genspark-ai-genoffice/)