ld-dashboard

Registers seven life-dashboard cron jobs idempotently from a versioned spec inside the Hermes agent container.

2|Updated Aug 25, 2026
One-click install
npx skills add https://github.com/plow-pbc/life-assistant-hermes-agent --skill ld-dashboard-plow-pbc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ld-dashboard
Source: https://github.com/plow-pbc/life-assistant-hermes-agent/tree/main/ld-dashboard
Command: npx skills add https://github.com/plow-pbc/life-assistant-hermes-agent --skill ld-dashboard-plow-pbc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? A rebuilt Hermes agent loses its cron schedule because nothing replays jobs.json, leaving the life dashboard's wall screen permanently stale with no way to diff what was lost. This Skill replays a reviewed, versioned spec of all seven producer schedules instead of improvising them from memory. ## Core Features & Use Cases - Idempotent cron registration: Reads hermes cron's own jobs.json state file and creates only missing jobs, so it is safe to re-run after any rebuild. - Defensive validation: Refuses to register when the container timezone disagrees with family.timezone, when the Plow Chat delivery target is unset, or when the jobs file is unreadable — never mistaking "can't tell" for "nothing is registered". - Paused-job detection: Names producers that are registered but paused and exits non-zero so unattended re-provisioning can act on the signal. - Use Case: After rebuilding the agent's home volume, ask the agent to set up the life dashboard crons; the script registers all six producers (weather, sports, morning updates, morning/evening triage, weekly digest, calendar nudge) and reports exactly what happened. ## Quick Start Ask the agent to set up or re-register the life dashboard crons and paste the script's output verbatim with its exit status.

Frequently Asked Questions about ld-dashboard

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I restore hermes cron jobs after rebuilding the agent container?▼

Run the register_crons.py script inside the container after sign-in. It reads /var/lib/hermes/cron/jobs.json, creates only the seven missing dashboard producer jobs, and is safe to re-run because existing jobs are skipped.

How do I schedule cron jobs with hermes cron create?▼

Use hermes cron create with a cron expression, a prompt, and optional --name, --skill, and --deliver flags. Jobs fire in the container's TZ since there is no per-job timezone option, and --deliver relays every final response to a chat target.

Why does the script refuse to register crons with a timezone error?▼

Registration is refused when the container's TZ differs from family.timezone in /var/lib/hermes/ld/config.json. Since schedules are bare cron expressions, a mismatch would make cards land at the wrong local hour silently; restart the container or fix the config.

What happens if a dashboard cron job is paused?▼

A paused job is left alone rather than duplicated, named in a warning, and the script exits non-zero after registering everything else. Resume it with hermes cron resume <name> so the producer fires again.

Can I run the registration script from the host with docker exec?▼

No. A bare docker exec lands as root and lacks the gateway's environment, so PLOW_HOME_CHANNEL would be unset and jobs could be created root-owned. Run it from a chat turn, which inherits the correct uid and environment.