skills/todoist/SKILL.md
Todoist CLI (sachaos/todoist). Use when user mentions: todoist, tasks, todos, adding/listing/completing tasks, creating projects, filtering by date/priority/label, natural language task entry, recurring tasks, or task management workflows.
npx skillsauth add onmax/claude-config todoistInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CLI client for Todoist task manager (sachaos/todoist v0.23+).
# List all tasks
todoist list
todoist l
# Quick add with natural language
todoist quick 'Buy milk tomorrow #Shopping @errands p1'
todoist q 'Team meeting every Monday 2pm #Work'
# List with filters
todoist list --filter 'today & p1'
todoist list --filter '#Work & @urgent'
# Complete task
todoist close <task-id>
# Sync local cache
todoist sync
| Command | Alias | Usage |
|---------|-------|-------|
| list | l | Show all tasks |
| quick | q | Add task with natural language |
| add | a | Add task (structured) |
| close | c | Complete task |
| modify | m | Edit task |
| delete | d | Delete task |
| show | - | Task details |
| projects | - | List projects |
| add-project | ap | Create project |
| labels | - | List labels |
| sync | s | Update local cache |
When user requests to add a task, check if details are unclear or incomplete. Ask clarifying questions BEFORE creating the task:
Example: User: "Add task to research banks" You: "I can add that. To make it actionable, could you clarify:
Then create a well-formed task: "Research Danish bank accounts: easy online signup, lowest fees, foreigner-friendly"
Use todoist quick for natural language:
# Basic task
todoist q 'Write report'
# With project and labels
todoist q 'Email client #Work @email @urgent'
# With date and priority
todoist q 'Call dentist tomorrow at 2pm p1'
# Recurring task
todoist q 'Water plants every Monday #Home'
# All together
todoist q 'Review PRs every weekday 9am #Work @code p2'
Natural language symbols:
#Project - assign to project@label - add labels (multiple allowed)p1-p3 - priority (p1=highest, p4=none)tomorrow, next week, Jan 15, at 3pmevery Monday, every 2 weeks, dailyUse todoist add when quick fails with special characters:
todoist add 'Task name' --project-name 'Project' --priority 1 --date 'tomorrow'
Note: add has issues with hyphens in task names. Prefer quick.
Use --filter with todoist list:
--filter 'today' # Due today
--filter 'tomorrow'
--filter 'overdue' # or 'od'
--filter 'no date' # Unscheduled
--filter 'date: Jan 15' # Specific date
--filter 'date before: May 5' # Before date
--filter 'date after: May 5' # After date
--filter 'p1' # Priority 1 (highest)
--filter 'p2' # Priority 2
--filter 'p3' # Priority 3
--filter 'no priority' # No priority (p4)
--filter '#Project' # Specific project
--filter '##Project' # Project + subprojects
--filter '@label' # With label
--filter '@home*' # Wildcard labels
--filter 'no labels' # Without labels
--filter 'search: keyword' # Text search
--filter '(today | tomorrow) & p1' # OR + AND
--filter '#Work & @urgent & !@waiting' # NOT
--filter '(overdue | today) & (p1 | p2)' # Grouping
# High priority tasks due soon
todoist list --filter '(overdue | today | tomorrow) & (p1 | p2)'
# Work tasks excluding meetings
todoist list --filter '#Work & !search: meeting'
# Urgent home tasks
todoist list --filter '#Home & @urgent'
every)Next occurrence always on specific day:
todoist q 'Standup every weekday 9am #Work'
todoist q 'Review metrics every Monday 10am'
todoist q 'Pay rent every 1st #Finance'
todoist q 'Dentist every 6 months'
Patterns:
every day, dailyevery Monday, every Mon, Frievery 2 weeksevery 15th (day of month)every 3rd Fridayevery last day (of month)every!)Next occurrence from completion date:
todoist q 'Change air filter every! 3 months #Home'
todoist q 'Review goals every! 2 weeks'
Use every! when task should recur from when you complete it, not from scheduled date.
todoist q 'Daily standup every day starting next Monday'
todoist q 'Summer task every week ending Aug 31'
todoist q 'Trial period every day for 2 weeks'
today, tod, tomorrow, tom
next week, next month
Jan 27, 27 jan, 27/1
01/27/2026, 2026-01-27
end of month
today at 10 # 10am
tomorrow at 16:00
Fri @ 7pm
in the morning # 9am
in the afternoon # 12pm
in the evening # 7pm
in 5 days, +5 days
in 3 weeks
in 2 hours
# List projects
todoist projects
# Create project
todoist add-project 'Project Name'
todoist ap 'Work Stuff' --color 42
# List project tasks
todoist list --filter '#ProjectName'
# Check overdue and today's tasks
todoist list --filter '(overdue | today)'
# High priority items
todoist list --filter '(overdue | today) & (p1 | p2)'
# Next 7 days
todoist list --filter 'date before: +7 days'
# By project
todoist list --filter '#Work'
todoist list --filter '#Personal'
# Dump to inbox
todoist q 'Task name'
# With context
todoist q 'Task #Project @label p1'
# Complete task
todoist close <id>
# Delete task
todoist delete <id>
# Modify task
todoist modify <id> --content 'New name' --priority 1
todoist quick for adding tasks - handles natural language besttodoist sync after external changes (web/mobile)every! for maintenance tasks - recur from completion, not schedule#Project faster than --project-name(overdue | today) & p1 & #Work@home* matches @home-repair, @home-gardenAdd to any command:
--color # Colorize output
--namespace # Show parent tasks hierarchically
--indent # Indent subtasks
--project-namespace # Show parent project structure
--csv # CSV export
Location: ~/.config/todoist/config.json
{
"token": "your_api_token",
"color": "true"
}
Get token from: Todoist Settings → Integrations → Developer → API token
development
Iterative writing loop. Gemini 3 Pro writes, Claude Agent SDK reviews autonomously. Use for blog posts, docs, technical content needing quality iteration.
documentation
Conversational PRD writer - interview, scope, write, then create Linear/GitHub issue. Use when planning a new feature or product requirement.
tools
Design and implement web animations that feel natural and purposeful. Use this skill proactively whenever the user asks questions about animations, motion, easing, timing, duration, springs, transitions, or animation performance. This includes questions about how to animate specific UI elements, which easing to use, animation best practices, or accessibility considerations for motion. Triggers on: easing, ease-out, ease-in, ease-in-out, cubic-bezier, bounce, spring physics, keyframes, transform, opacity, fade, slide, scale, hover effects, microinteractions, Framer Motion, React Spring, GSAP, CSS transitions, entrance/exit animations, page transitions, stagger, will-change, GPU acceleration, prefers-reduced-motion, modal/dropdown/tooltip/popover/drawer animations, gesture animations, drag interactions, button press feel, feels janky, make it smooth.
development
Use when working with VueUse composables - track mouse position with useMouse, manage localStorage with useStorage, detect network status with useNetwork, debounce values with refDebounced, and access browser APIs reactively. Check VueUse before writing custom composables - most patterns already implemented.