claude/skills/todoist-cli-skill/SKILL.md
--- name: todoist-cli-skill version: 1.0.5 description: Default task manager. Create, view, update, complete tasks in Todoist via `td`. Triggers: "add a task", "create a task for X", "remind me to", "follow up on", "track this deadline", "what's on my plate today", "what's due", "reschedule X", "mark X done", "what did I finish". Use proactively when the user commits to a future action (applied, submitted, promised a reply) needing a dated follow-up. Projects map to life areas (Personal Areas, P
npx skillsauth add kendreaditya/.config claude/skills/todoist-cli-skillInstall 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.
td)Uses the Official Todoist CLI tool for task management.
AI/LLM note (from the CLI itself): Use
td task add(nottd add) for structured task creation. Use--jsonor--ndjsonfor parseable output.
npm install -g @doist/todoist-cli
Get your API token at: https://todoist.com/app/settings/integrations/developer
td auth token "your-token"
# or
export TODOIST_API_TOKEN="your-token"
td today # Today + overdue
td upcoming # Next 7 days
td upcoming 14 # Next N days
td inbox # Inbox tasks
td completed # Completed today
td completed --since 2026-01-01 # Completed since date
REQUIRED FIELDS for every new task: Always include
--due,--priority,--project, and--duration. Never create a task without all four. If the user hasn't specified one, infer a sensible default (e.g.--priority p3,--duration 30m) or ask before creating.
Prefer td task add with structured flags for reliability:
# Minimum required pattern — all four fields every time:
td task add "Review PR" --due "today" --priority p1 --project "Work" --duration 1h
td task add "Call mom" --due "sunday" --priority p2 --project "Personal Areas" --duration 30m
td task add "Prep slides" --project "Work" --due "tomorrow" --priority p2 --duration 2h --section "Q1" --order 0
td task add "Subtask" --parent <ref> --due "today" --priority p3 --project "Work" --duration 15m
Quick add (natural language, for humans — avoid in automation):
td add "Buy milk tomorrow p1 #Shopping @errands"
td task list # All tasks
td task list --project "Work" # By project
td task list --priority p1 # By priority
td task list --label "urgent" # By label
td task list --due today # Due today
td task list --filter "p1 & today" # Raw Todoist filter query
td task list --json # JSON output
td task view <ref> # Task details
td view <todoist-url> # View any entity by URL
td task complete <ref> # Complete task
td task complete <ref> --forever # Complete recurring task permanently
td task uncomplete id:<id> # Reopen task (requires id:xxx)
td task update <ref> --due "next week" --priority p2
td task update <ref> --content "New title"
td task update <ref> --labels "a,b" # Replaces existing labels
td task move <ref> --project "Personal"
td task reschedule <ref> "next monday" # Preserves recurrence
td task delete <ref>
td project list
td project create --name "New Project"
td project view <ref>
td project update <ref> --name "Renamed"
td project archive <ref>
td project delete <ref> # Must have no uncompleted tasks
td section list <project>
td section create --project "Work" --name "Q2"
td section update <id> --name "Renamed"
td section delete <id>
td label list
td label create --name "urgent"
td label update <ref> --name "renamed"
td label delete <name>
td label view <ref> # View label + its tasks
td comment list <task-ref>
td comment add <task-ref> "Note about this task"
td comment add <task-ref> --project # Comment on project instead
td comment update <id> "Updated text"
td comment delete <id>
td reminder list <task-ref>
td reminder add <task-ref> --due "tomorrow 9am"
td reminder update <id> --due "friday 10am"
td reminder delete <id>
td activity # Recent activity log
td activity --type task --event completed --since 2026-03-01
td stats # Karma + productivity stats
User: "What do I have today?"
td today
User: "Add 'buy milk' to my tasks"
td task add "Buy milk" --due "today"
User: "Remind me to call the dentist tomorrow"
td task add "Call the dentist" --due "tomorrow"
User: "Mark the grocery task as done"
td task list --filter "search: grocery" --json # Find ref
td task complete <ref>
User: "What's on my work project?"
td task list --project "Work"
User: "Show my high priority tasks"
td task list --priority p1
User: "What did I complete this week?"
td completed --since 2026-03-10
<ref> can be a task name (fuzzy match), URL, or id:xxx--order 0 = top of list (differs from mjrussell's --order top)--json / --ndjson recommended for any programmatic parsing--full adds all fields to JSON output--accessible / TD_ACCESSIBLE=1 adds text labels to color-coded output (useful in non-TTY contexts)development
Search and read content from leetcode.com — problem catalog, daily challenge, full problem statements with hints and starter code, the Discuss forum (interview experiences, comp posts, layoff threads), and company question-list metadata. Read-only, no auth, no API key. Use when the user wants to look up a LeetCode problem by name/number/slug, see today's daily challenge, search Discuss for interview write-ups at a specific company (Google, Waymo, Meta, Amazon, etc.), browse a tag-filtered discuss feed, read a Discuss post + comments, or check what a LeetCode company list covers. Triggers — "lcsearch", "leetcode search", "search leetcode", "leetcode discuss", "leetcode problem", "daily leetcode", "interview discuss", "what's the leetcode for X", URLs containing leetcode.com/problems/, leetcode.com/discuss/, or leetcode.com/company/. Pair with the `interviewcoder` skill (structured leetcode-style writeups from 1point3acres) and `blind` (anonymous workplace chatter) for the same companies.
development
Terminal Spotify playback/search via spogo (preferred) or spotify_player.
development
Search and read posts from interviewcoder.co — a Next.js-fronted aggregator of technical-interview writeups (largely sourced from 1point3acres) tagged by company, position, stage (Phone Screen / OA / Onsite / etc.), period, job type, and structured leetcode-style questions. Use when the user wants real interview questions for a specific company, recent writeups from a hiring loop, leetcode-style problems with tags and difficulty, or to look up a specific interviewcoder.co URL. Read-only, no auth, no API key. Triggers — "interviewcoder", "interviewcoder.co", "interview questions at [company]", "what's been asked at [company] recently", "interview writeup", and URLs containing interviewcoder.co.
tools
Small Yahoo Finance CLI for ticker info + N-year stock returns. Use when the user asks about: stock price, market cap, sector/industry classification, dividend yield, P/E ratio, beta, 52-week range, N-year stock return, company description for a public company. Triggers: 'yfinance', 'yfin', 'stock price', 'market cap of', 'how much has X stock returned', 'sector for ticker', 'industry classification'. Pairs with the levels-fyi skill for cross-checking public/private status (levels gives ticker, yfin returns live data).