gw-docs
Get, create, import, append, and replace text in Google Docs via CLI.
Skill by Elnora-AI
Chalk Labs
Need help deploying gw-docs?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/elnora-ai-gw-docs
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/gw-docs
What's inside
- Skill name
gw-docs- Description
- Get, create, import, append, and replace text in Google Docs via CLI. Accepts doc IDs or full URLs. Import renders a Markdown file as a native Doc (headings, tables, lists, links). TRIGGERS: "google docs", "google doc", "create doc", "read doc", "append to doc", "replace in doc", "document", "gdoc", "write to doc", "paste into doc", "import markdown to doc", "md to google doc", "render markdown as doc", "open md as google doc"
- License
- Apache-2.0
- Instructions
- 88 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Docs
## Invocation
```bash
CLI="python3 ${CLAUDE_PLUGIN_ROOT}/cli/gw.py"
```
## Commands
All commands accept a document ID or full Google Docs URL.
```bash
$CLI docs get DOC_ID --compact
$CLI docs create --title "Title" [--body "text"] [--body-file path] [--folder FOLDER] --compact
$CLI docs import PATH.md [--title "Title"] [--doc-id DOC_ID] [--folder FOLDER] [--keep-frontmatter] --compact
$CLI docs append DOC_ID --body "text" --compact
$CLI docs append DOC_ID --body-file - <<'BODY'
Multi-line content here.
BODY
$CLI docs replace DOC_ID --find "old" --replace-with "new" --compact
```
## Response Shapes (validated)
`get`: `{"documentId":"1abc...","title":"My Doc","text":"full plain text content","revisionId":"AMHa..."}`
`create`: `{"documentId":"1FYi...","title":"Title","url":"https://docs.google.com/document/d/1FYi.../edit"}`
`import`: `{"documentId":"1gB2...","title":"Title","url":"https://docs.google.com/document/d/1gB2.../edit?usp=drivesdk"}`
`append`: `{"documentId":"1abc...","appended":true,"charactersInserted":22}`
`replace`: `{"documentId":"1abc...","replaced":true,"occurrencesChanged":1}`
## Examples
```bash
# Read a doc (by URL)
$CLI docs get "https://docs.google.com/document/d/1bhGOtwf.../edit" --compact
# Create a doc with content from stdin
$CLI docs create --title "Meeting Notes" --body-file - <<'BODY'
Notes from today's meeting.
Action items:
- Follow up with Triin
- Send proposal
BODY
# Import a Markdown file as a native Google Doc (renders headings, bold, lists, tables, links)
$CLI docs import /path/to/notes.md --title "Notes" --compact
# Import directly into a Drive folder (accepts a folder ID or full folder URL)
$CLI docs import /path/to/notes.md --title "Notes" --folder "https://drive.google.com/drive/folders/1rUv-..." --compact
# Re-import into the SAME doc (keeps the ID and shareable link; replaces content)
$CLI docs import /path/to/notes.md --doc-id "1bhGOtwf..." --compact
# Append to an existing doc
$CLI docs append "1bhGOtwf..." --body "New section added."
# Find and replace (case-sensitive)
$CLI docs replace "1bhGOtwf..." --find "DRAFT" --replace-with "FINAL"
```
## UI Verification
After `create`, `append`, or `replace`, verify the document looks correct in Google Docs using Chrome DevTools MCP:
1. Open the doc URL returned in the response:
```
mcp__chrome-devtools__navigate_page → result.url (create) or https://docs.google.com/document/d/{documentId}/edit
```
2. Take a screenshot and confirm: title, content, and formatting are as expected.
3. If content is wrong, fix it with `docs replace` or `docs append` before reporting done.
## Notes
- `get` returns plain text only. Formatting, images, and tables are not preserved.
- `create --body` inserts **plain text** — Markdown syntax shows as raw characters. To render Markdown (headings, bold, bullet/numbered lists, pipe tables, links) into native Doc formatting, use `import` instead.
- `import` converts a Markdown file on upload via Drive. It strips YAML frontmatter by default (`--keep-frontmatter` to retain). Without `--doc-id` it creates a new doc; with `--doc-id` it replaces that doc's content while preserving the ID and shareable link.
- `import` needs a file path (not inline text); write content to a `.md` file first if needed.
- `--folder` (on `create` and `import`) puts the doc straight into a Drive folder — pass a folder ID or full folder URL. Without it, docs land in My Drive root. Ignored when `--doc-id` is set (a replace keeps the existing location). No separate "move" step needed.
- `append` auto-prepends a newline when the doc is non-empty.
- `replace` is case-sensitive and replaces all occurrences.
- Use `--body-file -` with `<<'BODY'` heredoc for content with special characters.From Elnora-AI/elnora-google-workspace, Apache-2.0.
More from Elnora-AI/elnora-google-workspace
- 0.598score
gw-forms
Elnora-AI
Read and write Google Forms via CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-calendar
Elnora-AI
Create, update, and list Google Calendar events via CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-searchconsole
Elnora-AI
Read Google Search Console via CLI — search queries, pages, CTR, position, indexing, sitemaps.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-setup
Elnora-AI
First-run setup for the Google Workspace (gw) plugin.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-analytics
Elnora-AI
Read Google Analytics 4 via CLI — traffic, acquisition, pages, conversions, realtime.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-api
Elnora-AI
Call ANY Google API method via the generic Discovery invoker — services with no curated command group (Drive, Slides, People, Chat, Keep, Meet, Classroom…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
google-workspace
Elnora-AI
Google Workspace CLI — routes to service-specific skills for Gmail, Sheets, Calendar, Tasks, Docs, Forms, Drive, Analytics and Search Console.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-postmaster
Elnora-AI
Read Gmail Postmaster Tools via CLI — the domains you registered, and per day the spam rate, DKIM / SPF / DMARC pass rates, delivery errors and Google's…
SkillAFreshness: A★ 2Claude Code +9 - 0.595score
gw-drive
Elnora-AI
List, get, upload, download, export, organize, and share Google Drive files via CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.595score
gw-gmail
Elnora-AI
Send, draft, list, read, reply, scan, and manage Gmail via CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.595score
gw-inbox
Elnora-AI
Quick inbox scan — recent emails with sender, subject, snippet.
SkillAFreshness: A★ 2Claude Code +9 - 0.595score
gw-tasks
Elnora-AI
Create, list, and complete Google Tasks via CLI.
SkillAFreshness: A★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 13, 2026 (3 months ago)
- Last release
- Oct 23, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Elnora-AI
- 0.598score
gw-setup
Elnora-AI
First-run setup for the Google Workspace (gw) plugin.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
google-workspace
Elnora-AI
Google Workspace CLI — routes to service-specific skills for Gmail, Sheets, Calendar, Tasks, Docs, Forms, Drive, Analytics and Search Console.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-calendar
Elnora-AI
Create, update, and list Google Calendar events via CLI.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-searchconsole
Elnora-AI
Read Google Search Console via CLI — search queries, pages, CTR, position, indexing, sitemaps.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-postmaster
Elnora-AI
Read Gmail Postmaster Tools via CLI — the domains you registered, and per day the spam rate, DKIM / SPF / DMARC pass rates, delivery errors and Google's…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
gw-analytics
Elnora-AI
Read Google Analytics 4 via CLI — traffic, acquisition, pages, conversions, realtime.
SkillAFreshness: A★ 2Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get gw-docs running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
gw-docs skill. Agent Mart. https://agentmart.dev/skills/elnora-ai-gw-docs (last updated 2026-10-24)