[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6G2SQP3EDM41BVRG67CBFGF":3,"skill-same:01M6G2SQP3EDM41BVRG67CBFGF":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":14,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":60,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6G2SQP3EDM41BVRG67CBFGF","googledocs-automation",null,"Automate Google Docs tasks via Rube MCP (Composio): create, edit, search, export, copy, and update documents. Always search tools first for current schemas.","reikiplanet\u002Fdaoskills","reikiplanet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F96377599?v=4","01M6CVWCMD740YHQDK7E9QYBW4","Reiki Planet","01M6CVWCS4KXVA2CWFVJ43EAXK",0,"MIT","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fdevelopment\u002Fcomposio-googledocs-automation\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"automation","googledocs automation","Tools","update documents","copy","via","composio","export","edit","automate","first","MCP","google docs","search","update","create","tasks","documents","docs","google","2026-11-10 10:12:30",false,"---\nname: googledocs-automation\ndescription: \"Automate Google Docs tasks via Rube MCP (Composio): create, edit, search, export, copy, and update documents. Always search tools first for current schemas.\"\nrequires:\n  mcp: [rube]\n---\n\n# Google Docs Automation via Rube MCP\n\nCreate, edit, search, export, and manage Google Docs documents programmatically using Rube MCP (Composio).\n\n**Toolkit docs**: [composio.dev\u002Ftoolkits\u002Fgoogledocs](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fgoogledocs)\n\n## Prerequisites\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `googledocs`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `googledocs`\n3. If connection is not ACTIVE, follow the returned auth link to complete setup\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create a New Document\nUse `GOOGLEDOCS_CREATE_DOCUMENT` to create a new Google Doc with a title and initial text content.\n```\nTool: GOOGLEDOCS_CREATE_DOCUMENT\nParameters:\n  - title (required): Document filename\u002Ftitle\n  - text (required): Initial text content to insert into the document\n```\n\n### 2. Search for Documents\nUse `GOOGLEDOCS_SEARCH_DOCUMENTS` to find Google Docs by name, content, date, or sharing status.\n```\nTool: GOOGLEDOCS_SEARCH_DOCUMENTS\nParameters:\n  - query: Search query string\n  - max_results: Limit number of results\n  - modified_after \u002F created_after: Filter by date\n  - shared_with_me: Filter shared documents\n  - starred_only: Filter starred documents\n  - include_shared_drives: Search shared drives\n  - order_by: Sort results\n  - page_token: Pagination token\n```\n\n### 3. Update Document Content with Markdown\nUse `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` to replace the entire content of a document with Markdown-formatted text.\n```\nTool: GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN\nParameters:\n  - id (required): Document ID\n  - markdown (required): Markdown content to replace entire document body\n```\n\n### 4. Find and Replace Text\nUse `GOOGLEDOCS_REPLACE_ALL_TEXT` to replace all occurrences of a string in a document.\n```\nTool: GOOGLEDOCS_REPLACE_ALL_TEXT\nParameters:\n  - document_id (required): Target document ID\n  - find_text (required): Text to search for\n  - replace_text (required): Replacement text\n  - match_case: Case-sensitive matching (boolean)\n  - search_by_regex: Use regex for find_text\n  - tab_ids: Specific tabs to search\n```\n\n### 5. Export Document as PDF\nUse `GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF` to export a Google Doc to PDF format.\n```\nTool: GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF\nParameters:\n  - file_id (required): Document file ID\n  - filename: Output PDF filename\n```\n\n### 6. Copy a Document\nUse `GOOGLEDOCS_COPY_DOCUMENT` to duplicate an existing Google Doc.\n```\nTool: GOOGLEDOCS_COPY_DOCUMENT\nParameters:\n  - document_id (required): Source document ID to copy\n  - title: Title for the new copy\n  - include_shared_drives: Search shared drives for the source\n```\n\n## Common Patterns\n\n- **Search then edit**: Use `GOOGLEDOCS_SEARCH_DOCUMENTS` to find a document by name, then use the returned document ID with `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` or `GOOGLEDOCS_REPLACE_ALL_TEXT` to modify it.\n- **Create from template**: Use `GOOGLEDOCS_COPY_DOCUMENT` to duplicate a template, then `GOOGLEDOCS_REPLACE_ALL_TEXT` to fill in placeholder text.\n- **Retrieve then update**: Use `GOOGLEDOCS_GET_DOCUMENT_BY_ID` to read current content, then apply edits with `GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT`.\n- **Batch text insertion**: Use `GOOGLEDOCS_INSERT_TEXT_ACTION` to insert text at specific positions (by index) or append to the end of a document.\n- **Share documents**: Combine with `GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE` (googledrive toolkit) to share documents after creation.\n\n## Known Pitfalls\n\n- `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` replaces the **entire** document content -- it does not append. Use it for full rewrites only.\n- `GOOGLEDOCS_INSERT_TEXT_ACTION` requires a precise `insertion_index` (character position). Set `append_to_end: true` to safely add text at the end.\n- `GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT` requires constructing an `editDocs` request body with raw Google Docs API batch update requests -- consult the API documentation for the correct structure.\n- Document IDs and file IDs are the same value for Google Docs, but parameter names differ across tools (`id`, `document_id`, `file_id`).\n- `GOOGLEDOCS_SEARCH_DOCUMENTS` uses Google Drive search syntax for the `query` parameter (e.g., `name contains 'report'`).\n\n## Quick Reference\n| Action | Tool | Key Parameters |\n|--------|------|----------------|\n| Create document | `GOOGLEDOCS_CREATE_DOCUMENT` | `title`, `text` |\n| Search documents | `GOOGLEDOCS_SEARCH_DOCUMENTS` | `query`, `max_results`, `modified_after` |\n| Get document by ID | `GOOGLEDOCS_GET_DOCUMENT_BY_ID` | `id` |\n| Update with Markdown | `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` | `id`, `markdown` |\n| Programmatic edits | `GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT` | `document_id`, `editDocs` |\n| Insert text | `GOOGLEDOCS_INSERT_TEXT_ACTION` | `document_id`, `text_to_insert`, `insertion_index` |\n| Find and replace | `GOOGLEDOCS_REPLACE_ALL_TEXT` | `document_id`, `find_text`, `replace_text` |\n| Export as PDF | `GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF` | `file_id`, `filename` |\n| Copy document | `GOOGLEDOCS_COPY_DOCUMENT` | `document_id`, `title` |\n\n---\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n","# Google Docs Automation via Rube MCP\n\nCreate, edit, search, export, and manage Google Docs documents programmatically using Rube MCP (Composio).\n\n**Toolkit docs**: [composio.dev\u002Ftoolkits\u002Fgoogledocs](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fgoogledocs)\n\n## Prerequisites\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `googledocs`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `googledocs`\n3. If connection is not ACTIVE, follow the returned auth link to complete setup\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create a New Document\nUse `GOOGLEDOCS_CREATE_DOCUMENT` to create a new Google Doc with a title and initial text content.\n```\nTool: GOOGLEDOCS_CREATE_DOCUMENT\nParameters:\n  - title (required): Document filename\u002Ftitle\n  - text (required): Initial text content to insert into the document\n```\n\n### 2. Search for Documents\nUse `GOOGLEDOCS_SEARCH_DOCUMENTS` to find Google Docs by name, content, date, or sharing status.\n```\nTool: GOOGLEDOCS_SEARCH_DOCUMENTS\nParameters:\n  - query: Search query string\n  - max_results: Limit number of results\n  - modified_after \u002F created_after: Filter by date\n  - shared_with_me: Filter shared documents\n  - starred_only: Filter starred documents\n  - include_shared_drives: Search shared drives\n  - order_by: Sort results\n  - page_token: Pagination token\n```\n\n### 3. Update Document Content with Markdown\nUse `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` to replace the entire content of a document with Markdown-formatted text.\n```\nTool: GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN\nParameters:\n  - id (required): Document ID\n  - markdown (required): Markdown content to replace entire document body\n```\n\n### 4. Find and Replace Text\nUse `GOOGLEDOCS_REPLACE_ALL_TEXT` to replace all occurrences of a string in a document.\n```\nTool: GOOGLEDOCS_REPLACE_ALL_TEXT\nParameters:\n  - document_id (required): Target document ID\n  - find_text (required): Text to search for\n  - replace_text (required): Replacement text\n  - match_case: Case-sensitive matching (boolean)\n  - search_by_regex: Use regex for find_text\n  - tab_ids: Specific tabs to search\n```\n\n### 5. Export Document as PDF\nUse `GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF` to export a Google Doc to PDF format.\n```\nTool: GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF\nParameters:\n  - file_id (required): Document file ID\n  - filename: Output PDF filename\n```\n\n### 6. Copy a Document\nUse `GOOGLEDOCS_COPY_DOCUMENT` to duplicate an existing Google Doc.\n```\nTool: GOOGLEDOCS_COPY_DOCUMENT\nParameters:\n  - document_id (required): Source document ID to copy\n  - title: Title for the new copy\n  - include_shared_drives: Search shared drives for the source\n```\n\n## Common Patterns\n\n- **Search then edit**: Use `GOOGLEDOCS_SEARCH_DOCUMENTS` to find a document by name, then use the returned document ID with `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` or `GOOGLEDOCS_REPLACE_ALL_TEXT` to modify it.\n- **Create from template**: Use `GOOGLEDOCS_COPY_DOCUMENT` to duplicate a template, then `GOOGLEDOCS_REPLACE_ALL_TEXT` to fill in placeholder text.\n- **Retrieve then update**: Use `GOOGLEDOCS_GET_DOCUMENT_BY_ID` to read current content, then apply edits with `GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT`.\n- **Batch text insertion**: Use `GOOGLEDOCS_INSERT_TEXT_ACTION` to insert text at specific positions (by index) or append to the end of a document.\n- **Share documents**: Combine with `GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE` (googledrive toolkit) to share documents after creation.\n\n## Known Pitfalls\n\n- `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` replaces the **entire** document content -- it does not append. Use it for full rewrites only.\n- `GOOGLEDOCS_INSERT_TEXT_ACTION` requires a precise `insertion_index` (character position). Set `append_to_end: true` to safely add text at the end.\n- `GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT` requires constructing an `editDocs` request body with raw Google Docs API batch update requests -- consult the API documentation for the correct structure.\n- Document IDs and file IDs are the same value for Google Docs, but parameter names differ across tools (`id`, `document_id`, `file_id`).\n- `GOOGLEDOCS_SEARCH_DOCUMENTS` uses Google Drive search syntax for the `query` parameter (e.g., `name contains 'report'`).\n\n## Quick Reference\n| Action | Tool | Key Parameters |\n|--------|------|----------------|\n| Create document | `GOOGLEDOCS_CREATE_DOCUMENT` | `title`, `text` |\n| Search documents | `GOOGLEDOCS_SEARCH_DOCUMENTS` | `query`, `max_results`, `modified_after` |\n| Get document by ID | `GOOGLEDOCS_GET_DOCUMENT_BY_ID` | `id` |\n| Update with Markdown | `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` | `id`, `markdown` |\n| Programmatic edits | `GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT` | `document_id`, `editDocs` |\n| Insert text | `GOOGLEDOCS_INSERT_TEXT_ACTION` | `document_id`, `text_to_insert`, `insertion_index` |\n| Find and replace | `GOOGLEDOCS_REPLACE_ALL_TEXT` | `document_id`, `find_text`, `replace_text` |\n| Export as PDF | `GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF` | `file_id`, `filename` |\n| Copy document | `GOOGLEDOCS_COPY_DOCUMENT` | `document_id`, `title` |\n\n---\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n",{"name":5,"requires":52,"description":7},{"mcp":53},[54],"rube","master","dff58085da947e81e8418c922055644bf0082b1b","skills\u002Fdevelopment\u002Fcomposio-googledocs-automation","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills","https:\u002F\u002Fgithub.com\u002Freikiplanet","https:\u002F\u002Fwww.reiki-planet.com","Reiki Planet Game","2026-03-29 06:02:29",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add reikiplanet\u002Fdaoskills --skill googledocs-automation",{"tool":69,"command":70},"bunx","bunx skills add reikiplanet\u002Fdaoskills --skill googledocs-automation",{"tool":72,"command":73},"pnpm","pnpm dlx skills add reikiplanet\u002Fdaoskills --skill googledocs-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fdevelopment\u002Fcomposio-googledocs-automation\u002FSKILL.md",true,[],[78,104,116,131,151,174],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":47},"01M6G614JTEQJHPT8AKK3YQ18S","web-games","Web browser game development principles. Framework selection, WebGPU, optimization, PWA.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fweb-games\u002FSKILL.md",[],[85,86,87,88,89,90,91,92,35,93,94,95,96,97,98,99,100,101,102,103],"games","web games","web","grep","principles","selection","community","framework selection","write","read","pwa","game","web browser","game development","Optimization","framework","browser","development","webgpu",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":47},"01M6G611H2YGV0GZFP90D38ZMJ","vr-ar","VR\u002FAR development principles. Comfort, interaction, performance requirements.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fvr-ar\u002FSKILL.md",[],[111,112,102,113,114,91,35,93,94,88,115,89],"ar","vr ar","interaction","requirements","performance",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":47},"01M6G60XNMHAMV1SV0EJ1CX0AY","templates","Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Ftemplates\u002FSKILL.md",[],[118,123,124,125,126,127,91,128,94,129,130,88],"project scaffolding","From Scratch","tech","project","scaffolding","use","projects","applications",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":47},"01M6G60T0GATMK3Q5H8GDC1Z8S","wcag-audit-patterns","Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing ac...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fwcag-audit-patterns\u002FSKILL.md",[],[138,139,140,141,142,91,143,144,145,146,128,147,148,149,150],"wcag audit patterns","wcag audit","patterns","WCAG","audit","manual","with","automated testing","guidance","remediation","verification","accessibility","testing",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":47},"01M6G60PMCHW1FRZ63F931QK3R","vulnerability-scanner","Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fvulnerability-scanner\u002FSKILL.md",[],[158,159,160,161,162,163,164,165,91,94,88,166,89,167,168,169,170,171,172,173],"scanner","vulnerability scanner","vulnerability","prioritization","2025","mapping","chain","supply chain","Bash","analysis","risk","owasp","supply chain security","security","supply","advanced",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":47},"01M6G60JZBB8DK0W3DSG1WNMZK","threat-modeling-expert","Expert in threat modeling methodologies, security architecture review, and risk assessment. Masters STRIDE, PASTA, attack trees, and security requirement extraction. Use for security architecture r...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fthreat-modeling-expert\u002FSKILL.md",[],[181,182,183,184,185,186,187,188,171,128,189,190,191,91,192,193,194,168,195,196],"modeling","threat modeling expert","threat modeling","expert","threat","risk assessment","architecture review","architecture","security architecture review","trees","security architecture","security requirement extraction","assessment","extraction","review","stride"]