From acedatacloud-content
Reads, creates, and edits Google Docs via the Docs v1 REST API. Use for extracting document text, inserting/replacing content, or exporting docs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/acedatacloud-content:google-docsWhen to use
Trigger when the user wants to read a Google Doc's content, create a new doc, or insert / replace text in one. The connector grants `documents.readonly` by default; the user opts in to `documents` (read + write) at install — confirm before edits. Find the doc id from a Drive URL or a google-drive search.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Drive **Google Docs** via `curl + jq`. The user's OAuth bearer token is in
Drive Google Docs via curl + jq. The user's OAuth bearer token is in
$GOOGLE_DOCS_TOKEN; every call needs Authorization: Bearer $GOOGLE_DOCS_TOKEN. Base URL: https://docs.googleapis.com/v1/documents. The
token carries documents.readonly (+ identity); writes need documents.
Failures are {"error":{"code","message","status"}} — show verbatim. 401 =
re-install. 403 PERMISSION_DENIED on a write = read-only scope.
The doc id is the …/document/d/<ID>/edit segment of the URL.
D="https://docs.googleapis.com/v1/documents"; AUTH="Authorization: Bearer $GOOGLE_DOCS_TOKEN"
# Read the document. The body is a tree of structural elements; pull plain text:
curl -sS -H "$AUTH" "$D/DOC_ID" \
| jq -r '.title, ([.body.content[]?.paragraph?.elements[]?.textRun?.content] | join(""))'
# Create an empty doc
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
-d '{"title":"Meeting notes 2026-06-21"}' "$D" | jq '{documentId, title}'
# Insert text at the start (index 1) via batchUpdate (confirm first)
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
-d '{"requests":[{"insertText":{"location":{"index":1},"text":"Hello\n"}}]}' \
"$D/DOC_ID:batchUpdate" | jq '.documentId'
# Replace all occurrences of a placeholder
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
-d '{"requests":[{"replaceAllText":{"containsText":{"text":"{{name}}","matchCase":true},"replaceText":"Alex"}}]}' \
"$D/DOC_ID:batchUpdate" | jq '.replies'
body.content[].paragraph.elements[] .textRun.content (the jq above). Tables / lists need deeper traversal.google-drive skill to
move/share it.npx claudepluginhub acedatacloud/skills --plugin acedatacloud-contentAutomates Google Docs operations (create, read, edit, search) via Python scripts with standalone OAuth. No MCP server needed.
Create, search, read, and edit Google Docs via command-line scripts with standalone OAuth authentication. For document automation workflows.
Automates Google Docs tasks via Rube MCP (Composio): create, edit, search, export, copy, and update documents. Always searches tools first for current schemas.