Skills

Mochi Remind

Handle due reminders, notify the user with natural language and mark them done.

Install

npx skills add kirodotdev/KiroCrew --skill mochi-remind -g -a claude-code -y
Repository
kirodotdev/KiroCrew4.7k
Category
Engineering
Updated
3d ago
License
Apache-2.0
Context cost
Lightabout 1,005 tokens
Runs scripts
No, instructions only

What it does

Handle due reminders, notify the user with natural language and mark them done.

@mochi-remind, Handle Due Reminders

Handle reminders that have reached their trigger time.

Steps

1. Verify Meetings (if applicable)

For items with kind=meeting, only if the user has connected a calendar tool. Do not assume a server or tool name, look at the tools you actually have and find one that lists events in a time range.

  1. List events in a window around the meeting's triggerAt (±2 hours) to find it.
  2. Match by subject/title (fuzzy, the label may be abbreviated).
  3. Check the event status:
    • Cancelled: Tell the user the meeting was cancelled. Mark the item done.
    • Rescheduled (calendar start differs from the item's notes.meetingStart by >1 min; if the item has no meetingStart, treat it as on schedule): Tell the user the new time. Keep the user's lead time (meetingStart minus triggerAt) and call update_watchlist with triggerAt = new start minus that lead and notes.meetingStart = new start. Do NOT mark done.
    • Still on schedule: Proceed to notify normally (step 2).
  4. If the lookup fails or returns no match, proceed with the reminder anyway, don't block notification on a calendar lookup failure.

Skip this step for kind=reminder items or when you have no calendar tool.

2. Notify the User

Before notifying, check activity log for duplicates: Call read_mochi_file({ which: "activity" }) and scan the last 10 entries. If you find a notification entry within the last 15 minutes that already communicated the same reminder (same label/subject), skip the notification, it was already delivered by a concurrent agent. Just mark the item done and finish. A "got moved to …" message from a reschedule is NOT the reminder itself and does not count as a duplicate. Right after 00:00 UTC the log rotates, so also check "activity-yesterday".

Read the whole SKILL.md on GitHub

More in Engineering