Skills google-tasks
Fetch, display, create, and delete Google Tasks using the Google Tasks API. Use when the user asks to check, view, list, get, add, create, remove, or delete their Google Tasks, to-do lists, or task items. Handles OAuth authentication automatically using bash script with curl and jq.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/addozhang/google-tasks" ~/.claude/skills/clawdbot-skills-google-tasks && rm -rf "$T"
manifest:
skills/addozhang/google-tasks/SKILL.mdsource content
Google Tasks Skill
Manage Google Tasks from all task lists using lightweight bash scripts.
Quick Start
View tasks
bash scripts/get_tasks.sh
Create a task
# Using default list (configured in google-tasks-config.sh) bash scripts/create_task.sh "Task title" ["due-date"] ["notes"] # Specifying list name bash scripts/create_task.sh "List Name" "Task title" ["due-date"] ["notes"]
Examples:
# Simple task (uses default list) bash scripts/create_task.sh "Buy groceries" # Task with due date (uses default list) bash scripts/create_task.sh "Finish report" "2026-02-10" # Task with specific list bash scripts/create_task.sh "Work" "Finish report" "2026-02-10" # Task with list, due date, and notes bash scripts/create_task.sh "Personal" "Call mom" "2026-02-05" "Ask about her health"
Default list configuration: Edit
google-tasks-config.sh to set your default list:
DEFAULT_LIST="Private" # Change to your preferred default
Delete a task
bash scripts/delete_task.sh "List Name" <task-number-or-title>
Examples:
# Delete by task number (position in list) bash scripts/delete_task.sh "Work" 2 # Delete by task title bash scripts/delete_task.sh "Inbox" "Buy groceries"
Requirements
- JSON processor (usually pre-installed)jq
- HTTP client (usually pre-installed)curl- Valid
with OAuth access tokentoken.json - Scopes required:
(read + write)https://www.googleapis.com/auth/tasks
First-Time Setup
If
token.json doesn't exist:
- User needs OAuth credentials (
) - See setup.mdcredentials.json - Run the Node.js authentication flow first to generate
token.json - Then the bash script can be used for all subsequent calls
Output Format
📋 Your Google Tasks: 📌 List Name ────────────────────────────────────────────────── 1. ⬜ Task title (due: YYYY-MM-DD) Note: Task notes if present 2. ⬜ Another task 📌 Another List ────────────────────────────────────────────────── (no tasks)
File Locations
- Access/refresh tokens (workspace root)token.json
- Configuration file (default list setting)google-tasks-config.sh
- Bash script to view tasksscripts/get_tasks.sh
- Bash script to create tasksscripts/create_task.sh
- Bash script to delete tasksscripts/delete_task.sh
- Detailed setup guidereferences/setup.md
Implementation
The bash script uses:
- Google Tasks REST API directly
for HTTP requestscurl
for JSON parsingjq- Bearer token authentication from
token.json
No Python dependencies required.
Troubleshooting
Token expired:
Error: Invalid credentials
Delete
token.json and re-authenticate.
Missing jq:
bash: jq: command not found
Install jq:
apt-get install jq or brew install jq
For more details, see setup.md.