tychohq/agent-skills

md-to-gdoc

Convert markdown files to properly formatted Google Docs. Use when asked to create a Google Doc from markdown, upload markdown to Google Docs, put a .md file into Google Docs, or convert research/notes/documents to Google Docs format.

First seen May 3, 2026

Installation

$ npx skills add tychohq/agent-skills --skill md-to-gdoc

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from tychohq/agent-skills · top by installs.

npx skills add tychohq/agent-skills

Browse all from tychohq/agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License MIT
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.1

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,601 B
  • docs SUMMARY.md 252 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 5 installs

SKILL.md

Markdown to Google Doc

Convert .md files into Google Docs with proper heading styles, bold, code blocks, lists, links, and blockquotes.

Requirements

  • gog — Google Workspace CLI (must be authenticated: gog auth add <email>)
  • python3 — used for JSON parsing in the script

Quick Start

scripts/md-to-gdoc.sh <file.md> [--title "Title"] [--parent <folder-id>] [--account <email>]

Resolve scripts/ relative to this skill's directory.

Critical Rules

  1. Use gog docs update --format=markdown — never write --markdown, never create --file. The update path is the only one that correctly applies Google Docs heading styles via the API.
  2. Markdown must have proper # headings. If the source has "heading-looking" plain text without # markers, add them before conversion. The script warns but proceeds.
  3. Two-step process: create empty doc → populate with update. This is deterministic and reliable.
  4. Always verify heading syntax in the markdown before running. No # = no formatted headings in the output.

What Works

  • ####### headings → Google Docs Heading 1–6
  • bold → bold text
  • ` inline code ` → Courier New
  • Fenced code blocks → Courier New + gray background
  • > blockquotes → indented paragraphs
  • - bullets → bullet-prefixed text
  • 1. numbered → number-prefixed text
  • [text](url) → hyperlinks
  • Markdown tables → native Google Docs tables

Known Limitations

  • italic may not render (gog CLI bug in inline formatting parser — italic detection fails in certain contexts)
  • Bullet/numbered lists use text prefixes (, 1.), not native Google Docs list objects
  • Horizontal rules render as 40 dashes

Options

  • --title — Doc title. Defaults to filename with hyphens→spaces.
  • --parent — Google Drive folder ID to place the doc in.
  • --account — Google account email. Defaults to gog's default (first authenticated account).

Troubleshooting

  • All body text, no headings: The markdown file lacks # heading markers. Add them.
  • gog auth errors: Run gog auth list to verify auth. May need gog auth add <email>.
  • Empty doc created: The update step failed. Check gog output for API errors.