---
name: how-about-today
description: Connect an AI agent to How About Today over MCP, then read and manage a calm daily task list with the user's approval.
version: 1.0.0
metadata:
  tags: [how-about-today, hat, tasks, mcp, ai-agent, productivity]
  homepage: https://howabout.today
  app: https://app.howabout.today
  mcp_endpoint: https://app.howabout.today/mcp
---

# How About Today Agent Guide

Use this guide when a user asks you to connect to **How About Today** or gives you a link to `https://howabout.today`.

How About Today is a deliberately calm daily task list. It is for quick task capture and gentle follow-through, not project management.

Core product rules:

- No projects, folders, tags, priorities, overdue badges, or productivity pressure.
- Tasks live on a day, or in the Box when set aside.
- Unfinished dated tasks quietly roll forward.
- Stars and soft colors are lightweight personal markers; they do not reorder the list.
- Explicit user reorder requests should use HAT reorder tools, not stars, colors, or raw order-field patches.
- Keep wording calm and practical.

## Connection

Canonical app URL:

```text
https://app.howabout.today
```

MCP endpoint:

```text
https://app.howabout.today/mcp
```

If your runtime supports remote MCP servers, configure How About Today as a remote HTTP / streamable HTTP MCP server using that endpoint.

Example generic MCP configuration:

```json
{
  "mcpServers": {
    "how_about_today": {
      "url": "https://app.howabout.today/mcp"
    }
  }
}
```

Example Hermes configuration:

```yaml
mcp_servers:
  how_about_today:
    url: "https://app.howabout.today/mcp"
```

After configuring a new MCP server, restart or reload the agent runtime if needed so it can discover the HAT tools.

## Authentication and pairing

The user may say something like:

> Connect to How About Today. I registered with `user@example.com`.

Use that email only as the routing hint for the approval request. Do **not** ask the user for their password, one-time login code, API key, bearer token, session token, or any server secret.

How About Today uses user-approved agent pairing:

1. Start a pairing request for the user's registered email, your agent name, and the minimum scope needed.
2. Give the user the returned approval link if your runtime does not open it automatically.
3. Keep the device code/private polling value out of chat and logs.
4. Poll until the user approves or denies the request.
5. Store the returned agent token only in your runtime's normal secure MCP/credential storage.
6. Verify the connection by reading today's list. Do not create a test task unless the user explicitly asks.

Scopes:

- `read-only` — use when the user only wants you to inspect or summarize tasks.
- `read-write` — use when the user wants you to add, edit, move, star, highlight, repeat, complete, uncomplete, set aside, or restore tasks.

If your MCP client has its own authorization flow, prefer that. If it does not, use HAT's device-pairing API:

```text
POST https://app.howabout.today/api/v1/auth/device/start
{
  "email": "user@example.com",
  "agentName": "Your agent name",
  "scope": "read-only"
}
```

or request write access only when appropriate:

```text
POST https://app.howabout.today/api/v1/auth/device/start
{
  "email": "user@example.com",
  "agentName": "Your agent name",
  "scope": "read-write"
}
```

Then poll privately with the returned `deviceCode`:

```text
POST https://app.howabout.today/api/v1/auth/device/poll
{
  "deviceCode": "..."
}
```

When polling returns `approved`, use the returned token for the HAT MCP connection or API calls according to your runtime's credential model. Treat it as a secret. Never show it to the user unless the user is deliberately managing credentials.

## What agents can do

Read-only operations:

- Get app/tool information.
- List tasks for today, tomorrow, a specific date, or the Box.
- Get one task by id.
- Search tasks by text.
- Read today's brief.
- Suggest a calm plan for the day.
- Inspect set-aside/waiting tasks.
- View completion statistics.

Read-write operations, with user intent:

- Add a task.
- Edit task text.
- Complete or uncomplete a task.
- Move a task to another day.
- Reorder tasks within the same day or Box when the user explicitly asks.
- Set a task aside in the Box.
- Star or unstar a task.
- Highlight a task with `green`, `yellow`, `blue`, `rose`, or `none`.
- Set repeat to `daily`, `weekdays`, `weekly`, `monthly`, `annually`, or `none`.
- Restore a recoverable task.

Routine agent access should not permanently purge data. If a delete-like operation is available in your runtime, use it only after the user clearly identifies the task and confirms the deletion.

## Behavior rules

Be calm and direct. Do not introduce project-management structure that HAT intentionally avoids.

Do not create or imply:

- projects
- tags
- labels beyond the built-in colors
- priority systems
- overdue warnings
- alarms or reminders
- guilt, streak, or productivity-pressure language

Preferred wording:

- “open today” instead of “overdue”
- “set aside” instead of “deprioritize”
- “quietly moved forward” instead of “late”
- “starred” instead of “high priority”

Interpret common user wording:

- “Add this to HAT” → add the task, usually for today unless the user gives another date.
- “What’s on my list?” → list today's open tasks.
- “What’s waiting?” → show Box / set-aside tasks.
- “Start this task” → star it. HAT has no timer.
- “Unstart this” or “stop highlighting this as current” → unstar it.
- “Make it red” → use `rose`, the supported HAT color.
- “Not today” → usually set aside or move to another day; ask if unclear.
- “Make it recurring” → choose the smallest repeat rule matching the user's wording.
- “Put X on top”, “move X above Y”, or “move X down” → use safe reorder tools for the relevant day/Box list.

If a user refers to “this task” but the task is ambiguous, search/list candidates and ask which one before changing anything.

## Date handling

Respect the user's intended local day.

- `today` means the user's today, not necessarily the server's timezone.
- `tomorrow` means the user's tomorrow.
- If the request is near midnight or the user's location/timezone is unclear and the exact day matters, ask a short clarification.
- Do not use artificial future or past dates for live smoke tests against a real user's account.

## Safe operating pattern

For reads:

1. Use MCP tools when available.
2. Return a short, calm summary.
3. Preserve HAT's simple model; do not invent projects or urgency.

For writes:

1. Confirm you have write scope or request `read-write` approval.
2. Identify the exact task before mutating existing tasks.
3. For reorder requests, fetch the current list, use the dedicated reorder/up/down tool, and avoid patching raw order fields.
4. Make the smallest change that satisfies the user's request.
5. Verify by reading the task or relevant list back.
6. Report the result briefly.

Example final responses:

```text
Done — added “Call Maria” for today.
```

```text
Done — moved “Book train tickets” to tomorrow.
```

```text
I found two matching tasks: “Call Maria” and “Call Maria about invoice”. Which one should I star?
```

## First connection check

After connecting, verify with a harmless read:

```text
List today's open tasks.
```

Do not create, edit, or delete a test task unless the user explicitly asks you to test write access.

## If connection fails

Common causes:

- The MCP server was added but the agent runtime was not restarted/reloaded.
- The user has not approved the pairing request yet.
- The pairing request expired; start a fresh one.
- The requested scope is too narrow for the action.
- The user registered with a different email address.

Explain the problem plainly and ask for only the minimum next step, such as approving a fresh link or confirming the registered email.
