Skip to content
cccskills
FreePublished on GitHub

gws-docs

Google Docs skill for creating, reading, and updating documents via the gws CLI. Covers document creation, content retrieval, batch updates, and sharing.

The English summary is being prepared. Showing the original description.

Works withGoogle Docs
See how to install

Files included (1)

  • SKILL.md3.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Google Docs (gws-docs)

PREREQUISITE: Read the gws-shared skill for auth, global flags, and security rules.

Read and write Google Docs using the gws CLI.

gws docs <resource> <method> [flags]

Quick Examples

# Create a new blank document
gws docs documents create \
  --json '{"title": "Meeting Notes — March 2026"}'

# Get document content (returns full JSON including body segments)
gws docs documents get \
  --params '{"documentId": "DOCUMENT_ID"}'

# Append text to a document
gws docs documents batchUpdate \
  --params '{"documentId": "DOCUMENT_ID"}' \
  --json '{
    "requests": [
      {
        "insertText": {
          "location": {"index": 1},
          "text": "New paragraph content here.\n"
        }
      }
    ]
  }'

# Insert a heading
gws docs documents batchUpdate \
  --params '{"documentId": "DOCUMENT_ID"}' \
  --json '{
    "requests": [
      {
        "insertText": {
          "location": {"index": 1},
          "text": "Section Title\n"
        }
      },
      {
        "updateParagraphStyle": {
          "range": {"startIndex": 1, "endIndex": 14},
          "paragraphStyle": {"namedStyleType": "HEADING_1"},
          "fields": "namedStyleType"
        }
      }
    ]
  }'

# Replace placeholder text (template fill-in)
gws docs documents batchUpdate \
  --params '{"documentId": "DOCUMENT_ID"}' \
  --json '{
    "requests": [
      {
        "replaceAllText": {
          "containsText": {"text": "{{CLIENT_NAME}}", "matchCase": false},
          "replaceText": "Acme Corp"
        }
      }
    ]
  }'

# Insert a table
gws docs documents batchUpdate \
  --params '{"documentId": "DOCUMENT_ID"}' \
  --json '{
    "requests": [
      {
        "insertTable": {
          "rows": 3,
          "columns": 3,
          "location": {"index": 1}
        }
      }
    ]
  }'

Helper Commands

CommandDescription
gws docs +writeAppend text to a document (simplified)

Common batchUpdate Request Types

Request typeWhat it does
insertTextInsert text at a specific index
deleteContentRangeRemove a range of content
replaceAllTextFind and replace throughout document
insertPageBreakInsert a page break
updateParagraphStyleApply a heading or paragraph style
updateTextStyleBold, italic, font, size
insertTableInsert a table
insertInlineImageEmbed an image
createNamedRangeMark a range for later reference

Reading Document Content

The documents.get response contains a body.content array of structural elements:

{
  "documentId": "...",
  "title": "My Document",
  "body": {
    "content": [
      { "paragraph": { "elements": [{ "textRun": { "content": "Hello\n" } }] } }
    ]
  }
}

Extract plain text with jq:

gws docs documents get --params '{"documentId": "DOC_ID"}' \
  | jq '[.. | .textRun?.content? // empty] | join("")'

Key API Resources

documents

get, create, batchUpdate

Discovering More

gws docs --help
gws schema docs.documents.batchUpdate
gws schema docs.documents.get

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

The English summary is being prepared. Showing the original description.

nvdigitalsolutions/mcp-ai-wpoos7Updated Oct 23, 2026

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

The English summary is being prepared. Showing the original description.

nvdigitalsolutions/mcp-ai-wpoos7Updated Oct 23, 2026

Control a headless browser to navigate URLs, click elements, fill forms, extract content from JavaScript-rendered pages, take screenshots, and automate end-to-end web workflows.

The English summary is being prepared. Showing the original description.

nvdigitalsolutions/mcp-ai-wpoos7Updated Oct 23, 2026

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

The English summary is being prepared. Showing the original description.

nvdigitalsolutions/mcp-ai-wpoos7Updated Oct 23, 2026

Review code for quality, simplicity, and maintainability. Identifies unnecessary abstractions, duplicated logic, oversized functions, missing error handling, and naming issues — then fixes them automatically before presenting the result.

The English summary is being prepared. Showing the original description.

nvdigitalsolutions/mcp-ai-wpoos7Updated Oct 23, 2026

WooCommerce store operations through NV oOS Pro — product research, catalog cross-referencing, inventory lookups, and Shopify or Flowhub comparisons where integrations are configured.

The English summary is being prepared. Showing the original description.

nvdigitalsolutions/mcp-ai-wpoos7Updated Oct 23, 2026

See all skills by nvdigitalsolutions

Report a problem with this skill