بنقرة واحدة
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 المهني
The user's chat screen in the Vesta app (web, desktop, mobile). Reply to `source=app-chat` notifications via `app-chat send`. Requires daemon.
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.
Browse, navigate, click, fill forms, screenshot, or scrape web pages with a stealth (Camoufox) browser.
Google-native REST APIs (Gmail, Google Calendar) for users who bring their own Google Cloud OAuth client (~/.google/credentials.json required). For everyday email and calendar prefer the email-client skill, which needs no Google Cloud project. Requires daemon.
WhatsApp messages, contacts, groups, and live voice calls (place/answer, talk in your own voice; not generic text/SMS). Use to message or call someone on WhatsApp.
Telegram: send/receive messages; reply to source=telegram notifications. Requires daemon.
| 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]