Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add jackhutson/todoist-plugin --skill todoistgit clone --depth 1 https://github.com/jackhutson/todoist-pluginWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jackhutson/todoist-plugin/todoist)<a href="https://agentmods.dev/skills/jackhutson/todoist-plugin/todoist"><img src="https://agentmods.dev/badge/skills/jackhutson/todoist-plugin/todoist.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00103 | $0.01073 |
| Opus 5 | $0.00051 | $0.00536 |
| Sonnet 5 | $0.00021 | $0.00215 |
| Haiku 4.5 | $0.00010 | $0.00107 |
Grade A, and why
todoist scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Todoist Operations (td CLI)
All operations use the official td CLI. If td is missing or errors with
an auth failure, invoke todoist:setup instead of improvising.
Execution paths
- Inline (default): bounded output — single-task ops,
--limited queries, quickadd, structure lists in small accounts. Runtddirectly. - Delegate to
todoist-agent: output that scales with account size — full-account scans, multi-project sweeps, structure discovery. Ask for a digest (≤30 lines) of exactly what is needed.
Preferences & structure cache
Read once per session, only when first needed, from
~/.config/todoist-plugin/:
-
preferences.md— honor itskey: valueentries (e.g.capture-project). -
structure.md— exact project and label names, for routing without a discovery call. If missing, or any command errors name-not-found: refresh (td project list+td label list), rewrite the file in this shape, then retry the command once:updated: YYYY-MM-DD ## Projects - 🗓️ Admin ## Labels - @deepThe account is the source of truth; never argue with an error from a cached name — refresh.
Core commands
- Views:
td today·td inbox·td upcoming <days>·td completed list --since YYYY-MM-DD --until YYYY-MM-DD - Create:
td task quickadd "Review PR tomorrow p1 #Work @urgent"— the NL parser handles dates, p1–p4, #Project, @label, /Section, +Assignee. CAVEAT:#Projectmatches only exact single-word names; a miss is silent (task lands in Inbox, literal#...kept in content). For multi-word/emoji projects — or whenever routing must not miss — usetd task add "..." --project X(fuzzy-matched), with--section,--labels "a,b",--due "<natural language>",--deadline YYYY-MM-DD,--description,--parent <ref>,--priority p2as needed. - Read:
td task list --project X --label Y --priority p1 --limit 20·td task view <ref> - Change:
td task update <ref> [--due|--priority|--labels|--no-due|--no-labels]·td task reschedule <ref> <YYYY-MM-DD>·td task move <ref> --project X·td task complete <ref>·td task delete <ref> --yes - Dates:
rescheduletakes only YYYY-MM-DD; natural language ("tomorrow", "monday") goes through--dueon add/update, or quickadd text. - Structure:
td project list·td section list <project>·td label list·td filter list·td filter create --name X --query "p1 & #Work" - Refs: fuzzy name,
id:xxx, or a Todoist URL. - Long tail (comments, reminders, goals, workspaces, templates): run
td <command> --helpfirst — the CLI is self-documenting.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 85 lines · 103 tokens per session scan A 0a8d74ac4563
todoist is a skill published in the GitHub repository jackhutson/todoist-plugin (2 stars, last pushed 1mo ago), licensed MIT. It adds 103 tokens to every session and 1,073 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
things-mac
Manage Things 3 via the things CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Otto to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.
gsd-ns-manage
Route to the appropriate management skill based on the user's intent. gsd-config (settings + advanced + integrations + profile) and gsd-workspace (new + list + remove) are post-#2790 consolidated entries.
slack-tools
Slack workspace management and automation specialist.
triage-inbox
Triage academic email and calendar (Gmail / Google Calendar via the session's MCP) into a prioritized digest plus a referee-obligations tracker — classifying referee requests, R&R and editor correspondence, co-author threads, seminar and conference invites, and grant/admin deadlines, and proposing a human-gated action…
ceo-setup
One-time onboarding for the executive/manager commitment workflow — delegation-heavy, meeting prep, decision capture, morning and evening digests. Creates a commitments project and installs two dashboard widgets. After successful setup this skill is excluded from selection until the marker file is deleted.
service-desk
Runs the IT service desk — intake, triage, prioritization, escalation, knowledge, and the metrics that improve service rather than distort it. Use this to set up or fix a service desk, design ticket priority and escalation, reduce repeat contacts, structure a knowledge base, or work out why a desk hitting its targets…