Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Google Docs tasks via Rube MCP (Composio): create, edit, search, export, copy, and update documents. Always search tools first for current schemas.
.claude/skills/composiohq-googledocs-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 152% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 206% | 0% |
Create, edit, search, export, and manage Google Docs documents programmatically using Rube MCP (Composio).
Toolkit docs: composio.dev/toolkits/googledocs
RUBE_MANAGE_CONNECTIONS with toolkit googledocsRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit googledocsUse GOOGLEDOCS_CREATE_DOCUMENT to create a new Google Doc with a title and initial text content.
Tool: GOOGLEDOCS_CREATE_DOCUMENT
Parameters:
- title (required): Document filename/title
- text (required): Initial text content to insert into the documentUse GOOGLEDOCS_SEARCH_DOCUMENTS to find Google Docs by name, content, date, or sharing status.
Tool: GOOGLEDOCS_SEARCH_DOCUMENTS
Parameters:
- query: Search query string
- max_results: Limit number of results
- modified_after / created_after: Filter by date
- shared_with_me: Filter shared documents
- starred_only: Filter starred documents
- include_shared_drives: Search shared drives
- order_by: Sort results
- page_token: Pagination tokenUse GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN to replace the entire content of a document with Markdown-formatted text.
Tool: GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN
Parameters:
- id (required): Document ID
- markdown (required): Markdown content to replace entire document bodyUse GOOGLEDOCS_REPLACE_ALL_TEXT to replace all occurrences of a string in a document.
Tool: GOOGLEDOCS_REPLACE_ALL_TEXT
Parameters:
- document_id (required): Target document ID
- find_text (required): Text to search for
- replace_text (required): Replacement text
- match_case: Case-sensitive matching (boolean)
- search_by_regex: Use regex for find_text
- tab_ids: Specific tabs to searchUse GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF to export a Google Doc to PDF format.
Tool: GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF
Parameters:
- file_id (required): Document file ID
- filename: Output PDF filenameUse GOOGLEDOCS_COPY_DOCUMENT to duplicate an existing Google Doc.
Tool: GOOGLEDOCS_COPY_DOCUMENT
Parameters:
- document_id (required): Source document ID to copy
- title: Title for the new copy
- include_shared_drives: Search shared drives for the sourceGOOGLEDOCS_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.GOOGLEDOCS_COPY_DOCUMENT to duplicate a template, then GOOGLEDOCS_REPLACE_ALL_TEXT to fill in placeholder text.GOOGLEDOCS_GET_DOCUMENT_BY_ID to read current content, then apply edits with GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT.GOOGLEDOCS_INSERT_TEXT_ACTION to insert text at specific positions (by index) or append to the end of a document.GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE (googledrive toolkit) to share documents after creation.GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN replaces the entire document content -- it does not append. Use it for full rewrites only.GOOGLEDOCS_INSERT_TEXT_ACTION requires a precise insertion_index (character position). Set append_to_end: true to safely add text at the end.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.id, document_id, file_id).GOOGLEDOCS_SEARCH_DOCUMENTS uses Google Drive search syntax for the query parameter (e.g., name contains 'report').| Action | Tool | Key Parameters | |--------|------|----------------| | Create document | GOOGLEDOCS_CREATE_DOCUMENT | title, text | | Search documents | GOOGLEDOCS_SEARCH_DOCUMENTS | query, max_results, modified_after | | Get document by ID | GOOGLEDOCS_GET_DOCUMENT_BY_ID | id | | Update with Markdown | GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN | id, markdown | | Programmatic edits | GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT | document_id, editDocs | | Insert text | GOOGLEDOCS_INSERT_TEXT_ACTION | document_id, text_to_insert, insertion_index | | Find and replace | GOOGLEDOCS_REPLACE_ALL_TEXT | document_id, find_text, replace_text | | Export as PDF | GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF | file_id, filename | | Copy document | GOOGLEDOCS_COPY_DOCUMENT | document_id, title |
Powered by Composio
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 6,373 | 2,208 | -65% | 1 | 1 | 0% | 1,189 | 1,844 | +55% | 0 | 0 | — |
case-02 | fail→fail | 4,509 | 2,969 | -34% | 1 | 1 | 0% | 705 | 1,936 | +175% | 0 | 0 | — |
case-03 | fail→fail | 7,246 | 5,457 | -25% | 1 | 1 | 0% | 1,357 | 1,892 | +39% | 0 | 0 | — |
case-04 | fail→pass | 5,875 | 4,162 | -29% | 1 | 1 | 0% | 1,182 | 2,377 | +101% | 0 | 0 | — |
case-05 | fail→pass | 8,930 | 2,682 | -70% | 1 | 1 | 0% | 1,937 | 2,202 | +14% | 0 | 0 | — |
case-06 | fail→pass | 7,090 | 2,890 | -59% | 1 | 1 | 0% | 1,494 | 2,230 | +49% | 0 | 0 | — |
case-07 | pass→pass | 3,647 | 2,785 | -24% | 1 | 1 | 0% | 663 | 2,067 | +212% | 0 | 0 | — |
case-08 | fail→pass | 4,262 | 2,373 | -44% | 1 | 1 | 0% | 822 | 2,072 | +152% | 0 | 0 | — |
case-09 | fail→fail | 6,065 | 3,138 | -48% | 1 | 1 | 0% | 1,085 | 2,191 | +102% | 0 | 0 | — |
case-10 | fail→pass | 4,561 | 5,409 | +19% | 1 | 1 | 0% | 925 | 2,826 | +206% | 0 | 0 | — |
case-11 | fail→fail | 5,287 | 3,463 | -34% | 1 | 1 | 0% | 1,134 | 2,258 | +99% | 0 | 0 | — |
case-12 | fail→fail | 4,351 | 2,511 | -42% | 1 | 1 | 0% | 755 | 2,051 | +172% | 0 | 0 | — |
case-13 | fail→pass | 13,770 | 2,211 | -84% | 1 | 1 | 0% | 2,478 | 2,006 | -19% | 0 | 0 | — |
case-14 | fail→pass | 3,229 | 3,521 | +9% | 1 | 1 | 0% | 656 | 2,230 | +240% | 0 | 0 | — |
case-15 | fail→pass | 6,630 | 1,882 | -72% | 1 | 1 | 0% | 1,258 | 1,953 | +55% | 0 | 0 | — |
case-16 | fail→pass | 4,322 | 2,100 | -51% | 1 | 1 | 0% | 704 | 1,956 | +178% | 0 | 0 | — |
case-17 | pass→pass | 5,226 | 2,182 | -58% | 1 | 1 | 0% | 1,003 | 2,036 | +103% | 0 | 0 | — |
case-18 | fail→pass | 3,068 | 2,531 | -18% | 1 | 1 | 0% | 605 | 2,029 | +235% | 0 | 0 | — |
case-19 | fail→pass | 4,898 | 2,415 | -51% | 1 | 1 | 0% | 861 | 2,054 | +139% | 0 | 0 | — |
case-20 | fail→pass | 8,568 | 5,358 | -37% | 1 | 1 | 0% | 1,796 | 2,651 | +48% | 0 | 0 | — |
case-21 | pass→pass | 7,492 | 6,322 | -16% | 1 | 1 | 0% | 1,276 | 2,731 | +114% | 0 | 0 | — |
case-22 | pass→pass | 4,515 | 4,300 | -5% | 1 | 1 | 0% | 900 | 2,525 | +181% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.