Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Rem

CSecurity

Manages macOS Reminders from the terminal using the rem CLI. Creates, lists, updates, completes, deletes, searches, and exports reminders and lists. Supports natural language due dates, filtering, import/export, and multiple output formats. Use when the user wants to interact with Apple Reminders via command line, automate reminder workflows, or build scripts around macOS Reminders.

33 stars
0 votes
0 copies
1 views
Added 9/5/2026
businessgoshellbashgitapi

Works with

claude codeterminalcliapi

Security Analysis

C71/100
criticalPipes output to a shell interpreter
mediumUses curl or wget to download content
criticalDownloads and executes remote scripts — classic supply chain attack

Scanned 9/5/2026

Install to Claude Code

$npx -y skills add dvcrn/openclaw-skills-marketplace --skill rem --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rem?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Rem
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/dvcrn-rem/badge)](https://www.skillsdirectory.com/skills/dvcrn-rem)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: rem
description: "Manages macOS Reminders from the terminal using the rem CLI. Creates, lists, updates, completes, deletes, searches, and exports reminders and lists. Supports natural language due dates, filtering, import/export, and multiple output formats. Use when the user wants to interact with Apple Reminders via command line, automate reminder workflows, or build scripts around macOS Reminders."
---

# rem — CLI for macOS Reminders

A Go CLI that wraps macOS Reminders. Sub-200ms reads via cgo + EventKit. Single binary, no dependencies at runtime.

## Installation

```bash
# macOS (recommended)
curl -fsSL https://rem.sidv.dev/install | bash

# Or via Go
go install github.com/BRO3886/rem/cmd/rem@latest
```

Install this skill into your agent:

```bash
# Claude Code or Codex
rem skills install

# OpenClaw
rem skills install --agent openclaw
```

## Quick Start

```bash
# See all lists with reminder counts
rem lists --count

# Add a reminder with natural language date
rem add "Buy groceries" --list Personal --due tomorrow --priority high

# List incomplete reminders in a list
rem list --list Work --incomplete

# Search across all reminders
rem search "meeting"

# Complete a reminder by short ID
rem complete abc12345

# View stats
rem stats
```

## Command Reference

### Reminder CRUD

| Command | Aliases | Description |
|---------|---------|-------------|
| `rem add` | `create`, `new` | Create a reminder |
| `rem list` | `ls` | List reminders with filters |
| `rem show` | `get` | Show full details of one reminder |
| `rem update` | `edit` | Update reminder properties |
| `rem delete` | `rm`, `remove` | Delete a reminder |
| `rem complete` | `done` | Mark reminder complete |
| `rem uncomplete` | — | Mark reminder incomplete |
| `rem flag` | — | Flag a reminder |
| `rem unflag` | — | Remove flag |

### List Management

| Command | Aliases | Description |
|---------|---------|-------------|
| `rem lists` | — | Show all lists |
| `rem list-mgmt create` | `lm new` | Create a list |
| `rem list-mgmt rename` | — | Rename a list |
| `rem list-mgmt delete` | `lm rm` | Delete a list |

### Search & Analytics

| Command | Description |
|---------|-------------|
| `rem search <query>` | Search title and notes |
| `rem stats` | Show statistics and per-list breakdown |
| `rem overdue` | Show overdue reminders |
| `rem upcoming` | Show reminders due in next N days (default: 7) |

### Import/Export

| Command | Description |
|---------|-------------|
| `rem export` | Export to JSON or CSV |
| `rem import <file>` | Import from JSON or CSV file |

### Skills & Other

| Command | Description |
|---------|-------------|
| `rem skills install` | Install rem skill for AI agents |
| `rem skills uninstall` | Uninstall rem skill from AI agents |
| `rem skills status` | Show skill installation status |
| `rem interactive` / `rem i` | Interactive menu-driven mode |
| `rem version` | Print version |
| `rem completion` | Generate shell completions (bash/zsh/fish) |

For full flag details on every command, see [references/commands.md](references/commands.md).

## Key Concepts

### Short IDs

Reminders have UUIDs like `x-apple-reminder://AB12CD34-...`. The CLI displays the first 8 characters as a short ID (`AB12CD34`). You can pass any unique prefix to commands — `rem complete AB1` works if it matches exactly one reminder.

### Natural Language Dates

The `--due` flag accepts natural language:

```bash
rem add "Call dentist" --due tomorrow
rem add "Submit report" --due "next friday at 2pm"
rem add "Quick task" --due "in 30 minutes"
rem add "Wrap up" --due eod
```

Supported patterns: `today`, `tomorrow`, `next monday`, `in 3 hours`, `eod`, `eow`, `5pm`, `2026-02-15`, and more. See [references/dates.md](references/dates.md) for the full list.

### Priority Levels

| Level | Flag value | AppleScript value |
|-------|-----------|-------------------|
| High | `--priority high` | 1 (range 1-4) |
| Medium | `--priority medium` | 5 |
| Low | `--priority low` | 9 (range 6-9) |
| None | `--priority none` | 0 |

### Output Formats

All read commands support `-o` / `--output`:

- **table** (default) — formatted table with borders
- **json** — machine-readable JSON
- **plain** — simple text, one item per line

The `NO_COLOR` environment variable is respected.

### URL Storage

macOS Reminders has no native URL field. rem stores URLs in the notes/body field with a `URL: ` prefix and extracts them for display.

## Common Workflows

### Daily review
```bash
rem overdue                          # Check what's past due
rem upcoming --days 1                # See today's reminders
rem list --list Work --incomplete    # Focus on work items
```

### Batch operations with JSON
```bash
rem export --list Work --format json > backup.json
rem import backup.json --list "Work Archive"
```

### Scripting with JSON output
```bash
# Get overdue count
rem overdue -o json | jq 'length'

# List all incomplete reminder titles
rem list --incomplete -o json | jq -r '.[].name'
```

## Public Go API

For programmatic access, use [`go-eventkit`](https://github.com/BRO3886/go-eventkit) directly:

```go
import "github.com/BRO3886/go-eventkit/reminders"

client, _ := reminders.New()
r, _ := client.CreateReminder(reminders.CreateReminderInput{
    Title:    "Buy milk",
    ListName: "Shopping",
    Priority: reminders.PriorityHigh,
})
items, _ := client.Reminders(reminders.WithCompleted(false))
```

See [go-eventkit docs](https://github.com/BRO3886/go-eventkit) for the full API surface.

## Limitations

- **macOS only** — requires EventKit framework and `osascript`
- **No tags, subtasks, or recurrence** — not exposed by EventKit/AppleScript
- **`--flagged` filter is slower** (~3-4s) — falls back to JXA since EventKit doesn't expose flagged
- **List deletion** may fail on some macOS versions

Attribution

dvcrndvcrn
View sourceMore from dvcrn →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Solution Architect

Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.

192 votes

Akorchak:Venture Assessment

Generate a comprehensive VC investment assessment report for a company

72 votes

Just Fucking Cancel

Find and cancel unwanted subscriptions by analyzing bank transactions. Detects recurring charges, calculates annual waste, and helps you cancel with direct URLs and browser automation. Use when: 'cancel subscriptions', 'audit subscriptions', 'find recurring charges', 'what am I paying for', 'save money', 'subscription cleanup', 'stop wasting money'. Supports CSV import (Apple Card, Chase, Amex, Citi, Bank of America, Capital One, Mint, Copilot) OR Plaid API for automatic transaction pull. Out...

6511 votes

Stock Analysis

Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market cap), and periodic performance reports (daily/weekly/monthly/quarterly/yearly). 8 analysis dimensions for stocks, 3 for crypto. Use for stock analysis, portfolio tracking, earnings reactions, or crypto monitoring.

6511 votes

Telegram Compose

Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting wit...

6511 votes
View all in business →