name: gdrive-manager description: Manages all Google Drive operations within the claude-code folder. Use this skill for ANY Google Drive file creation, updates, or organization. Enforces folder restrictions and maintains the centralized INDEX document. Required before using raw mcp__gdrive__ tools for research documentation, experiment logs, updates, or slides.
Google Drive Manager
All Claude Code Google Drive operations MUST go through this skill to ensure proper folder organization and automatic INDEX maintenance.
Folder Structure
Google Drive/
└── claude-code/
├── INDEX # Central document with links to all docs
├── experiments/ # Experiment documentation (research-executor)
├── logs/ # Daily/session logs
├── updates/ # Weekly updates (weekly-update-writer)
└── slides/ # Presentations (research-slides-architect)
Folder Mapping
| Document Type | Target Folder | Naming Convention |
|---|---|---|
| Experiment docs | /experiments | {experiment-name} |
| Daily logs | /logs | {YYYY-MM-DD}-log |
| Weekly updates | /updates | {YYYY-MM-DD}-weekly-update |
| Presentations | /slides | {presentation-name} |
Configuration
Folder IDs are cached in references/folder-ids.md. Read this file first to get the correct folder IDs.
Workflow: Creating a Document
Step 1: Read Folder IDs
Read: .claude/skills/gdrive-manager/references/folder-ids.md
This gives you the cached folder IDs:
ROOT_FOLDER_ID- claude-code folderEXPERIMENTS_FOLDER_ID- experiments subfolderLOGS_FOLDER_ID- logs subfolderUPDATES_FOLDER_ID- updates subfolderSLIDES_FOLDER_ID- slides subfolderINDEX_DOC_ID- INDEX document
Step 2: Determine Target Folder
Based on document type:
- Experiment documentation → use
EXPERIMENTS_FOLDER_ID - Daily log → use
LOGS_FOLDER_ID - Weekly update → use
UPDATES_FOLDER_ID - Presentation → use
SLIDES_FOLDER_ID
Step 3: Create Document in Correct Folder
For Google Docs:
mcp__gdrive__createGoogleDoc(
name: "{document-name}",
content: "{initial-content}",
parentFolderId: "{FOLDER_ID}"
)
For Google Slides:
mcp__gdrive__createGoogleSlides(
name: "{presentation-name}",
slides: [...],
parentFolderId: "{SLIDES_FOLDER_ID}"
)
Step 4: Update INDEX Document
After creating any document, update the INDEX:
-
Get current INDEX content:
mcp__gdrive__getGoogleDocContent(documentId: "{INDEX_DOC_ID}") -
Add new entry to appropriate section
-
Update INDEX:
mcp__gdrive__updateGoogleDoc( documentId: "{INDEX_DOC_ID}", content: "{updated-content}" ) -
Apply formatting (HEADING_1 for section headers)
Workflow: Full INDEX Refresh
Use this workflow to regenerate the entire INDEX from current folder contents:
Step 1: List All Folders
mcp__gdrive__listFolder(folderId: "{EXPERIMENTS_FOLDER_ID}")
mcp__gdrive__listFolder(folderId: "{LOGS_FOLDER_ID}")
mcp__gdrive__listFolder(folderId: "{UPDATES_FOLDER_ID}")
mcp__gdrive__listFolder(folderId: "{SLIDES_FOLDER_ID}")
Step 2: Generate INDEX Content
CLAUDE-CODE GOOGLE DRIVE INDEX
Last Updated: {current-timestamp}
TL;DR
• Central index for all Claude Code research documents
• {N} experiments, {M} logs, {P} updates, {Q} slides
QUICK LINKS
• Latest Experiment: {name} - https://docs.google.com/document/d/{id}
• Today's Log: {date} - https://docs.google.com/document/d/{id}
EXPERIMENTS
• {name} - https://docs.google.com/document/d/{id} - {date}
• ...
LOGS
• {date} - https://docs.google.com/document/d/{id}
• ...
UPDATES
• {date} Weekly Update - https://docs.google.com/document/d/{id}
• ...
SLIDES
• {name} - https://docs.google.com/presentation/d/{id} - {date}
• ...
Step 3: Update and Format INDEX
- Update content:
mcp__gdrive__updateGoogleDoc - Get content with indices:
mcp__gdrive__getGoogleDocContent - Apply TITLE style to header
- Apply HEADING_2 to "TL;DR"
- Apply HEADING_1 to each section (EXPERIMENTS, LOGS, etc.)
Initial Setup (One-Time)
If the folder structure doesn't exist yet:
Create Folders
# 1. Create root folder
mcp__gdrive__createFolder(name: "claude-code")
→ Save the returned ID as ROOT_FOLDER_ID
# 2. Create subfolders
mcp__gdrive__createFolder(name: "experiments", parent: "{ROOT_FOLDER_ID}")
→ Save as EXPERIMENTS_FOLDER_ID
mcp__gdrive__createFolder(name: "logs", parent: "{ROOT_FOLDER_ID}")
→ Save as LOGS_FOLDER_ID
mcp__gdrive__createFolder(name: "updates", parent: "{ROOT_FOLDER_ID}")
→ Save as UPDATES_FOLDER_ID
mcp__gdrive__createFolder(name: "slides", parent: "{ROOT_FOLDER_ID}")
→ Save as SLIDES_FOLDER_ID
Create INDEX Document
mcp__gdrive__createGoogleDoc(
name: "INDEX",
content: "CLAUDE-CODE GOOGLE DRIVE INDEX\nLast Updated: {date}\n\nTL;DR\n• Central index for all Claude Code research documents\n\nEXPERIMENTS\n(empty)\n\nLOGS\n(empty)\n\nUPDATES\n(empty)\n\nSLIDES\n(empty)",
parentFolderId: "{ROOT_FOLDER_ID}"
)
→ Save as INDEX_DOC_ID
Cache Folder IDs
Write all IDs to .claude/skills/gdrive-manager/references/folder-ids.md
Validation
Before any operation:
- Read
references/folder-ids.md - If IDs are missing, search for folder:
mcp__gdrive__search(query: "claude-code") - If folder doesn't exist, run Initial Setup workflow
Link Formats
When adding links to INDEX, use these formats:
- Google Docs:
https://docs.google.com/document/d/{document-id} - Google Slides:
https://docs.google.com/presentation/d/{presentation-id} - Google Sheets:
https://docs.google.com/spreadsheets/d/{spreadsheet-id}
Critical Reminders
- NEVER create documents outside claude-code folder - All research docs must be in the appropriate subfolder
- ALWAYS update INDEX after creating/deleting documents - Keep the index current
- Use correct folder for document type - Experiments go to /experiments, logs to /logs, etc.
- Format the INDEX - Use google-docs-formatter skill for proper heading styles
Related Skills
- /google-docs-formatter - Use after creating docs for proper formatting
- research-executor agent - Creates experiment docs in /experiments
- weekly-update-writer agent - Creates updates in /updates
- research-slides-architect agent - Creates slides in /slides