Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Notion tasks via Rube MCP (Composio): pages, databases, blocks, comments, users. Always search tools first for current schemas.
.claude/skills/notion-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-22 | ✗→✓ | ▲ Improved | — | — |
| case-19 | ✗→✓ | ▲ Improved | — | — |
| case-18 | ✗→✓ | ▲ Improved | — | — |
| case-15 | ✗→✓ | ▲ Improved | — | — |
| case-06 | ✗→✓ | ▲ Improved | — | — |
Automate Notion operations through Composio's Notion toolkit via Rube MCP.
RUBE_MANAGE_CONNECTIONS with toolkit notionRUBE_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 notionWhen to use: User wants to create, update, or archive Notion pages
Tool sequence:
NOTION_SEARCH_NOTION_PAGE - Find parent page or existing page Prerequisite]NOTION_CREATE_NOTION_PAGE - Create a new page under a parent Optional]NOTION_RETRIEVE_PAGE - Get page metadata/properties Optional]NOTION_UPDATE_PAGE - Update page properties, title, icon, cover Optional]NOTION_ARCHIVE_NOTION_PAGE - Soft-delete (archive) a page Optional]Key parameters:
query: Search text for SEARCH_NOTION_PAGEparent_id: Parent page or database IDpage_id: Page ID for retrieval/update/archiveproperties: Page property values matching parent schemaPitfalls:
When to use: User wants to query database rows, insert entries, or update records
Tool sequence:
NOTION_SEARCH_NOTION_PAGE - Find the database by name Prerequisite]NOTION_FETCH_DATABASE - Inspect schema and properties Prerequisite]NOTION_QUERY_DATABASE / NOTION_QUERY_DATABASE_WITH_FILTER - Query rows Required]NOTION_INSERT_ROW_DATABASE - Add new entries Optional]NOTION_UPDATE_ROW_DATABASE - Update existing entries Optional]Key parameters:
database_id: Database ID (from search or URL)filter: Filter object matching Notion filter syntaxsorts: Array of sort objectsstart_cursor: Pagination cursor from previous responseproperties: Property values matching database schema for inserts/updatesPitfalls:
When to use: User wants to read, append, or modify content blocks in a page
Tool sequence:
NOTION_FETCH_BLOCK_CONTENTS - Read child blocks of a page Required]NOTION_ADD_MULTIPLE_PAGE_CONTENT - Append blocks to a page Optional]NOTION_APPEND_TEXT_BLOCKS - Append text-only blocks Optional]NOTION_REPLACE_PAGE_CONTENT - Replace all page content Optional]NOTION_DELETE_BLOCK - Remove a specific block Optional]Key parameters:
block_id / page_id: Target page or block IDcontent_blocks: Array of block objects (NOT child_blocks)text: Plain text content for APPEND_TEXT_BLOCKSPitfalls:
content_blocks parameter, NOT child_blocks -- the latter fails validationWhen to use: User wants to create databases or modify their structure
Tool sequence:
NOTION_FETCH_DATABASE - Inspect current schema Prerequisite]NOTION_CREATE_DATABASE - Create a new database Optional]NOTION_UPDATE_SCHEMA_DATABASE - Modify database properties Optional]Key parameters:
parent_id: Parent page ID for new databasestitle: Database titleproperties: Property definitions with types and optionsdatabase_id: Database ID for schema updatesPitfalls:
When to use: User wants to list workspace users or manage comments on pages
Tool sequence:
NOTION_LIST_USERS - List all workspace users Optional]NOTION_GET_ABOUT_ME - Get current authenticated user Optional]NOTION_CREATE_COMMENT - Add a comment to a page Optional]NOTION_FETCH_COMMENTS - List comments on a page Optional]Key parameters:
page_id: Page ID for comments (also called discussion_id)rich_text: Comment content as rich text arrayPitfalls:
Page/Database name -> ID:
1. Call NOTION_SEARCH_NOTION_PAGE with query=name
2. Paginate with has_more/next_cursor until found
3. Extract id from matching resultDatabase schema inspection:
1. Call NOTION_FETCH_DATABASE with database_id
2. Extract properties object for field names and types
3. Use exact property names in queries and insertspage_size for results per page (max 100)has_more booleanstart_cursor or next_cursor in next requesthas_more is falseSingle filter:
json{"property": "Status", "select": {"equals": "Done"}}
Compound filter:
json{"and": [ {"property": "Status", "select": {"equals": "In Progress"}}, {"property": "Assignee", "people": {"contains": "user-id"}} ]}
Integration Sharing:
Property Types:
Response Parsing:
data_preview or data.results| Task | Tool Slug | Key Params | |------|-----------|------------| | Search pages/databases | NOTION_SEARCH_NOTION_PAGE | query | | Create page | NOTION_CREATE_NOTION_PAGE | parent_id, properties | | Get page metadata | NOTION_RETRIEVE_PAGE | page_id | | Update page | NOTION_UPDATE_PAGE | page_id, properties | | Archive page | NOTION_ARCHIVE_NOTION_PAGE | page_id | | Duplicate page | NOTION_DUPLICATE_PAGE | page_id | | Get page blocks | NOTION_FETCH_BLOCK_CONTENTS | block_id | | Append blocks | NOTION_ADD_MULTIPLE_PAGE_CONTENT | page_id, content_blocks | | Append text | NOTION_APPEND_TEXT_BLOCKS | page_id, text | | Replace content | NOTION_REPLACE_PAGE_CONTENT | page_id, content_blocks | | Delete block | NOTION_DELETE_BLOCK | block_id | | Query database | NOTION_QUERY_DATABASE | database_id, filter, sorts | | Query with filter | NOTION_QUERY_DATABASE_WITH_FILTER | database_id, filter | | Insert row | NOTION_INSERT_ROW_DATABASE | database_id, properties | | Update row | NOTION_UPDATE_ROW_DATABASE | page_id, properties | | Get database schema | NOTION_FETCH_DATABASE | database_id | | Create database | NOTION_CREATE_DATABASE | parent_id, title, properties | | Update schema | NOTION_UPDATE_SCHEMA_DATABASE | database_id, properties | | List users | NOTION_LIST_USERS | (none) | | Create comment | NOTION_CREATE_COMMENT | page_id, rich_text | | List comments | NOTION_FETCH_COMMENTS | page_id |
This skill is applicable to execute the workflow or actions described in the overview.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-24 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-25 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
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. 25 cases were attempted, and 19 counted toward the lift figure. The other 6 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 +32 percentage points is the difference between those two pass rates over the 19 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.