Managing Google Workspace
taylorwilsdon/google_workspace_mcp
Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, Custom Search).
Internal fetcher module for Google Docs and Sheets. An agent skill from iurykrieger/claude-bedrock.
$ npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install iurykrieger/claude-bedrock gdoc-to-markdown --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gdoc-to-markdown .claude/skills/gdoc-to-markdown && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "gdoc-to-markdown" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/gdoc-to-markdown into .claude/skills/gdoc-to-markdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gdoc-to-markdown", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/iurykrieger/claude-bedrock/tree/main/skills/gdoc-to-markdownType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install iurykrieger/claude-bedrock gdoc-to-markdown --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gdoc-to-markdown .agents/skills/gdoc-to-markdown && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gdoc-to-markdown" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/gdoc-to-markdown into .agents/skills/gdoc-to-markdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gdoc-to-markdown", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install iurykrieger/claude-bedrock gdoc-to-markdown --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gdoc-to-markdown .cursor/skills/gdoc-to-markdown && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "gdoc-to-markdown" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/gdoc-to-markdown into .cursor/skills/gdoc-to-markdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gdoc-to-markdown", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/iurykrieger/claude-bedrock.git --path skills/gdoc-to-markdown--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install iurykrieger/claude-bedrock gdoc-to-markdown --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gdoc-to-markdown .gemini/skills/gdoc-to-markdown && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "gdoc-to-markdown" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/gdoc-to-markdown into .gemini/skills/gdoc-to-markdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gdoc-to-markdown", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install iurykrieger/claude-bedrock gdoc-to-markdownInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gdoc-to-markdown .github/skills/gdoc-to-markdown && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "gdoc-to-markdown" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/gdoc-to-markdown into .github/skills/gdoc-to-markdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gdoc-to-markdown", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install iurykrieger/claude-bedrock gdoc-to-markdown --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gdoc-to-markdown .opencode/skills/gdoc-to-markdown && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "gdoc-to-markdown" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/gdoc-to-markdown into .opencode/skills/gdoc-to-markdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gdoc-to-markdown", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
gdoc-to-markdownInternal fetcher module for Google Docs and Sheets. An agent skill from iurykrieger/claude-bedrock.
Gdoc To Markdown is an agent skill from iurykrieger/claude-bedrock. Internal fetcher module for Google Docs and Sheets. Fetches content via MCP (preferred, when available), Google API with bearer token or public URL export (fallback), or browser DOM extraction via Claude in Chrome (last resort) and returns Markdown. Used by /bedrock:learn and /bedrock:sync — not intended for direct user invocation.
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/extract.js`).
It sits in Documents & Office, covering Cloud office suites, Markdown and MCP servers. It works with Model Context Protocol, Google Docs, Google Sheets and Obsidian. The repository describes itself as: Second Brain automation for Obsidian vaults — entity management, ingestion, compression, and sync via Claude Code skills. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7cac16c. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteWebFetchToolSearchmcp__claude-in-chrome__*From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
docs.google.comgoogleapis.comsheets.googleapis.comAlso links to:
developers.google.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GOOGLE_ACCESS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Gdoc To Markdown loads about 3.8k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 1,762 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Write, WebFetch, ToolSearch, mcp__claude-in-chrome__*Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from iurykrieger/claude-bedrock at commit 7cac16c, republished under its MIT licence (© iurykrieger). 1,762 words, ~3,834 tokens.
.claude/skills/gdoc-to-markdown/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Internal module — invoked by /bedrock:learn Phase 1 and /bedrock:sync Phase 2, not user-invocable.
Fetches a Google Docs document or Google Sheets spreadsheet and converts it to a local Markdown file. Supports both document types with automatic detection. Three layers in fallback order: MCP (preferred) → API / Public Export → Browser DOM extraction.
Dependency: Browser fallback (Layer 3) requires scripts/extract.js (relative to this skill directory).
Parse the URL. Accept these formats:
Google Docs:
https://docs.google.com/document/d/{docId}/edithttps://docs.google.com/document/d/{docId}/edit#heading=...https://docs.google.com/document/d/{docId}/edit?tab=t.0https://docs.google.com/document/d/{docId}Google Sheets:
https://docs.google.com/spreadsheets/d/{docId}/edithttps://docs.google.com/spreadsheets/d/{docId}/edit#gid=0https://docs.google.com/spreadsheets/d/{docId}Detect type:
/spreadsheets/d/ → Sheet/document/d/ → DocExtract the {docId} — the string between /d/ and the next / or end of path.
The preferred layer. Checks if a Google Docs/Drive MCP server is installed and authenticated.
Use ToolSearch to check if any Google Docs or Google Drive MCP tools are available:
ToolSearch(query: "google docs drive document", max_results: 5)Evaluate the result:
MCP not available: No Google Docs/Drive MCP server installed. When a Google Docs MCP becomes available, install it for direct document access. Falling back to API (Layer 2).
Use the Google Docs MCP tools to fetch the document content. The specific tool depends on what the MCP exposes.
MCP fetch failed: {error message}. Falling back to API (Layer 2).
If an MCP is installed but not authenticated, guide the user:
MCP not authenticated: A Google Docs MCP server is installed but requires authentication. Complete the authentication flow as prompted by the MCP server. After authentication, Google documents can be fetched directly via MCP.
Ask the user: "Would you like to authenticate the Google Docs MCP now, or skip to API fallback (Layer 2)?"
Uses the Google Drive/Sheets API with a bearer token or public URL export.
GOOGLE_ACCESS_TOKEN env var exists → use Strategy A (API with token)GOOGLE_ACCESS_TOKEN is NOT set → use Strategy B (Public Export)API not available: This document requires authentication and no
GOOGLE_ACCESS_TOKENis set. Generate a token at https://developers.google.com/oauthplayground/ with thehttps://www.googleapis.com/auth/drive.readonlyscope. Export:export GOOGLE_ACCESS_TOKEN="your-token". Falling back to Browser extraction (Layer 3).
Inform the caller which strategy is being used and whether the document is a Doc or Sheet.
Use WebFetch:
WebFetch(
url: "https://www.googleapis.com/drive/v3/files/{docId}/export?mimeType=text/markdown",
headers: { "Authorization": "Bearer {GOOGLE_ACCESS_TOKEN}" },
prompt: "Return the COMPLETE raw content exactly as-is. Do not summarize or truncate."
)If WebFetch cannot send the Authorization header, fall back to Bash:
curl -sL -H "Authorization: Bearer ${GOOGLE_ACCESS_TOKEN}" \
"https://www.googleapis.com/drive/v3/files/{docId}/export?mimeType=text/markdown"API authentication failed: Google API returned 401. The token may be expired or invalid. Refresh your token at https://developers.google.com/oauthplayground/. Falling back to Browser extraction (Layer 3).
API access denied: Google API returned 403. You do not have access to this document. Verify document sharing permissions in Google Docs.
Document not found: Google API returned 404. The document ID may be incorrect. Verify the URL or document ID.
API returned empty: The document appears to be empty or the export failed. Falling back to Browser extraction (Layer 3).
Do not post-process the Markdown — return Google's native output as-is.
curl -sL "https://docs.google.com/document/d/{docId}/export?format=md"The -L flag follows the 307 redirect to *.googleusercontent.com.
Public export not available: Document is private and requires authentication. Set
GOOGLE_ACCESS_TOKENfor API access, or ensure you are logged into Google in Chrome. Falling back to Browser extraction (Layer 3).
Public export returned empty: The document appears to be empty or inaccessible. Falling back to Browser extraction (Layer 3).
curl -sL -H "Authorization: Bearer ${GOOGLE_ACCESS_TOKEN}" \
"https://sheets.googleapis.com/v4/spreadsheets/{docId}?fields=sheets.properties"Returns JSON with sheets[].properties.title (sheet name) and sheets[].properties.sheetId (gid).
For each tab:
curl -sL -H "Authorization: Bearer ${GOOGLE_ACCESS_TOKEN}" \
"https://docs.google.com/spreadsheets/d/{docId}/export?format=csv&gid={sheetGid}"If the export endpoint fails for a specific tab, fall back to the Sheets API values endpoint:
curl -sL -H "Authorization: Bearer ${GOOGLE_ACCESS_TOKEN}" \
"https://sheets.googleapis.com/v4/spreadsheets/{docId}/values/{sheetName}!A:ZZ"Convert the JSON values array rows to comma-separated values to produce CSV.
For each tab's CSV:
"..." are a single field)| col1 | col2 | ... || --- | --- | ... || val1 | val2 | ... || within cell values as \|For each tab, prepend: ## {sheet_name} followed by a blank line, then the Markdown table, then a blank line. Tabs appear in the same order as returned by the Sheets API metadata.
API authentication failed: Sheets API returned 401. The token may be expired or invalid. Refresh your token at https://developers.google.com/oauthplayground/. Falling back to Browser extraction (Layer 3).
API access denied: Sheets API returned 403. You do not have access to this spreadsheet. Verify spreadsheet sharing permissions or ensure token has
drive.readonlyscope.
Spreadsheet not found: Sheets API returned 404. The spreadsheet ID may be incorrect. Verify the URL.
API returned empty: The spreadsheet appears to be empty. Falling back to Browser extraction (Layer 3).
curl -sL "https://docs.google.com/spreadsheets/d/{docId}/gviz/tq?tqx=out:csv&gid=0"Public export not available: Spreadsheet is private and requires authentication. Set
GOOGLE_ACCESS_TOKENfor API access, or ensure you are logged into Google in Chrome. Falling back to Browser extraction (Layer 3).
Public export returned empty: The spreadsheet appears to be empty or inaccessible. Falling back to Browser extraction (Layer 3).
Inform the caller: "Public export can only retrieve the first sheet tab. To export all tabs, set GOOGLE_ACCESS_TOKEN."
Format the single tab with heading ## Sheet1 followed by the Markdown table.
Last resort. Opens the document in Chrome and extracts content via DOM scraping.
Via ToolSearch:
select:mcp__claude-in-chrome__tabs_context_mcp,mcp__claude-in-chrome__tabs_create_mcp
select:mcp__claude-in-chrome__navigate
select:mcp__claude-in-chrome__javascript_toolIf Chrome MCP tools are not available, abort:
Browser not available: Claude in Chrome MCP is not installed or not running. Install the Claude in Chrome extension and ensure it is connected. No further fallback layers available — cannot fetch this document.
mcp__claude-in-chrome__tabs_context_mcp(createIfEmpty: true)mcp__claude-in-chrome__tabs_create_mcp()
mcp__claude-in-chrome__navigate(url: "<full document URL>", tabId: <id>)Read scripts/extract.js from this skill's directory using the Read tool. Then execute it:
mcp__claude-in-chrome__javascript_tool(
action: "javascript_exec",
text: <contents of extract.js>,
tabId: <id>
)The script returns JSON:
{
"status": "ready",
"totalLength": 31450,
"totalChunks": 4,
"chunkSize": 10000,
"title": "Document Title",
"docType": "doc",
"instructions": "Run window.__gdoc.chunk(0), window.__gdoc.chunk(1), etc."
}If the script returns an error field: handle accordingly (login page, empty content, wrong page).
For each chunk from 0 to totalChunks - 1:
mcp__claude-in-chrome__javascript_tool(
action: "javascript_exec",
text: "window.__gdoc.chunk(N)",
tabId: <id>
)Concatenate all chunks into a single Markdown string.
Check that the result is not empty and not a login page. If validation fails:
Browser extraction failed: Could not extract content from the document. Ensure you are logged into Google in Chrome and the document has loaded. No further fallback layers available — cannot fetch this document.
/tmp/gdoc_{docId}.md/tmp/gsheet_{docId}.mdWrite the Markdown content using the Write tool. Verify the file was written by reading the first few lines.
Return to /bedrock:learn or /bedrock:sync:
/tmp/gdoc_{docId}.md or /tmp/gsheet_{docId}.mdThe caller copies the file to $TEACH_TMP/<slug>.md.
| Rule | Detail |
|---|---|
| Read-only | Never write back to Google Docs or Sheets. |
| No OAuth interactive flows | Use only existing MCP auth, static token from GOOGLE_ACCESS_TOKEN, or browser session. |
| Validate before saving | Do not save empty files, HTML error pages, or Google login pages. |
| Layer order is sacred | Always try MCP → API → Browser, in that order. Never skip ahead unless a layer is unavailable or user declines. |
| Guide before falling through | If a layer exists but is misconfigured, guide the user before moving to the next layer. |
| No Markdown post-processing for Docs | Return Google's native Markdown export as-is (API layer). |
| Export all sheet tabs (API) | Do not skip tabs or allow selective export. |
| Respect CSV quoting rules | Quoted fields are single fields, even with commas or newlines inside. |
| Best-effort | If a layer fails, try the next. If all fail, report and abort — do not retry indefinitely. |
| 403 is terminal | Permission denied cannot be resolved by falling to another layer — abort immediately. |
| Problem | Solution |
|---|---|
| No Google Docs MCP available | Expected today — skip to API layer automatically |
| API returns 401 | Token expired — refresh at https://developers.google.com/oauthplayground/ |
| API returns 403 | User lacks access to the document/spreadsheet |
| API returns 404 | Document ID is wrong — verify URL |
| Public export returns HTML login page | Document is private — set GOOGLE_ACCESS_TOKEN or use browser |
| Content is truncated | Google Drive API limits exports to 10 MB — document may be too large |
| WebFetch fails to send Authorization header | Fall back to curl -H "Authorization: Bearer {token}" -sL "<url>" via Bash |
| Sheets 403 for metadata | Token may lack drive.readonly or spreadsheets.readonly scope |
| Sheets CSV export returns HTML | Export endpoint blocked — fall back to Sheets API values endpoint |
| Public Sheets export returns only first tab | Expected limitation — multi-sheet export requires GOOGLE_ACCESS_TOKEN |
| Chrome extension disconnected | Refresh extension, call tabs_context_mcp(createIfEmpty: true) |
| Browser redirects to Google login | User not authenticated — log into Google in Chrome, retry |
extract.js returns empty | Document may not have loaded — wait and retry, or check if document is empty |
© iurykrieger, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in skills/gdoc-to-markdown of iurykrieger/claude-bedrock.
Open the folder on GitHubat commit 7cac16c
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in iurykrieger/claude-bedrock, which our catalogue first saw on October 7, 2026.
Gdoc To Markdown next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Gdoc To Markdown this skilliurykrieger/claude-bedrock | 105 | 1 repos | ~3.8k | Automated safety check: Notes | MIT | |
| Managing Google Workspacetaylorwilsdon/google_workspace_mcp | 3.3k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Google Workspaceespennilsen/pi | 122 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Recipe Generate Report From Sheetgoogleworkspace/cli | 31k | — | ~287 | Automated safety check: Pass | Apache-2.0 | |
| Teachccplugins/awesome-claude-code-plugins | 970 | — | ~5.9k | Automated safety check: Notes | Apache-2.0 | |
| MineruNebutra/MinerU-Skill | 123 | — | ~1.4k | Automated safety check: Pass | MIT |
taylorwilsdon/google_workspace_mcp
Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, Custom Search).
espennilsen/pi
Manage Google Workspace via the gws CLI — Drive, Gmail, Sheets, Docs, Slides, People, Chat, Meet, Forms, and cross-service workflows.
googleworkspace/cli
Read data from a Google Sheet and create a formatted Google Docs report.
ccplugins/awesome-claude-code-plugins
Teaches the Second Brain to recognize a new external data source.
Nebutra/MinerU-Skill
An AI-Native skill for parsing PDF / Office / image files into clean Markdown with MinerU — a fast, zero-config document parser for AI agents.
Nebutra/MinerU-Skill
An AI-Native skill for parsing PDF / Office / image files into Markdown with MinerU — a fast, zero-config document parser for AI agents.
iurykrieger/claude-bedrock
Internal fetcher module for Confluence pages. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Read-only vault health diagnostic. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Manage registered Bedrock vaults. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Initialize any folder as a Bedrock-powered Obsidian vault. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Vault alignment engine. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Re-synchronizes the vault with external sources. An agent skill from iurykrieger/claude-bedrock.
Categories
Internal fetcher module for Google Docs and Sheets. An agent skill from iurykrieger/claude-bedrock. Gdoc To Markdown is an agent skill from iurykrieger/claude-bedrock. Internal fetcher module for Google Docs and Sheets.
Gdoc To Markdown fits situations like: tasks that involve Cloud office suites; tasks that involve Markdown; tasks that involve MCP servers.
Run `npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a claude-code`. Or copy the skill folder (skills/gdoc-to-markdown in iurykrieger/claude-bedrock) into .claude/skills/gdoc-to-markdown in your project. Claude Code loads it when a task matches its description.
Run `npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a codex`. Or copy the skill folder (skills/gdoc-to-markdown in iurykrieger/claude-bedrock) into .agents/skills/gdoc-to-markdown in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iurykrieger/claude-bedrock --skill gdoc-to-markdown -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gdoc-to-markdown, .gemini/skills/gdoc-to-markdown, .github/skills/gdoc-to-markdown and .opencode/skills/gdoc-to-markdown in your project.
Going by SKILL.md and its folder, Gdoc To Markdown needs JavaScript for the scripts in its folder, the command-line tools its instructions call (curl) and credentials named GOOGLE_ACCESS_TOKEN. Our summary lists: Node.js; A credential in GOOGLE_ACCESS_TOKEN. Its frontmatter pre-approves these tools: Bash, Read, Write, WebFetch, ToolSearch, mcp__claude-in-chrome__*.
SKILL.md names 4 domains. In commands or code: docs.google.com, googleapis.com and sheets.googleapis.com; the agent is likely to contact these when it follows the instructions. As links in the text: developers.google.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Gdoc To Markdown is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Gdoc To Markdown: Managing Google Workspace (taylorwilsdon/google_workspace_mcp, 3.3k stars), Google Workspace (espennilsen/pi, 122 stars), Recipe Generate Report From Sheet (googleworkspace/cli, 31k stars) and Teach (ccplugins/awesome-claude-code-plugins, 970 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
iurykrieger (a GitHub user) maintains it in iurykrieger/claude-bedrock, which has 105 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on May 5, 2026.
Source: iurykrieger/claude-bedrock on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.