---
name: scatty
description: Use when the user asks about their tasks, to-dos, agenda/calendar, notes, quick reminders or people in Scatty, or wants to plan their day, through the Scatty MCP server.
---

# Scatty

Scatty is an ADHD-friendly planner ("uma coisa por vez"). The Scatty MCP server (`https://scatty-api.guilherme-dea.workers.dev/mcp`) gives you the user's tasks (with steps and lists), calendar (Google accounts + iPhone), notes, quick reminders and people. Docs: https://scatty.app/mcp/

## How to work

1. **Start with `get_today`** whenever the question is about today, "what now", or planning. It returns events, fixed-time anchors, open tasks, upcoming dates and quick reminders in one call. For "what should I do now", use `get_now`: it picks one task.
2. **Times:** send ISO 8601. Without an offset it is read in the user's timezone (e.g. `2026-11-02T15:30`); a bare date is local midnight. Answers come back in ISO with the offset. All-day events use dates, end exclusive.
3. **Find before you change:** get ids from `list_tasks`, `list_events`, `list_notes`, etc. Never invent ids. Prefer `update_*` over deleting and recreating.
4. **Confirm before deleting** anything (`delete_*`), and before changing events with guests.
5. **Keep it light.** Answer short, show one thing at a time, and don't dump long lists unless asked. Never shame about overdue tasks.

## Tasks

- `create_task`: `title` is enough. Use `scheduledAt` only for a real fixed time ("tem horário": becomes an anchor in the day, can't be postponed near the time); otherwise `dueAt`. `kind: "commitment"` is for small but hard things ("ligar para a mãe"). `recurrence` for routines (daily / weekly with `weekdays` 0=Sunday / monthly with `day` / interval in `days`), `fixed: true` for routines at a fixed time. Priority: high = Alta, normal = Média, low = Baixa, none = A fazer; omit it unless the user says.
- `update_task` changes only what is sent. `status: "done"` (or `complete_task`) completes; a recurring task moves to its next occurrence. `snooze: true` postpones, with limits: commitments get one short snooze, and fixed-time tasks can't be snoozed within 15 minutes. If the tool refuses, tell the user why instead of forcing.
- Big or vague task? Break it with `add_step` into small concrete steps (each ideally ≤ 25 min, with a clear "done when"). `get_task` lists the steps; `update_step` with `status: "done"`/`"dropped"`.
- `delete_task` archives the task.

## Calendar

- The user may have several Google accounts. `list_calendars` shows each account (email) with its calendars; every event from `list_events` carries `account`, `calendar` and `provider`.
- When the user names an account or calendar ("na agenda do trabalho", "no gv@…"), filter by it. When creating an event and they have more than one account, **ask which one** unless it's obvious; without `accountId`/`calendarId` it goes to the primary calendar of the first account.
- `update_event` / `delete_event` need the ids from `list_events` (`accountId`, `calendarId`, `eventId`). iPhone events (`provider: "apple"`) also need `occurrenceStart`; their edits reach the iPhone the next time the app opens there, and they can only be deleted on the iPhone.
- `list_events` covers at most 6 weeks per call (default: next 7 days).
- Pessoal/Trabalho: tasks and events carry `area` (`personal`, `work` or null = sem tag). Events inherit it from their Google account or iPhone calendar (`set_calendar_area`). `get_today`, `list_tasks` and `list_events` take `area` to see one side only (untagged items show in both). When the user is clearly talking about work or personal life, set `area` on new tasks.

## Notes, reminders, people

- `create_note` keeps text verbatim (first line = title); Scatty categorizes it later. `list_notes` with `query` searches.
- `add_quick_reminder` is for things that should vanish by themselves (24 h at most, `ttlMin` to shorten).
- `list_people` returns people, important dates and what's coming up. `add_important_date` takes `month`/`day` (and optional `year`, `personId`).

## Revisar (what slipped)

- `get_review` lists what passed its time without being checked off: tasks, reserved time (blocks) and calendar events. "Não feito" ones stay red on the calendar.
- `review_item`: `done: true`, or `done: false` with a `reason` (forgot, no_energy, unexpected, postponed, distracted, no_time, other), the user's words in `note`, and `then` (reschedule with `retryAt`, unschedule, remove, skip for a recurring one, keep).
- `get_review_patterns` for "where do I procrastinate?": share one pattern and one small suggestion. Not done is information, never a failure.

## Errors

Tool errors come back as readable text (in Portuguese). Read them, fix the input or explain to the user. "Conta Google precisa ser reconectada" means the user must reconnect it in the app (Configurações → Agendas).
