Persistent reminders for Huxley — RFC 5545 RRULE recurrence, kind-aware retry escalation, catch-up at boot.
Project description
huxley-skill-reminders
Persistent reminders for Huxley. Calendar-time + RFC 5545 RRULE recurrence, kind-aware retry escalation, catch-up at boot.
Status: bundled with the Huxley repo as a workspace member.
What it does
set_reminder— "remind me to take my pill at 9am every day" — schedules a one-shot or recurring reminder. Recurrence rules accept full RFC 5545 RRULE syntax (FREQ=DAILY,FREQ=WEEKLY;BYDAY=MO,WE,FR, etc.). Tz-aware so DST transitions don't drift the local fire time.list_reminders— "what reminders do I have" — speaks the upcoming list.cancel_reminder— "cancel my pill reminder" — removes by id (or by fuzzy match on name).
When a reminder fires, the skill emits a proactive inject_turn so the persona narrates it in voice. Kind-aware retry: a missed medication reminder retries louder + more often than a missed lunch reminder. Catch-up at boot: reminders that should have fired during downtime surface once the persona is ready.
Configure
skills:
reminders:
timezone: "America/Bogota" # IANA TZ name
fire_prompt: "Recordatorio:" # prefix the persona uses when narrating
seed: 42 # optional; deterministic ids for tests
i18n:
es:
kind_medication: "medicamento"
kind_appointment: "cita"
# ... per-kind locale strings
en:
kind_medication: "medication"
kind_appointment: "appointment"
config_schema = None — locale i18n maps + per-kind retry policies don't fit JSON Schema cleanly; v2's PWA falls back to "edit YAML directly."
Storage
Reminder rows persist in ctx.storage under reminder:<id> keys. Each row stores fire-at, RRULE (for recurring), kind, retry state, last-fire timestamp.
Requirements
python-dateutilfor RRULE evaluation (declared inpyproject.toml).- No external services.
Development
uv run --package huxley-skill-reminders pytest server/skills/reminders/tests
uv run ruff check server/skills/reminders
uv run mypy server/skills/reminders/src
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file huxley_skill_reminders-0.1.0.tar.gz.
File metadata
- Download URL: huxley_skill_reminders-0.1.0.tar.gz
- Upload date:
- Size: 38.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
426ee30a0a1899368fac14bae6c20e5768711e47164f2aeac39ca4c21692e15b
|
|
| MD5 |
a34201b9cdf9d9739cca06f2a0d985c1
|
|
| BLAKE2b-256 |
bba44a0fc6fa9831ebe51f74365a31a97565a3101622c930579c17c2052690c5
|
File details
Details for the file huxley_skill_reminders-0.1.0-py3-none-any.whl.
File metadata
- Download URL: huxley_skill_reminders-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64cb759234f41a753f346c3177794771ae420d66b97901e72fddbee9f2edf202
|
|
| MD5 |
4cb6a27743c3b789d661c9a8973a9952
|
|
| BLAKE2b-256 |
b500342c0ed3dba2d3a794d9e8cf96714ab8109a0be60cf028e146a494ad3f64
|