--- name: gog-docs description: "Google Docs operations through gog." --- # Google Docs Use `gog` for Google Docs operations. Read `../gog/SKILL.md` first for shared auth, output, safety, and live-write rules. ## Safe start ```bash gog auth list --check --json --no-input gog schema docs --json gog --readonly --account user@example.com docs cat DOCUMENT_ID --json --wrap-untrusted ``` - Select the account explicitly with `--account`. - Use `--json --wrap-untrusted` for agent-readable Google content. - Use `--readonly` when the task must not mutate Google data. - Use `--no-input` in automation and `--dry-run` before supported writes. - Confirm the exact account, object, and mutation before any write or delete. ## Commands | Command | Purpose | | --- | --- | | `add-tab` | Add a tab to a Google Doc | | `cat` | Print a Google Doc as plain text | | `cell-style` | Apply table cell, border, padding, alignment, and text styling | | `cell-update` | Replace or append content inside a specific table cell | | `clear` | Clear all content from a Google Doc | | `comments` | Manage comments on files | | `copy` | Copy a Google Doc | | `create` | Create a Google Doc | | `delete` | Delete text range from document | | `delete-tab` | Delete a tab from a Google Doc | | `edit` | Find and replace text in a Google Doc | | `export` | Export a Google Doc (pdf\|docx\|txt\|md\|html) | | `find-range` | Find text and print Docs API UTF-16 index ranges | | `find-replace` | Find and replace text. Supports plain text or markdown with images; use --first for a single occurrence. | | `footer` | List, create, or delete document footers | | `format` | Apply text or paragraph formatting to a Google Doc | | `header` | List, create, or delete document headers | | `headings` | List document headings | | `images` | List document images | | `info` | Get Google Doc metadata | | `insert` | Insert text at a specific position | | `insert-date-chip` | Insert a native date smart chip | | `insert-file-chip` | Insert a native Drive file smart chip | | `insert-footnote` | Insert and populate a footnote | | `insert-horizontal-rule` | Insert a paragraph-border horizontal rule | | `insert-image` | Insert a public image URL or upload a local image into a Google Doc | | `insert-page-break` | Insert a page break at a specific position (or end-of-doc with --at-end) | | `insert-person` | Insert a native person smart chip | | `insert-section-break` | Insert a continuous or next-page section break | | `insert-table` | Insert a native table at a specific position (or end-of-doc with --at-end), optionally populated via --values-json | | `list-tabs` | List all tabs in a Google Doc | | `named-range` | Manage named ranges | | `page-layout` | Set page layout (pageless\|pages) on an existing Google Doc | | `paragraphs` | List document paragraphs | | `raw` | Dump raw Google Docs API response as JSON (Documents.Get; lossless; for scripting and LLM consumption) | | `rename-tab` | Rename a tab in a Google Doc | | `replace-image` | Replace an existing image without changing its position or bounds | | `section-columns` | Set the column count for a document section | | `sed` | Regex find/replace (sed-style: s/pattern/replacement/g) | | `structure` | Show document structure with numbered paragraphs | | `suggestions` | List pending text suggestions | | `table-column` | Insert or delete native table columns | | `table-column-width` | Set or reset native table column widths | | `table-merge` | Merge a native table cell range | | `table-row` | Insert, delete, style, or pin native table rows | | `table-unmerge` | Unmerge the region containing a native table cell | | `tables` | List native tables | | `tabs` | Manage Google Doc tabs | | `update` | Insert or replace text at a specific index or range in a Google Doc | | `write` | Write content to a Google Doc | Run `gog docs --help` for flags and `gog schema docs --json` for the machine-readable contract. Do not guess command syntax.