Google Docs Markdown Export
SkillDocs & knowledgeExport Google Docs as clean markdown via native URL parameter. No auth needed for public docs. Use when fetching Google Doc content for vault ingestion, runbook building, or any doc-to-markdown pipeline.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Google Docs Markdown Export skill
What this skill tells your AI
The instructions your AI receives, as published by joelhooks/joelclaw in skills/google-docs-md/SKILL.md and read by ahel’s review.
Google Docs natively supports markdown export via a URL parameter. This is the most reliable way to get markdown from a Google Doc — better than defuddle, jina, or any scraping tool.
URL Pattern
For any Google Doc URL like:
https://docs.google.com/document/d/{DOC_ID}/edit?tab=t.0
Replace everything after the document ID with export?format=md:
https://docs.google.com/document/d/{DOC_ID}/export?format=md
Extracting the Document ID
The DOC_ID is the long alphanumeric string between /d/ and the next /:
# From any Google Docs URL, extract the ID:
echo "https://docs.google.com/document/d/1mt8aYM88Jj5qkep1xYC5vj0wBlbX2u6gdxhf_puaiQI/edit?tab=t.0" \
| grep -oP '(?<=/d/)[^/]+'
# → 1mt8aYM88Jj5qkep1xYC5vj0wBlbX2u6gdxhf_puaiQI
Fetching
# Public docs — no auth needed, follow the 307 redirect:
curl -L "https://docs.google.com/document/d/${DOC_ID}/export?format=md" -o output.md
# Private docs — needs OAuth bearer token:
curl -L "https://docs.google.com/document/d/${DOC_ID}/export?format=md" \
-H "Authorization: Bearer ${TOKEN}" -o output.md
Important: The endpoint returns a 307 redirect. Always use curl -L (follow redirects) or equivalent.
Other Export Formats
The same pattern works for other formats:
export?format=pdf— PDFexport?format=docx— Wordexport?format=txt— Plain textexport?format=html— HTMLexport?format=epub— ePub
Batch Pattern
When you have a list of Google Doc URLs (e.g. extracted from Front emails):
# Extract doc IDs from a file of URLs
grep -oP '(?<=/d/)[^/]+' urls.txt | sort -u | while read id; do
echo "Fetching $id..."
curl -sL "https://docs.google.com/document/d/${id}/export?format=md" \
-o "docs/${id}.md"
sleep 1 # Be polite
done
When to Use
- Always prefer this over defuddle/scraping for Google Docs
- Works for public docs without any authentication
- Native markdown quality is superior to any HTML→markdown conversion
- Handles tables, formatting, links, images (as URLs) correctly
Limitations
- Private docs require a valid OAuth token (use
gogwhen available) - Very large docs may take a few seconds
- Images are referenced as URLs, not embedded
- Comments and suggestions are not included in the export
Signals
- GitHub stars
- 64
- Forks
- 2
- Last commit
- Sep 2026
ahel review
S4info
community integration, published by joelhooks, not google
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
google-docs-md- Source
- github.com/joelhooks/joelclaw