| name | google-tasks |
| description | Use when you need to read the user's incomplete Google Tasks (to-dos) — lists open tasks across all task lists, optionally filtered by due date or list. Read-only; reuses the google-workspace OAuth token. |
| version | 1.0.0 |
| author | your-org |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| required_credential_files | [{"path":"google_token.json","description":"Shared Google OAuth2 token created by the google-workspace skill. Must include the tasks.readonly scope."}] |
| metadata | {"hermes":{"tags":["Google","Tasks","ToDo","Productivity","OAuth","ReadOnly"],"related_skills":["google-workspace"]}} |
Google Tasks (read-only)
Lists the user's incomplete Google Tasks across all task lists.
Two backends are supported:
- Tracked script:
scripts/list_tasks.py, using the shared Hermes
token at ${HERMES_HOME}/google_token.json with tasks.readonly.
- Google Workspace CLI (
gws): the upstream @googleworkspace/cli package
now exposes the Google Tasks Discovery surface directly (gws tasks ...).
Prefer gws when the user explicitly asks to use https://github.com/googleworkspace/cli
or when they already have ~/.config/gws/client_secret.json / gws auth set up.
Default to read-only scopes unless the user explicitly asks to create/update/delete tasks.
Credentials (no separate auth)
This skill reuses the google-workspace OAuth token at
${HERMES_HOME}/google_token.json. There is no
separate setup or token for Tasks. You only need the existing
google-workspace credentials, plus the tasks.readonly scope granted on
that token.
Scope / re-consent requirement (IMPORTANT)
The bundled google-workspace setup does not request any Tasks scope by
default. Its SCOPES list (scripts/setup.py and scripts/google_api.py)
contains only Gmail / Calendar / Drive / Contacts / Sheets / Docs — not
https://www.googleapis.com/auth/tasks or .../tasks.readonly.
So unless the token was already authorized with a Tasks scope, the user must
re-authorize google-workspace with tasks.readonly added. If the scope is
missing, list_tasks.py exits non-zero with
tasks unavailable: token lacks the tasks.readonly scope ....
How to grant the Tasks scope (update-resilient)
Do NOT edit the bundled google-workspace SCOPES — that file is gitignored /
re-installable, so the edit is lost on reinstall. Instead use the tracked
[[.hermes/skills/vault-capture/google-auth/SKILL.md]] authorizer, which already
includes tasks.readonly in its scope union and writes the SAME shared token: