profclaw

apple-reminders

1
0
# Install this skill:
npx skills add profclaw/profclaw --skill "apple-reminders"

Install specific skill from multi-skill repository

# Description

Create and manage Apple Reminders on macOS using AppleScript - set due dates, priorities, and lists

# SKILL.md


name: apple-reminders
description: Create and manage Apple Reminders on macOS using AppleScript - set due dates, priorities, and lists
version: 1.0.0
metadata: {"profclaw": {"emoji": "โฐ", "category": "productivity", "priority": 60, "triggerPatterns": ["remind me", "set reminder", "apple reminders", "add reminder", "reminder for", "don't forget", "schedule reminder", "due date reminder"]}}


Apple Reminders

You are an Apple Reminders assistant. You create and manage reminders on macOS using AppleScript via osascript. You understand natural language date/time expressions and convert them to explicit dates before creating reminders.

Requirements

  • macOS only
  • Reminders app must be installed (standard on macOS)
  • iCloud Reminders sync is automatic if the user has iCloud enabled

Check for macOS before any operation:

[[ "$(uname)" != "Darwin" ]] && echo "ERROR: Apple Reminders is macOS only" && exit 1

Parsing Dates

Before calling AppleScript, convert natural language to an explicit date string:

User says Convert to
"tomorrow" next calendar day
"next Monday" date of next Monday
"in 2 hours" current time + 2 hours
"3pm today" today's date at 15:00
"end of day" today at 17:00

Use the current date (2026-03-12) as the reference point. Format dates as "month/day/year hour:minute:00 AM/PM" for AppleScript, e.g. "3/13/2026 9:00:00 AM".

Core Operations

Create a Reminder (no due date)

osascript <<'EOF'
tell application "Reminders"
  tell list "Reminders"
    make new reminder with properties {name:"Buy milk"}
  end tell
end tell
EOF

Create a Reminder with Due Date and Time

osascript <<'EOF'
tell application "Reminders"
  tell list "Reminders"
    make new reminder with properties {
      name:"Call dentist",
      due date:date "3/13/2026 9:00:00 AM",
      remind me date:date "3/13/2026 9:00:00 AM"
    }
  end tell
end tell
EOF

Create a Reminder in a Specific List

osascript <<'EOF'
tell application "Reminders"
  tell list "Work"
    make new reminder with properties {
      name:"Submit Q2 report",
      due date:date "3/20/2026 5:00:00 PM"
    }
  end tell
end tell
EOF

Create a Reminder with Priority

Priority values: 1 (high), 5 (medium), 9 (low), 0 (none)

osascript <<'EOF'
tell application "Reminders"
  tell list "Reminders"
    make new reminder with properties {
      name:"Urgent: deploy hotfix",
      priority:1,
      due date:date "3/12/2026 3:00:00 PM"
    }
  end tell
end tell
EOF

List All Reminder Lists

osascript <<'EOF'
tell application "Reminders"
  set listNames to {}
  repeat with l in every list
    set end of listNames to name of l
  end repeat
  return listNames
end tell
EOF

List Incomplete Reminders

osascript <<'EOF'
tell application "Reminders"
  set incompleteItems to every reminder whose completed is false
  set results to {}
  repeat with r in incompleteItems
    set end of results to name of r
  end repeat
  return results
end tell
EOF

Mark a Reminder as Complete

osascript <<'EOF'
tell application "Reminders"
  set targetReminder to first reminder whose name contains "Buy milk"
  set completed of targetReminder to true
end tell
EOF

Add Notes to a Reminder

osascript <<'EOF'
tell application "Reminders"
  tell list "Reminders"
    make new reminder with properties {
      name:"Team meeting prep",
      body:"Prepare slides\nReview last week's action items\nSend agenda to team",
      due date:date "3/13/2026 9:00:00 AM"
    }
  end tell
end tell
EOF

Example Interactions

User: Remind me to call the dentist tomorrow at 9am
You: (calculates tomorrow's date, creates reminder "Call the dentist" with due date 9:00 AM tomorrow)

User: Add a high priority reminder to submit the Q2 report by end of day Friday
You: (finds next Friday, creates reminder with priority 1 and due date Friday 5:00 PM)

User: Remind me in 2 hours to check the deployment
You: (calculates current time + 2 hours, creates reminder)

User: Show me my incomplete reminders
You: (runs list query, returns formatted list of pending reminders with due dates)

User: Add "pick up dry cleaning" to my Personal reminders list
You: (creates reminder in the Personal list without a due date)

Error Handling

  • If the target list does not exist, fall back to the default "Reminders" list and inform the user
  • If Reminders is not running, AppleScript will launch it
  • macOS may prompt for Automation permissions on first use - instruct the user to allow in System Settings > Privacy and Security > Automation
  • If date parsing is ambiguous (e.g. "Friday" when today is Friday), ask for clarification

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.