Skip to main content

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-dateutil for RRULE evaluation (declared in pyproject.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

huxley_skill_reminders-0.1.0.tar.gz (38.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

huxley_skill_reminders-0.1.0-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file huxley_skill_reminders-0.1.0.tar.gz.

File metadata

File hashes

Hashes for huxley_skill_reminders-0.1.0.tar.gz
Algorithm Hash digest
SHA256 426ee30a0a1899368fac14bae6c20e5768711e47164f2aeac39ca4c21692e15b
MD5 a34201b9cdf9d9739cca06f2a0d985c1
BLAKE2b-256 bba44a0fc6fa9831ebe51f74365a31a97565a3101622c930579c17c2052690c5

See more details on using hashes here.

File details

Details for the file huxley_skill_reminders-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for huxley_skill_reminders-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64cb759234f41a753f346c3177794771ae420d66b97901e72fddbee9f2edf202
MD5 4cb6a27743c3b789d661c9a8973a9952
BLAKE2b-256 b500342c0ed3dba2d3a794d9e8cf96714ab8109a0be60cf028e146a494ad3f64

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page