Manage Todoist roadmap execution for research programs. Use when tasks must be structured into multiple projects, labels standardized, milestone names normalized, due dates synchronized idempotently, or accidentally completed tasks restored.
Resources
1Install
npx skillscat add mseok/dot/todoist-roadmap-manager Install via the SkillsCat registry.
Todoist Roadmap Manager
Parse Inputs
Parse user roadmap entries into normalized records with:
project_nametask_namedue_date(YYYY-MM-DD)labels[]priority(1-4)description(optional)
Require explicit calendar dates for due dates when possible. If the user gives a relative expression (for example, "end of April"), confirm or apply a stated default and report the concrete date used.
Normalize Names
Normalize project, label, and task names as follows:
- Preserve project names exactly as provided by the user.
- Normalize labels to lowercase kebab-case.
- Default milestone tasks to
[Milestone] <name>unless the user provides an exact task title to keep.
Sync Idempotently
Execute idempotent sync in this order:
- List existing projects, labels, and tasks in target projects.
- Upsert projects by exact name match.
- Upsert labels by exact label string.
- For each normalized task record, match by
project_id + content. - Update matching tasks (
due_date,labels,priority,description). - Create tasks only when no match exists.
Never delete, close, or move tasks unless the user explicitly asks.
Recover Accidental Completion
Recover accidentally completed tasks with:
- Query completed tasks in the target project and recent window.
- Select only tasks that match the user recovery intent.
- Reopen selected tasks.
- Re-query active tasks and report restored IDs.
Prefer a bounded window first (for example, the last 30-90 days), then widen only if needed.
Use Todoist Tools in Sequence
Use tools in this sequence:
- Discover state:
get_projects_list,get_labels_list,get_tasks_list. - Create missing entities:
create_projects,create_labels. - Sync tasks:
create_tasksorupdate_tasks. - Recover by completion status:
get_completed_tasksthenreopen_tasks. - Verify:
get_tasks_listwith project filters and optional text search.
Return Change Log
Return a concise report with:
- Projects created or reused
- Labels created or reused
- Tasks created, updated, or reopened with IDs
- Explicit exclusions (for example, "NeurIPS not modified")
Match Trigger Phrases
Trigger this skill when requests include patterns such as:
- "Reflect these milestones in Todoist with proper tags."
- "Create separate projects and sync roadmap deadlines."
- "I completed tasks by mistake, restore them."