ワンクリックで
tasks
Tasks, to-dos, reminders, time-based alerts; create and manage. Requires daemon.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Tasks, to-dos, reminders, time-based alerts; create and manage. Requires daemon.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use for any Microsoft account, personal or work (Outlook.com, Hotmail, Live, Microsoft 365); preferred over email-client for Microsoft accounts. Graph-based mail (read/send/reply/forward, drafts, flag/categorize, move/archive, folders, attachments, block senders), calendar and meetings, Microsoft Teams (chats, channels, presence), and new-mail/Teams notifications. Requires daemon.
Browse, navigate, click, fill forms, screenshot, or scrape web pages with a stealth (Camoufox) browser.
Design judgment and UI copy for building Vesta dashboard widgets that feel considered rather than templated, within the fixed design system.
Use before building or modifying the user's dashboard: widgets, pages, layouts, custom UI. Understand what the user wants, design it, write a spec, then dispatch the dashboard-builder to build it.
Use when someone who doesn't have their own vesta asks what vesta is, how to get one, or hints they want in. Vesta is invite-only: you gatekeep and build desire through scarcity, draw out what they want, then sell vesta as indispensable to their goals and set them up end-to-end in chat. Not for the owner, who already has one.
Talk to vestad, the host daemon that runs this container. Register a background service to get a port, build public URLs, update vestad to the latest release, check its version, and read gateway logs. Use when a skill needs an inbound port or a shareable link, when the user asks to update Vesta, or when debugging gateway/container issues.
| name | tasks |
| description | Tasks, to-dos, reminders, time-based alerts; create and manage. Requires daemon. |
One CLI, one daemon, one SQLite DB. Tasks are what needs doing; reminders are nudges about when. The daemon does the tracking for you: it reminds you before a due date, forces a decision at the due time, and sends a daily digest of anything overdue or stale. Your job is to always resolve those notifications with one of the commands below, never to ignore them.
tasks add "Submit report" --priority high --due-in-hours 4
tasks add "Meeting prep" --due-datetime "2026-12-01T10:00:00" --timezone "Europe/London"
tasks list # pending tasks, overdue first
tasks done <id> # mark done
tasks postpone <id> --in-days 2 # new due date, measured from now
tasks search "report"
tasks get <id>
tasks update <id> --title "..." --priority low --status pending
tasks delete <id> # cascades to linked reminders
--due-in-minutes/--due-in-hours/--due-in-days (relative) or --due-datetime + --timezone (absolute, both required). --priority low/normal/high. --initial-metadata "..." attaches notes.postpone also takes --in-minutes/--in-hours or --at + --tz, and works on a task with no due date (gives it one).tasks get <id> --field status prints just that field (repeat --field for several, tab-separated). Valid fields: id, title, status, priority, due_date, created_at, completed_at, metadata_path, metadata. Prefer this over reading the metadata file when you need one value.list/search print compact tables (--show-completed to include done); add --json or --json-pretty for JSON.The message is the first argument to tasks remind; there is no create/add/set subcommand:
tasks remind "Call mom" --in-minutes 30
tasks remind "Meeting" --at "2026-12-01T10:00:00" --tz "Europe/London"
tasks remind "Check progress" --task <id> --in-hours 1
tasks remind "Standup" --recurring daily --at "2026-12-01T09:30:00" --tz "America/New_York"
tasks remind "Evening check-in" --recurring daily --at "2026-12-01T21:30:00" --tz "Europe/Rome" --fuzz-minutes 75
tasks remind "Weekdays 9am" --cron "0 9 * * 1-5" --tz "America/New_York"
tasks remind list [--task <id>]
tasks remind snooze <id> --in-hours 4 # push a one-shot back; works on already-fired ones too
tasks remind update <id> --message "..."
tasks remind delete <id>
--in-minutes/--in-hours/--in-days or --at + --tz. Always use the user's IANA timezone from MEMORY.md, never UTC.--recurring hourly|daily|weekly|monthly|yearly (all but hourly need --at + --tz), or --cron "min hour dom month dow" + --tz for anything else (standard cron: 0/7 = Sunday, ranges/lists/steps/names supported). Both keep their wall-clock time across DST.--fuzz-minutes N (recurring/cron only): each fire lands at a varying point within N minutes either side of the nominal time, so a routine feels natural instead of firing at 09:30:00 sharp every day. Translate vague times yourself: "late evening" is roughly --at ...T21:30:00 --fuzz-minutes 75. Use fuzz for human-facing rhythms, never for deadlines; it must fit within half the gap between fires.tasks done <id>, or tasks postpone <id> --in-days N, or tell the user you are dropping it and tasks delete <id>. Marking a task done without doing it is never an option.type=task_digest): one notification per day listing every overdue task and every task pending 2+ weeks with no due date, with the same three choices. It returns every day until the list is empty; work it down, don't acknowledge it.missed; missed recurring fires are skipped.DB ~/.tasks/tasks.db; metadata ~/.tasks/metadata/<id>.md; logs ~/.tasks/logs/daemon.log; PID ~/.tasks/serve.pid.
uv tool install --editable ~/agent/skills/tasks/cli
One daemon handles everything: task due-date monitoring, reminder scheduling, and the daily digest. --notifications-dir defaults to ~/agent/notifications; pass it only to override. Register with vestad to get a port (see vestad) and add this startup command to the ## Daemons section of ~/agent/skills/restart/SKILL.md:
running tasks || { PORT=$(~/agent/skills/vestad/scripts/register-service tasks) && screen -dmS tasks tasks serve --port $PORT; sleep 1; }
[User's common reminder types and preferences]