{"id":"8acd0444-c3ec-4c1c-bf24-976fd1f2c5a6","shortId":"KxEyez","kind":"skill","title":"todoist-automation","tagline":"Automate Todoist task management, projects, sections, filtering, and bulk operations via Rube MCP (Composio). Always search tools first for current schemas.","description":"# Todoist Automation via Rube MCP\n\nAutomate Todoist operations including task creation and management, project organization, section management, filtering, and bulk task workflows through Composio's Todoist toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Todoist connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `todoist`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get 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.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `todoist`\n3. If connection is not ACTIVE, follow the returned auth link to complete Todoist OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create and Manage Tasks\n\n**When to use**: User wants to create, update, complete, reopen, or delete tasks\n\n**Tool sequence**:\n1. `TODOIST_GET_ALL_PROJECTS` - List projects to find the target project ID [Prerequisite]\n2. `TODOIST_GET_ALL_SECTIONS` - List sections within a project for task placement [Optional]\n3. `TODOIST_CREATE_TASK` - Create a single task with content, due date, priority, labels [Required]\n4. `TODOIST_BULK_CREATE_TASKS` - Create multiple tasks in one request [Alternative]\n5. `TODOIST_UPDATE_TASK` - Modify task properties (content, due date, priority, labels) [Optional]\n6. `TODOIST_CLOSE_TASK` - Mark a task as completed [Optional]\n7. `TODOIST_REOPEN_TASK` - Restore a previously completed task [Optional]\n8. `TODOIST_DELETE_TASK` - Permanently remove a task [Optional]\n\n**Key parameters for CREATE_TASK**:\n- `content`: Task title (supports markdown and hyperlinks)\n- `description`: Additional notes (do NOT put due dates here)\n- `project_id`: Alphanumeric project ID; omit to add to Inbox\n- `section_id`: Alphanumeric section ID for placement within a project\n- `parent_id`: Task ID for creating subtasks\n- `priority`: 1 (normal) to 4 (urgent) -- note: Todoist UI shows p1=urgent, API p4=urgent\n- `due_string`: Natural language date like `\"tomorrow at 3pm\"`, `\"every Friday at 9am\"`\n- `due_date`: Specific date `YYYY-MM-DD` format\n- `due_datetime`: Specific date+time in RFC3339 `YYYY-MM-DDTHH:mm:ssZ`\n- `labels`: Array of label name strings\n- `duration` + `duration_unit`: Task duration (e.g., `30` + `\"minute\"`)\n\n**Pitfalls**:\n- Only one `due_*` field can be used at a time (except `due_lang` which can accompany any)\n- Do NOT embed due dates in `content` or `description` -- use `due_string` field\n- Do NOT embed duration phrases like \"for 30 minutes\" in `due_string` -- use `duration` + `duration_unit`\n- `priority` in API: 1=normal, 4=urgent (opposite of Todoist UI display where p1=urgent)\n- Task IDs can be numeric or alphanumeric; use the format returned by the API\n- `CLOSE_TASK` marks complete; `DELETE_TASK` permanently removes -- they are different operations\n\n### 2. Manage Projects\n\n**When to use**: User wants to list, create, update, or inspect projects\n\n**Tool sequence**:\n1. `TODOIST_GET_ALL_PROJECTS` - List all projects with metadata [Required]\n2. `TODOIST_GET_PROJECT` - Get details for a specific project by ID [Optional]\n3. `TODOIST_CREATE_PROJECT` - Create a new project with name, color, view style [Optional]\n4. `TODOIST_UPDATE_PROJECT` - Modify project properties [Optional]\n\n**Key parameters**:\n- `name`: Project name (required for creation)\n- `color`: Todoist palette color (e.g., `\"blue\"`, `\"red\"`, `\"green\"`, `\"charcoal\"`)\n- `view_style`: `\"list\"` or `\"board\"` layout\n- `parent_id`: Parent project ID for creating sub-projects\n- `is_favorite` / `favorite`: Boolean to mark as favorite\n- `project_id`: Required for update and get operations\n\n**Pitfalls**:\n- Projects with similar names can lead to selecting the wrong project_id; always verify\n- `CREATE_PROJECT` uses `favorite` while `UPDATE_PROJECT` uses `is_favorite` -- different field names\n- Use the project `id` returned by API, not the `v2_id`, for downstream operations\n- Alphanumeric/URL-style project IDs may cause HTTP 400 in some tools; use numeric ID if available\n\n### 3. Manage Sections\n\n**When to use**: User wants to organize tasks within projects using sections\n\n**Tool sequence**:\n1. `TODOIST_GET_ALL_PROJECTS` - Find the target project ID [Prerequisite]\n2. `TODOIST_GET_ALL_SECTIONS` - List existing sections to avoid duplicates [Prerequisite]\n3. `TODOIST_CREATE_SECTION` - Create a new section in a project [Required]\n4. `TODOIST_UPDATE_SECTION` - Rename an existing section [Optional]\n5. `TODOIST_DELETE_SECTION` - Permanently remove a section [Optional]\n\n**Key parameters**:\n- `project_id`: Required -- the project to create the section in\n- `name`: Section name (required for creation)\n- `order`: Integer position within the project (lower values appear first)\n- `section_id`: Required for update and delete operations\n\n**Pitfalls**:\n- `CREATE_SECTION` requires `project_id` and `name` -- omitting project_id causes a 400 error\n- HTTP 400 \"project_id is invalid\" can occur if alphanumeric ID is used; prefer numeric ID\n- Deleting a section may move or regroup its tasks in non-obvious ways\n- Response may include both `id` and `v2_id`; store and reuse the correct identifier consistently\n- Always check existing sections first to avoid creating duplicates\n\n### 4. Search and Filter Tasks\n\n**When to use**: User wants to find tasks by criteria, view today's tasks, or get completed task history\n\n**Tool sequence**:\n1. `TODOIST_GET_ALL_TASKS` - Fetch incomplete tasks with optional filter query [Required]\n2. `TODOIST_GET_TASK` - Get full details of a specific task by ID [Optional]\n3. `TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE` - Retrieve completed tasks within a date range [Optional]\n4. `TODOIST_LIST_FILTERS` - List user's custom saved filters [Optional]\n\n**Key parameters for GET_ALL_TASKS**:\n- `filter`: Todoist filter syntax string\n  - Keywords: `today`, `tomorrow`, `overdue`, `no date`, `recurring`, `subtask`\n  - Priority: `p1` (urgent), `p2`, `p3`, `p4` (normal)\n  - Projects: `#ProjectName` (must exist in account)\n  - Labels: `@LabelName` (must exist in account)\n  - Date ranges: `7 days`, `-7 days`, `due before: YYYY-MM-DD`, `due after: YYYY-MM-DD`\n  - Search: `search: keyword` for content text search\n  - Operators: `&` (AND), `|` (OR), `!` (NOT)\n- `ids`: List of specific task IDs to retrieve\n\n**Key parameters for GET_COMPLETED_TASKS_BY_COMPLETION_DATE**:\n- `since`: Start date in RFC3339 format (e.g., `2024-01-01T00:00:00Z`)\n- `until`: End date in RFC3339 format\n- `project_id`, `section_id`, `parent_id`: Optional filters\n- `cursor`: Pagination cursor from previous response\n- `limit`: Max results per page (default 50)\n\n**Pitfalls**:\n- `GET_ALL_TASKS` returns ONLY incomplete tasks; use `GET_COMPLETED_TASKS_BY_COMPLETION_DATE` for completed ones\n- Filter terms must reference ACTUAL EXISTING entities; arbitrary text causes HTTP 400 errors\n- Do NOT use `completed`, `!completed`, or `completed after` in GET_ALL_TASKS filter -- causes 400 error\n- `GET_COMPLETED_TASKS_BY_COMPLETION_DATE` limits date range to approximately 3 months between `since` and `until`\n- Search uses `search: keyword` syntax within the filter, not a separate parameter\n\n### 5. Bulk Task Creation\n\n**When to use**: User wants to scaffold a project with multiple tasks at once\n\n**Tool sequence**:\n1. `TODOIST_GET_ALL_PROJECTS` - Find target project ID [Prerequisite]\n2. `TODOIST_GET_ALL_SECTIONS` - Find section IDs for task placement [Optional]\n3. `TODOIST_BULK_CREATE_TASKS` - Create multiple tasks in a single request [Required]\n\n**Key parameters**:\n- `tasks`: Array of task objects, each requiring at minimum `content`\n- Each task object supports: `content`, `description`, `project_id`, `section_id`, `parent_id`, `priority`, `labels`, `due` (object with `string`, `date`, or `datetime`), `duration`, `order`\n\n**Pitfalls**:\n- Each task in the array must have at least the `content` field\n- The `due` field in bulk create is an object with nested fields (`string`, `date`, `datetime`, `lang`) -- different structure from CREATE_TASK's flat fields\n- All tasks can target different projects/sections within the same batch\n\n## Common Patterns\n\n### ID Resolution\nAlways resolve human-readable names to IDs before operations:\n- **Project name -> Project ID**: `TODOIST_GET_ALL_PROJECTS`, match by `name` field\n- **Section name -> Section ID**: `TODOIST_GET_ALL_SECTIONS` with `project_id`\n- **Task content -> Task ID**: `TODOIST_GET_ALL_TASKS` with `filter` or `search: keyword`\n\n### Pagination\n- `TODOIST_GET_ALL_TASKS`: Returns all matching incomplete tasks (no pagination needed)\n- `TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE`: Uses cursor-based pagination; follow `cursor` from response until no more results\n- `TODOIST_GET_ALL_PROJECTS` and `TODOIST_GET_ALL_SECTIONS`: Return all results (no pagination)\n\n### Due Date Handling\n- Natural language: Use `due_string` (e.g., `\"tomorrow at 3pm\"`, `\"every Monday\"`)\n- Specific date: Use `due_date` in `YYYY-MM-DD` format\n- Specific datetime: Use `due_datetime` in RFC3339 format (`YYYY-MM-DDTHH:mm:ssZ`)\n- Only use ONE due field at a time (except `due_lang` which can accompany any)\n- Recurring tasks: Use natural language in `due_string` (e.g., `\"every Friday at 9am\"`)\n\n## Known Pitfalls\n\n### ID Formats\n- Task IDs can be numeric (`\"2995104339\"`) or alphanumeric (`\"6X4Vw2Hfmg73Q2XR\"`)\n- Project IDs similarly vary; prefer the format returned by the API\n- Some tools accept only numeric IDs; if 400 error occurs, try fetching the numeric `id` via GET_PROJECT\n- Response objects may contain both `id` and `v2_id`; use `id` for API operations\n\n### Priority Inversion\n- API priority: 1 = normal, 4 = urgent\n- Todoist UI display: p1 = urgent, p4 = normal\n- This is inverted; always clarify with the user which convention they mean\n\n### Filter Syntax\n- Filter terms must reference real entities in the user's account\n- `#NonExistentProject` or `@NonExistentLabel` will cause HTTP 400\n- Use `search: keyword` for text search, not bare keywords\n- Combine with `&` (AND), `|` (OR), `!` (NOT)\n- `completed` filters do NOT work on GET_ALL_TASKS endpoint\n\n### Rate Limits\n- Todoist API has rate limits; batch operations should use `BULK_CREATE_TASKS` where possible\n- Space out rapid sequential requests to avoid throttling\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List all projects | `TODOIST_GET_ALL_PROJECTS` | (none) |\n| Get project | `TODOIST_GET_PROJECT` | `project_id` |\n| Create project | `TODOIST_CREATE_PROJECT` | `name`, `color`, `view_style` |\n| Update project | `TODOIST_UPDATE_PROJECT` | `project_id`, `name`, `color` |\n| List sections | `TODOIST_GET_ALL_SECTIONS` | `project_id` |\n| Create section | `TODOIST_CREATE_SECTION` | `project_id`, `name`, `order` |\n| Update section | `TODOIST_UPDATE_SECTION` | `section_id`, `name` |\n| Delete section | `TODOIST_DELETE_SECTION` | `section_id` |\n| Get all tasks | `TODOIST_GET_ALL_TASKS` | `filter`, `ids` |\n| Get task | `TODOIST_GET_TASK` | `task_id` |\n| Create task | `TODOIST_CREATE_TASK` | `content`, `project_id`, `due_string`, `priority` |\n| Bulk create tasks | `TODOIST_BULK_CREATE_TASKS` | `tasks` (array) |\n| Update task | `TODOIST_UPDATE_TASK` | `task_id`, `content`, `due_string` |\n| Complete task | `TODOIST_CLOSE_TASK` | `task_id` |\n| Reopen task | `TODOIST_REOPEN_TASK` | `task_id` |\n| Delete task | `TODOIST_DELETE_TASK` | `task_id` |\n| Completed tasks | `TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE` | `since`, `until` |\n| List filters | `TODOIST_LIST_FILTERS` | `sync_token` |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["todoist","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-todoist-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/todoist-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34460 github stars · SKILL.md body (12,119 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T06:52:02.454Z","embedding":null,"createdAt":"2026-04-18T21:46:26.149Z","updatedAt":"2026-04-22T06:52:02.454Z","lastSeenAt":"2026-04-22T06:52:02.454Z","tsv":"'-01':990,991 '-7':940 '/mcp':90 '00':993 '00z':994 '1':110,157,177,323,436,491,660,844,1118,1459 '2':122,191,474,502,671,857,1128 '2024':989 '2995104339':1408 '3':130,205,515,643,683,871,1080,1140 '30':384,424 '3pm':345,1343 '4':145,220,326,438,529,695,818,887,1461 '400':634,762,765,1051,1067,1430,1501 '5':232,704,1098 '50':1021 '6':245 '6x4vw2hfmg73q2xr':1411 '7':255,938 '8':265 '9am':349,1398 'accept':1425 'accompani':402,1384 'account':929,935,1494 'action':1719 'activ':62,135,150 'actual':1044 'add':87,104,302 'addit':287 'alphanumer':297,307,454,773,1410 'alphanumeric/url-style':628 'altern':231 'alway':18,72,599,809,1239,1473 'api':100,334,435,461,620,1422,1453,1457,1529 'appear':739 'applic':1713 'approxim':1079 'arbitrari':1047 'array':373,1156,1193,1657 'ask':1757 'auth':139 'autom':3,4,26,30 'avail':61,115,642 'avoid':680,815,1548 'bare':1509 'base':1308 'batch':1234,1533 'blue':550 'board':558 'boolean':573 'boundari':1765 'bulk':12,44,222,1099,1142,1205,1537,1649,1653 'call':73,123 'caus':632,760,1049,1066,1499 'charcoal':553 'check':810 'clarif':1759 'clarifi':1474 'clear':1732 'client':97 'close':247,462,1671 'color':525,545,548,1578,1589 'combin':1511 'common':1235 'complet':142,170,253,262,465,839,874,877,880,977,980,1032,1035,1038,1056,1057,1059,1070,1073,1300,1303,1516,1668,1689,1693,1696 'composio':17,48 'configur':98 'confirm':117,146 'connect':57,64,68,126,132,147 'consist':808 'contain':1444 'content':214,239,279,410,958,1164,1169,1199,1273,1643,1665 'convent':1479 'core':155 'correct':806 'creat':158,168,207,209,223,225,277,320,484,517,519,566,601,685,687,721,750,816,1143,1145,1206,1220,1538,1572,1575,1598,1601,1638,1641,1650,1654 'creation':35,544,730,1101 'criteria':832,1768 'current':23,80 'cursor':1009,1011,1307,1311 'cursor-bas':1306 'custom':894 'date':216,241,293,341,351,353,362,408,878,884,914,936,981,984,997,1036,1074,1076,1183,1214,1304,1333,1347,1350,1697 'datetim':360,1185,1215,1358,1361 'day':939,941 'dd':357,947,953,1355 'ddthh':369,1368 'default':1020 'delet':173,267,466,706,747,780,1615,1618,1682,1685 'describ':1720,1736 'descript':286,412,1170 'detail':507,863 'differ':472,611,1217,1229 'display':444,1465 'downstream':626 'due':215,240,292,337,350,359,389,398,407,414,427,942,948,1179,1202,1332,1338,1349,1360,1374,1380,1392,1646,1666 'duplic':681,817 'durat':378,379,382,420,430,431,1186 'e.g':383,549,988,1340,1394 'emb':406,419 'end':996 'endpoint':106,1525 'entiti':1046,1489 'environ':1748 'environment-specif':1747 'error':763,1052,1068,1431 'everi':346,1344,1395 'except':397,1379 'execut':1715 'exist':677,701,811,927,933,1045 'expert':1753 'favorit':571,572,577,604,610 'fetch':849,1434 'field':390,416,612,1200,1203,1212,1224,1260,1375 'filter':10,42,821,854,890,896,904,906,1008,1040,1065,1093,1281,1482,1484,1517,1629,1701,1704 'find':185,665,829,1123,1133 'first':21,77,740,813 'flat':1223 'follow':136,1310 'format':358,457,987,1000,1356,1364,1402,1418 'friday':347,1396 'full':862 'get':79,84,179,193,493,504,506,584,662,673,838,846,859,861,873,901,976,1023,1031,1062,1069,1120,1130,1254,1266,1277,1287,1299,1319,1324,1439,1522,1561,1565,1568,1593,1622,1626,1631,1634,1692 'green':552 'handl':1334 'histori':841 'http':633,764,1050,1500 'human':1242 'human-read':1241 'hyperlink':285 'id':189,296,299,306,309,316,318,449,513,561,564,579,598,617,624,630,640,669,716,742,754,759,767,774,779,798,801,869,965,970,1002,1004,1006,1126,1135,1172,1174,1176,1237,1246,1252,1264,1271,1275,1401,1404,1413,1428,1437,1446,1449,1451,1571,1587,1597,1604,1613,1621,1630,1637,1645,1664,1674,1681,1688 'identifi':807 'inbox':304 'includ':33,796 'incomplet':850,1028,1293 'input':1762 'inspect':487 'integ':732 'invalid':769 'invers':1456 'invert':1472 'key':101,274,537,713,898,973,1153,1555 'keyword':909,956,1089,1284,1504,1510 'known':1399 'label':218,243,372,375,930,1178 'labelnam':931 'lang':399,1216,1381 'languag':340,1336,1390 'layout':559 'lead':592 'least':1197 'like':342,422 'limit':1015,1075,1527,1532,1724 'link':140 'list':182,196,483,496,556,676,889,891,966,1557,1590,1700,1703 'lower':737 'manag':7,37,41,67,125,160,475,644 'mark':249,464,575 'markdown':283 'match':1257,1292,1733 'max':1016 'may':631,783,795,1443 'mcp':16,29,54,86,93,113 'mean':1481 'metadata':500 'minimum':1163 'minut':385,425 'miss':1770 'mm':356,368,370,946,952,1354,1367,1369 'modifi':236,533 'monday':1345 'month':1081 'move':784 'multipl':226,1112,1146 'must':55,926,932,1042,1194,1486 'name':376,524,539,541,590,613,725,727,756,1244,1250,1259,1262,1577,1588,1605,1614 'natur':339,1335,1389 'need':102,1297 'nest':1211 'new':521,689 'non':791 'non-obvi':790 'none':1564 'nonexistentlabel':1497 'nonexistentproject':1495 'normal':324,437,923,1460,1469 'note':288,328 'numer':452,639,778,1407,1427,1436 'oauth':144 'object':1159,1167,1180,1209,1442 'obvious':792 'occur':771,1432 'omit':300,757 'one':229,388,1039,1373 'oper':13,32,473,585,627,748,961,1248,1454,1534 'opposit':440 'option':204,244,254,264,273,514,528,536,703,712,853,870,886,897,1007,1139 'order':731,1187,1606 'organ':39,652 'output':1742 'overdu':912 'overview':1723 'p1':332,446,918,1466 'p2':920 'p3':921 'p4':335,922,1468 'page':1019 'pagin':1010,1285,1296,1309,1331 'palett':547 'param':1556 'paramet':275,538,714,899,974,1097,1154 'parent':315,560,562,1005,1175 'pattern':1236 'per':1018 'perman':269,468,708 'permiss':1763 'phrase':421 'pitfal':386,586,749,1022,1188,1400 'placement':203,311,1138 'posit':733 'possibl':1541 'prefer':777,1416 'prerequisit':52,190,670,682,1127 'previous':261,1013 'prioriti':217,242,322,433,917,1177,1455,1458,1648 'project':8,38,181,183,188,200,295,298,314,476,488,495,498,505,511,518,522,532,534,540,563,569,578,587,597,602,607,616,629,655,664,668,693,715,719,736,753,758,766,924,1001,1110,1122,1125,1171,1249,1251,1256,1270,1321,1412,1440,1559,1563,1566,1569,1570,1573,1576,1582,1585,1586,1596,1603,1644 'projectnam':925 'projects/sections':1230 'properti':238,535 'put':291 'queri':855 'quick':1550 'rang':885,937,1077 'rapid':1544 'rate':1526,1531 'readabl':1243 'real':1488 'recur':915,1386 'red':551 'refer':1043,1487,1551 'regroup':786 'remov':270,469,709 'renam':699 'reopen':171,257,1675,1678 'request':230,1151,1546 'requir':219,501,542,580,694,717,728,743,752,856,1152,1161,1761 'resolut':1238 'resolv':1240 'respond':121 'respons':794,1014,1313,1441 'restor':259 'result':1017,1317,1329 'retriev':879,972 'return':138,458,618,1026,1290,1327,1419 'reus':804 'review':1754 'rfc3339':365,986,999,1363 'rube':15,28,53,58,66,74,85,112,118,124 'rube.app':89 'rube.app/mcp':88 'run':152 'safeti':1764 'save':895 'scaffold':1108 'schema':24,82 'scope':1735 'search':19,59,75,119,819,954,955,960,1086,1088,1283,1503,1507 'section':9,40,195,197,305,308,645,657,675,678,686,690,698,702,707,711,723,726,741,751,782,812,1003,1132,1134,1173,1261,1263,1268,1326,1591,1595,1599,1602,1608,1611,1612,1616,1619,1620 'select':594 'separ':1096 'sequenc':176,490,659,843,1117 'sequenti':1545 'server':94 'setup':83 'show':149,331 'similar':589,1414 'sinc':982,1083,1698 'singl':211,1150 'skill':1711,1727 'skill-todoist-automation' 'slug':1554 'source-sickn33' 'space':1542 'specif':352,361,510,866,968,1346,1357,1749 'ssz':371,1370 'start':983 'status':148 'stop':1755 'store':802 'string':338,377,415,428,908,1182,1213,1339,1393,1647,1667 'structur':1218 'style':527,555,1580 'sub':568 'sub-project':567 'substitut':1745 'subtask':321,916 'success':1767 'support':282,1168 'sync':1705 'syntax':907,1090,1483 't00':992 'target':187,667,1124,1228 'task':6,34,45,161,174,202,208,212,224,227,235,237,248,251,258,263,268,272,278,280,317,381,448,463,467,653,788,822,830,836,840,848,851,860,867,875,881,903,969,978,1025,1029,1033,1064,1071,1100,1113,1137,1144,1147,1155,1158,1166,1190,1221,1226,1272,1274,1279,1289,1294,1301,1387,1403,1524,1539,1552,1624,1628,1632,1635,1636,1639,1642,1651,1655,1656,1659,1662,1663,1669,1672,1673,1676,1679,1680,1683,1686,1687,1690,1694,1731 'term':1041,1485 'test':1751 'text':959,1048,1506 'throttl':1549 'time':363,396,1378 'titl':281 'today':834,910 'todoist':2,5,25,31,50,63,71,129,143,178,192,206,221,233,246,256,266,329,442,492,503,516,530,546,661,672,684,696,705,845,858,872,888,905,1119,1129,1141,1253,1265,1276,1286,1298,1318,1323,1463,1528,1560,1567,1574,1583,1592,1600,1609,1617,1625,1633,1640,1652,1660,1670,1677,1684,1691,1702 'todoist-autom':1 'token':1706 'tomorrow':343,911,1341 'tool':20,60,76,81,120,175,489,637,658,842,1116,1424,1553 'toolkit':51,70,128 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1740 'tri':1433 'ui':330,443,1464 'unit':380,432 'updat':169,234,485,531,582,606,697,745,1581,1584,1607,1610,1658,1661 'urgent':327,333,336,439,447,919,1462,1467 'use':164,393,413,429,455,479,603,608,614,638,648,656,776,825,1030,1055,1087,1104,1305,1337,1348,1359,1372,1388,1450,1502,1536,1709,1725 'user':165,480,649,826,892,1105,1477,1492 'v2':623,800,1448 'valid':1750 'valu':738 'vari':1415 'verifi':111,600 'via':14,27,65,1438 'view':526,554,833,1579 'want':166,481,650,827,1106 'way':793 'within':198,312,654,734,882,1091,1231 'work':109,1520 'workflow':46,154,156,1717 'wrong':596 'yyyi':355,367,945,951,1353,1366 'yyyy-mm-dd':354,944,950,1352 'yyyy-mm-ddthh':366,1365","prices":[{"id":"3bd7f2c0-dcd3-4528-a042-1907b745183e","listingId":"8acd0444-c3ec-4c1c-bf24-976fd1f2c5a6","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:46:26.149Z"}],"sources":[{"listingId":"8acd0444-c3ec-4c1c-bf24-976fd1f2c5a6","source":"github","sourceId":"sickn33/antigravity-awesome-skills/todoist-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/todoist-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:46:26.149Z","lastSeenAt":"2026-04-22T06:52:02.454Z"}],"details":{"listingId":"8acd0444-c3ec-4c1c-bf24-976fd1f2c5a6","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"todoist-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34460,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-22T06:40:00Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"d4e7bdfa1059a138f4c042c35e6581ecd4f6b2ba","skill_md_path":"skills/todoist-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/todoist-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"todoist-automation","description":"Automate Todoist task management, projects, sections, filtering, and bulk operations via Rube MCP (Composio). Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/todoist-automation"},"updatedAt":"2026-04-22T06:52:02.454Z"}}