rtm

Search & Research
v1.1.0
Benign

Manage Remember The Milk tasks — list, add, complete, delete, search, prioritize, tag, move, and annotate tasks.

3632 downloads632 installsby @maxdraki

Setup & Installation

Install command

clawhub install maxdraki/rtm

If the CLI is not installed:

Install command

npx clawhub@latest install maxdraki/rtm

Or install with OpenClaw CLI:

Install command

openclaw skills install maxdraki/rtm

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/maxdraki/rtm

What This Skill Does

Manages Remember The Milk tasks through a Python CLI script. Supports listing, adding, completing, deleting, searching, prioritizing, tagging, moving, and annotating tasks. Uses RTM's Smart Add syntax and filter language for natural-language input.

Exposes the full RTM API from the command line without any pip dependencies, making it usable in constrained or automated environments.

When to Use It

  • Adding a tagged, prioritized task with a due date in one command
  • Searching incomplete work tasks due this week
  • Moving tasks between lists when a project changes
  • Bulk-reviewing all high-priority items across lists
  • Appending a note to an existing task for context
View original SKILL.md file
# Remember The Milk

CLI tool at `scripts/rtm.py` for full RTM task management. Stdlib only — no pip dependencies.

## Setup

1. Get API credentials at https://www.rememberthemilk.com/services/api/keys.rtm
2. Set env vars `RTM_API_KEY` and `RTM_SHARED_SECRET` (via OpenClaw config `skills.entries.rtm.env`)
3. Run `scripts/rtm.py auth` — opens a URL, authorize, press Enter. Token saves to `~/.rtm_token`

**Sub-agents:** Env vars are not inherited. Pass them explicitly:
```bash
RTM_API_KEY=... RTM_SHARED_SECRET=... python3 scripts/rtm.py <command>
```

## Security

- **Env vars:** `RTM_API_KEY` and `RTM_SHARED_SECRET` are required at runtime. Configure via OpenClaw skill env, not hardcoded.
- **Auth token:** Stored as plain text at `~/.rtm_token` after interactive auth. This file grants full access to the linked RTM account. Protect it accordingly — restrict file permissions (`chmod 600`) or remove after use if not needed persistently.
- **Network:** All API calls go to `api.rememberthemilk.com` and `www.rememberthemilk.com` only. No other outbound connections.
- **Permissions:** The auth flow requests `delete` permission (RTM's highest tier) to support task deletion. Use a dedicated API key with minimum needed scope if preferred.

## Commands

```bash
# Auth (interactive, one-time)
scripts/rtm.py auth

# Lists
scripts/rtm.py lists              # show active lists
scripts/rtm.py lists --all        # include archived

# Tasks
scripts/rtm.py tasks                          # all incomplete
scripts/rtm.py tasks --list LIST_ID           # filter by list
scripts/rtm.py tasks --filter "priority:1"    # RTM filter syntax
scripts/rtm.py tasks --no-notes               # hide notes

# Add (--parse enables Smart Add for dates/tags/priority)
scripts/rtm.py add "Buy groceries" --list LIST_ID --parse
# Smart Add: "Buy milk ^tomorrow #shopping !1" sets due, tag, priority

# Complete / Delete
scripts/rtm.py complete LIST_ID SERIES_ID TASK_ID
scripts/rtm.py delete LIST_ID SERIES_ID TASK_ID

# Priority (1=high, 2=medium, 3=low, N=none)
scripts/rtm.py set-priority LIST_ID SERIES_ID TASK_ID 1

# Due date (natural language parsed by RTM)
scripts/rtm.py set-due LIST_ID SERIES_ID TASK_ID "next friday"

# Move between lists
scripts/rtm.py move FROM_LIST_ID TO_LIST_ID SERIES_ID TASK_ID

# Tags
scripts/rtm.py add-tags LIST_ID SERIES_ID TASK_ID "tag1,tag2"

# Search (RTM filter syntax)
scripts/rtm.py search "tag:work AND status:incomplete"

# Notes
scripts/rtm.py notes-add LIST_ID SERIES_ID TASK_ID "text" --title "Title"
scripts/rtm.py notes-delete NOTE_ID
```

## Task output format

Task output includes IDs needed for write operations:
```
  Task Name [P1] (due: 2025-03-15) #tag1 #tag2
    list=12345 series=67890 task=11111
    📝 Note Title (note_id=99999)
    Note body text here
```

## RTM filter syntax

Common filters: `status:incomplete`, `priority:1`, `tag:tagname`, `due:today`, `dueBefore:tomorrow`, `list:Inbox`, `isTagged:true`, `addedWithin:"1 week"`. Combine with `AND`, `OR`, `NOT`.

Full reference: https://www.rememberthemilk.com/help/answers/search/advanced.rtm

## Reliability

- All API calls have a 15-second timeout with automatic retry (up to 3 attempts with backoff)
- Transient network errors are retried; permanent API errors exit immediately
- Write operations (add, complete, delete, etc.) auto-create timelines

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Adding a tagged, prioritized task with a due date in one command

AGENT
  1. 1Adding a tagged, prioritized task with a due date in one command
  2. 2Searching incomplete work tasks due this week
  3. 3Moving tasks between lists when a project changes
  4. 4Bulk-reviewing all high-priority items across lists
  5. 5Appending a note to an existing task for context
OUTPUT
Manage Remember The Milk tasks — list, add, complete, delete, search, prioritize, tag, move, and annotate tasks.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedFeb 25, 2026