Skip to content
Agentmart
Submit a tool

gw-docs

Get, create, import, append, and replace text in Google Docs via CLI.

Skill by Elnora-AI

IndexedApache-2.0★ 2
Write a review

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.

We use your email only for this newsletter. Privacy

About

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"

Use cases: documents, writing

No 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. Checked Oct 25, 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

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Jul 13, 2026 (3 months ago)
Last release
Oct 23, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Elnora-AI

Cite this page

gw-docs skill. Agent Mart. https://agentmart.dev/skills/elnora-ai-gw-docs (last updated 2026-10-24)