schedule-reminderlisted
Install: claude install-skill DaizeDong/schedule-reminder
# schedule-reminder, the T0 schedule/memo base
> Governing principle (full text in `PHILOSOPHY.md`): **a base is the contract, not the storage.**
> Downstream skills depend on a frozen CLI/JSON surface, never on the database, so the engine can
> change forever without breaking them. Correctness (concurrency-safe, crash-safe, backward-compatible)
> beats features.
## When to use / when to stop
- **Use** when the user wants to track a todo / event / deadline / 进度 / 提醒 / 备忘, or when another
skill (email-monitor, daily-hotspots, demand-mining, promotion-assistant) needs to **write a
reminder** or **read task progress**.
- **Stop / route elsewhere:** a one-off "send me a Discord message now" with nothing to persist is
just the relay, not this. This base is for state that must survive, be queried, and be reminded.
## How it works (one screen)
```
SQLite (WAL) single file <- private storage, NEVER touched by downstream
store.py (typed functions) <- in-process, trusted skills MAY import
reminder.py <verb> <- the ONLY stable contract (JSON always); downstream calls via subprocess
[Windows task: PT5M heartbeat] -> reminder.py tick -> reconcile due items -> Discord relay (out)
[Windows task: PT10M ingest] -> ingest_tick -> poll channels for user replies -> dispatch (in)
```
The Agent Center bus is **two-way**: `relay.py`/`digest.py` push out; `ingest.py`/`dispatch.py` pull
user replies back in and turn them into pool mutations via the code