Maintain a local address book that recalls people, tracks contact dates, and prepares context-aware drafts.
Coding
Remind
Get action-focused reminders for known commitments at a useful lead time, with timing adapted from your feedback.
What it does
Turn known commitments—meetings, deadlines, bills, promises, and follow-ups—into action-focused reminders sent while there is still time to act. Explicit timing overrides learned category preferences and defaults; reactions can refine lead times after confirmation. It handles recurring obligations, snoozes, missed windows, quiet hours, and grouped due reminders without treating new information as a reminder.
When to use it
- Preparing for meetings, appointments, or flights
- Tracking bills, renewals, taxes, and reviews
- Following up on promises from colleagues
- Snoozing or rescheduling an existing reminder
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
| Situation | Play |
|---|---|
| "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 reminder | followup.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 reminder | Done — 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 once | Stack up to 3 in one message, hard deadlines first; more → digest (phrasing.md) |
| Default: unsure if remindable | High 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
- Only remind about what they already know. New information is an alert; the litmus test above decides. Misclassifying erodes trust in both channels.
- 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). - 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. - 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. - 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 intiming.md). - One acknowledgment = done. Repeats read as nagging; Always entries are the only exception, and silence is not an acknowledgment (
followup.md). - Never store without comment. Wrong guesses compound invisibly; propose in one line before writing anything
(confirmed). - 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.mdlate 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_hourscover 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.
| Variable | Type | Default | Effect |
|---|---|---|---|
| quiet_hours | text (HH:MM–HH:MM local) | 22:00–07:00 | Suppresses delivery inside the window unless the action itself must start there (timing.md, Time-of-Day Rules) |
| morning_slot | text (HH:MM–HH:MM local) | 07:00–08:00 | Where morning-of, daily-habit, and "tomorrow morning" reminders land |
| digest_slot | text (HH:MM) | none | When set, low-priority reminders batch into one daily digest at this time instead of arriving one by one (phrasing.md) |
| lead_bias | earlier | standard | later | standard | Shifts 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.mddefaults - 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
| Trap | Why it fails | Do instead |
|---|---|---|
| Reminding about everything detected | Fatigue: they tune out, and the one critical reminder dies with the noise | Skip low stakes by default; let reactions promote categories |
| Reminding at event time | Awareness without agency — nothing left to do but feel bad | Lead counts back from when the action starts (timing.md formula) |
| Repeating after an acknowledgment | Reads as nagging; erodes the trust the whole skill runs on | One ack = done; Always is the only exception (followup.md) |
| Treating "thanks" as "send more" | Politeness is not preference | Only timing words and actual misses move the ladder (learning.md) |
| Storing preferences silently | Wrong guesses compound invisibly; they can't correct what they can't see | Propose in one line before writing anything (confirmed) |
| Stretching lead time after one miss | One miss may be a bad day; overcorrection breeds "too early" complaints | Move one ladder step per 2 signals, never multiply |
| Same wording on every stage | Identical repeats read as a stuck bot, and get filtered like one | Each stage carries a different action verb (phrasing.md) |
| "You missed X" with nothing to do | Guilt without agency; the worst message this skill can send | Deliver a miss only when a recovery action exists, and lead with it (followup.md) |
Related Skills
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 yetnotify- Delivery mechanics: channels, batching, fatigue controlschedule- Executing recurring tasks, not recalling themmemory- Long-term storage beyond reminder preferences
Feedback
- If useful, star it: https://clawic.com/skills/remind
- Latest version: https://clawic.com/skills/remind
Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/remind.
Questions people ask
- How does it decide when to remind me?
- It counts backward from when the required action must start, including process, transition, and preparation time. Explicit instructions take priority, followed by learned category preferences and then defaults.
- Will it keep repeating a reminder after I respond?
- No. One acknowledgment completes the reminder unless that entry is explicitly classified as Always; silence alone does not count as acknowledgment.
- Can it learn that reminders are arriving too early or too late?
- Yes. It maps timing reactions and misses to signals, changes preferences gradually, and proposes learned changes before storing them as confirmed.
Related skills
Creates a morning briefing from sleep, biometrics, calendar, activity, and local weather data.
Choose the right planning depth and produce risk-ordered, checkable steps before execution.
Extract email dates, links, and deadlines for review, then create or update tracked Google Calendar events.
Run goal-focused coaching sessions with clear questions, commitments, accountability, and progress checks.
Check calendars, find open times, and manage Google Calendar events with confirmation before every change.