From productivity-skills
This skill should be used when the user asks to "create reminder", "add task", "add todo", "set due date", "check pending tasks", "list reminder lists", "view overdue reminders", "mark task complete", "delete reminder", or wants to manage macOS Reminders app via EventKit CLI. Supports setting due dates, priorities, and notes. Requires macOS and Reminders.app access permissions.
npx claudepluginhub aeghnnsw/cc-toolkit --plugin productivity-skillsThis skill uses the workspace's default tool permissions.
Manage macOS Reminders using the productivity-cli tool (EventKit-based).
Implements structured self-debugging workflow for AI agent failures: capture errors, diagnose patterns like loops or context overflow, apply contained recoveries, and generate introspection reports.
Monitors deployed URLs for regressions in HTTP status, console errors, performance metrics, content, network, and APIs after deploys, merges, or upgrades.
Provides React and Next.js patterns for component composition, compound components, state management, data fetching, performance optimization, forms, routing, and accessible UIs.
Manage macOS Reminders using the productivity-cli tool (EventKit-based).
Run the Swift source directly (no build step required):
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift <command>
Requires: macOS 13+ with Xcode command line tools installed.
Before any create operation, list reminder lists and ask the user which one to use:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders lists
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders lists
Returns JSON:
{
"success": true,
"count": 3,
"data": [
{"name": "Tasks", "count": 5},
{"name": "Work", "count": 2},
{"name": "Personal", "count": 0}
]
}
The count field shows incomplete reminders in each list.
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders today
All incomplete reminders:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders incomplete
From a specific list:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders incomplete "Tasks"
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders overdue
Basic reminder:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create \
--title "Buy groceries" \
--list "Tasks"
With due date:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create \
--title "Submit report" \
--list "Work" \
--due "2025-01-15 17:00"
With priority:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create \
--title "Urgent task" \
--list "Work" \
--priority 1
With notes:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create \
--title "Call John" \
--list "Tasks" \
--notes "Discuss project timeline and budget"
Full reminder with all properties:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create \
--title "Team meeting prep" \
--list "Work" \
--due "2025-01-15 09:00" \
--priority 1 \
--notes "Prepare slides and agenda"
Daily medication reminder:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create \
--title "Take medication" \
--list "Health" \
--due "2026-01-20 08:00" \
--repeat daily
Weekly grocery shopping:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create \
--title "Grocery shopping" \
--list "Personal" \
--due "2026-01-25 10:00" \
--repeat weekly
Bi-weekly task:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create \
--title "Review expenses" \
--list "Work" \
--due "2026-01-20 17:00" \
--repeat weekly \
--repeat-interval 2
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders complete --title "Buy groceries"
With specific list:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders complete --title "Buy groceries" --list "Tasks"
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders uncomplete --title "Buy groceries"
With specific list:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders uncomplete --title "Buy groceries" --list "Tasks"
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders delete --title "Buy groceries"
With specific list:
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders delete --title "Buy groceries" --list "Tasks"
swift ${CLAUDE_PLUGIN_ROOT}/scripts/productivity-cli.swift reminders create-list "Shopping"
All commands return JSON. Success responses:
{
"success": true,
"count": 5,
"data": [
{
"title": "Buy groceries",
"list": "Tasks",
"dueDate": "2025-01-15 17:00:00",
"priority": 0,
"isCompleted": false,
"notes": null,
"isRecurring": false,
"recurrence": null
}
]
}
Recurring reminder response:
{
"title": "Take medication",
"list": "Health",
"dueDate": "2026-01-20 08:00:00",
"priority": 0,
"isCompleted": false,
"notes": null,
"isRecurring": true,
"recurrence": {
"frequency": "daily",
"interval": 1,
"endDate": null,
"occurrenceCount": null,
"daysOfWeek": null
}
}
Action results:
{
"success": true,
"message": "Reminder 'Buy groceries' created successfully"
}
Error responses:
{
"error": "Reminder list 'Unknown' not found"
}
| Value | Meaning | Display |
|---|---|---|
| 0 | No priority | (none) |
| 1 | High | !!! |
| 5 | Medium | !! |
| 9 | Low | ! |
Use yyyy-MM-dd HH:mm for due dates:
2025-01-15 17:00 - January 15, 2025 at 5:00 PM2025-01-15 09:00 - January 15, 2025 at 9:00 AM| Argument | Required | Description |
|---|---|---|
--title | Yes | Reminder title |
--list | Yes (create) | Reminder list name |
--due | No | Due date/time |
--priority | No | Priority (0, 1, 5, or 9) |
--notes | No | Notes/description |
--repeat | No | Recurrence frequency: daily, weekly, monthly, yearly |
--repeat-interval | No | Every N periods (default: 1) |