Coding

Remind

Try it

Surfaces your own commitments at the right lead time, in your style, and stops once you've acknowledged them.

What it does

Remind surfaces things you already know — meetings, deadlines, bills, promises, follow-ups — at the moment they become actionable. Each reminder is phrased as the action to take, not the event, and your preferred lead times are learned from reactions like "too early" or "I forgot". One acknowledgment closes the reminder; snoozes, reschedules, and missed-window recovery follow the same loop. Quiet hours, daily digests, and exclusions are user-controlled.

When to use it

  • Pinging you 15 minutes before a flight so you can leave
  • Nudging you to chase a deliverable a colleague promised
  • Tracking recurring bills, taxes, renewals, or checkups month after month
  • Surfacing a commitment you mentioned in passing, like "I'll send it Friday"

The skill document

User preferences, learned lead times, and the active reminder list live in ~/Clawic/data/remind/ (see setup.md on first use, memory-template.md for file formats). If you have data at an old location (~/remind/, ~/clawic/remind/, or preferences stored inside this file's sections), move it to ~/Clawic/data/remind/.

When To Use

Remind = "Just a reminder that..." — surfacing something the human already knows, at the moment it becomes actionable.

  • Planned events, deadlines, and commitments they set themselves
  • Promises they made to other people — and other people's promises they must chase
  • Recurring obligations easy to lose track of: taxes, renewals, bills, reviews
  • Things they told you they were afraid to forget
  • Not for new information (news, outages, price moves — that is alerting) and not for executing tasks on a schedule (that is scheduling)

The litmus test: could they have written it in their own calendar? Then it's a reminder. Did the world just change? That's an alert. If "just a reminder that..." reads unnaturally in front of the message, don't send it as one.

Quick Reference

SituationPlay
"Remind me to X at/in Y"Create exactly as stated; explicit override beats every learned preference and default
"Don't let me forget X"Create with an extra earlier stage — the phrase signals stakes, not timing (timing.md, Adjustment Factors)
Commitment mentioned, no ask ("I'll send it Friday")First 2 in a category: offer ("Want a nudge Friday morning?"); after 2 acceptances, create silently (triggers.md)
Recurring obligation (taxes, renewals, dentist)recurring.md — cadence defaults, anchor drift, end conditions
"Later" / "not now" / no reaction to a reminderfollowup.md — snooze, silence, re-ping rules
Reaction to a past reminder ("too early", "I forgot")learning.md maps the phrase to a signal; adjust via the ladder in timing.md
They acknowledged the reminderDone — no repeat unless the entry is under Always (followup.md)
Window missed (offline, late detection, quiet hours)followup.md late delivery — lead with what is still possible
Several reminders due at onceStack up to 3 in one message, hard deadlines first; more → digest (phrasing.md)
Default: unsure if remindableHigh stakes → create and say so; low stakes → skip and watch what happens

Depth on demand: triggers.md what qualifies · timing.md lead times, ladder, quiet hours, timezones · phrasing.md writing the message · recurring.md repeating obligations · followup.md after it fires: acks, snooze, escalation, misses · learning.md reactions → preferences · setup.md first use · memory-template.md storage formats.

Core Rules

  1. Only remind about what they already know. New information is an alert; the litmus test above decides. Misclassifying erodes trust in both channels.
  2. Explicit beats learned beats default. "Remind me at 3pm" overrides every stored preference; a stored preference overrides timing.md; the defaults catch the rest. A one-off override never rewrites the category preference (learning.md).
  3. The loop: detect → evaluate → remind → observe → confirm → store. Detect (triggers.md), evaluate against ~/Clawic/data/remind/preferences.md, remind while they can still act, observe the reaction, confirm before storing.
  4. Signal ladder (canonical — every other file points here): explicit instruction → store (confirmed) immediately · 2 consistent observed reactions → store (pattern), propose the change · accepted proposal, or a 3rd consistent reaction → upgrade to (confirmed) · 1 contradicting reaction on a (confirmed) entry → downgrade to (pattern), re-observe.
  5. Remind while acting is still possible. Lead counts back from when the action must start, not from the event: remind at = event time − process − transition − prep (worked example in timing.md).
  6. One acknowledgment = done. Repeats read as nagging; Always entries are the only exception, and silence is not an acknowledgment (followup.md).
  7. Never store without comment. Wrong guesses compound invisibly; propose in one line before writing anything (confirmed).
  8. A working system sends fewer reminders each month, not more. Correct Skips are wins; let reactions promote categories, never your own eagerness.

Reminder Components

  • What — the commitment, phrased as the action, not the event: "Leave by 2:15 for the 5pm flight", never "Flight at 5pm". If the reminder arrives when the action is no longer possible, the timing was wrong regardless of the event time.
  • When — lead time before the action must start (timing.md)
  • How — tone, length, and stage wording (phrasing.md); default: one line, what + when + the single next step

Output Gates

Run before every reminder goes out:

  • Do they already know this? (No → it's an alert, not a reminder)
  • Can they still act on it after this arrives? (No → apply followup.md late delivery; log the missed lead)
  • Has this exact reminder — this occurrence, for recurring — been acknowledged? (Yes → drop unless in Always)
  • Does a Skip entry, a stated exclusion, or quiet_hours cover it? (timing.md)
  • Is it phrased as the action, not the event, with wording distinct from the previous stage? (phrasing.md)

Configuration

User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/remind/config.yaml.

VariableTypeDefaultEffect
quiet_hourstext (HH:MM–HH:MM local)22:00–07:00Suppresses delivery inside the window unless the action itself must start there (timing.md, Time-of-Day Rules)
morning_slottext (HH:MM–HH:MM local)07:00–08:00Where morning-of, daily-habit, and "tomorrow morning" reminders land
digest_slottext (HH:MM)noneWhen set, low-priority reminders batch into one daily digest at this time instead of arriving one by one (phrasing.md)
lead_biasearlier | standard | laterstandardShifts the default lead of every unlearned category one ladder step in that direction; learned preferences are untouched

Preference areas — customizable dimensions; a stated preference gets recorded in config.yaml and applied:

  • Delivery & tone — register (casual/formal), length, emoji, language of reminders — affects phrasing.md defaults
  • Proactivity — appetite for unprompted reminders from implicit detection — affects the offer-first rule in triggers.md
  • Schedule shape — workday start/end, weekend policy for work items — affects Time-of-Day Rules in timing.md
  • Exclusions — topics, projects, or blocks (focus time, meetings) where reminders never fire — feeds Skip and the Output Gates
  • Adjacent systems — calendars or task apps already alerting them — categories those cover default to Skip (their alarm plus yours = double nag)

Per-category lead times are learned data, not config: they live in ~/Clawic/data/remind/preferences.md (memory-template.md for the format).

Traps

TrapWhy it failsDo instead
Reminding about everything detectedFatigue: they tune out, and the one critical reminder dies with the noiseSkip low stakes by default; let reactions promote categories
Reminding at event timeAwareness without agency — nothing left to do but feel badLead counts back from when the action starts (timing.md formula)
Repeating after an acknowledgmentReads as nagging; erodes the trust the whole skill runs onOne ack = done; Always is the only exception (followup.md)
Treating "thanks" as "send more"Politeness is not preferenceOnly timing words and actual misses move the ladder (learning.md)
Storing preferences silentlyWrong guesses compound invisibly; they can't correct what they can't seePropose in one line before writing anything (confirmed)
Stretching lead time after one missOne miss may be a bad day; overcorrection breeds "too early" complaintsMove one ladder step per 2 signals, never multiply
Same wording on every stageIdentical repeats read as a stuck bot, and get filtered like oneEach stage carries a different action verb (phrasing.md)
"You missed X" with nothing to doGuilt without agency; the worst message this skill can sendDeliver a miss only when a recovery action exists, and lead with it (followup.md)

More Clawic skills, get them at https://clawic.com/skills/remind (install if the user confirms):

  • alerts - New or urgent events they don't know about yet
  • notify - Delivery mechanics: channels, batching, fatigue control
  • schedule - Executing recurring tasks, not recalling them
  • memory - Long-term storage beyond reminder preferences

Feedback

Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/remind.

Questions people ask

How is this different from an alert or a scheduled task?
Alerts deliver new information you didn't already know; this skill only surfaces items you could have written in your own calendar. Scheduled tasks execute actions on a clock; reminders just bring commitments back to your attention at the right lead time.
Will it keep firing if I forget to acknowledge?
No. One acknowledgment closes the reminder for that occurrence — the only exception is entries marked Always. Silence is treated as a missed window, not as consent to continue.
Can it learn my preferred lead times?
Yes. Phrases like "too early" or "I forgot" feed a signal ladder that adjusts lead time per category, after proposing the change to you. A contradicting reaction automatically downgrades a stored (confirmed) preference back to (pattern) so it can be re-observed.

Related skills

Read Remind (remind.com) — classes, chats, messages, notification settings — from a shell. Captures the signed-in session once through the fpx browser bridge, then queries Remind's GraphQL API with plain curl. Use for Remind data without running the remind-mcp server, in a script, or one-shot.

A personal date radar for birthdays and anniversaries. Use when an agent should greet someone on time, never double-book a celebration, or answer "whose special day is coming up". Requires a BlueColumn API key (bc_live_*).

calendar, schedule, events, appointments, tasks, alerts. Requires Hermes Agent.

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván553 installs18 stars

Maintain a local address book of who each person is and when to reach out.

79 installs4 stars