ravila4/nudge
Nudge the user with time-based reminders (stopping times, meetings, break suggestions). Surfaces via hook on prompt submission -- requires human interaction to fire. NOT for process monitoring or job polling -- use `sleep` in Bash instead.
npx skills add https://github.com/ravila4/claude-adhd-skills --skill nudge
Human-facing reminder system for managing focus and pacing. Nudges are stored in SQLite and surface via hook when due.
Proactively set nudges when:
Do NOT use nudge for:
sleep <seconds> in Bash instead -- it blocks inline and resumes without requiring user interaction.Scripts are located at hooks/:
python3 hooks/add_alert.py "<time>" "<message>"
Time formats:
HH:MM - Today at that time (e.g., 23:00)YYYY-MM-DD HH:MM - Specific datetime+30m - 30 minutes from now+2h - 2 hours from nowWhen a nudge has been addressed, dismiss it:
python3 hooks/ack_alert.py <id>
sqlite3 hooks/alerts.db "SELECT id, due_at, message FROM alerts WHERE acknowledged = 0"
Messages are notes-to-self for Claude. Include:
Format: reason - action to take
User asked to stop at 11 PM - wrap up current work and suggest break
User mentioned standup in 30m - remind to prep notes
2 hours on debugging session - check if stuck, suggest break
Deployment window opens at 14:00 - remind user to run deploy script
Due nudges appear in the system-reminder on each prompt submission. When a nudge fires:
CREATE TABLE alerts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
due_at TEXT NOT NULL, -- "YYYY-MM-DD HH:MM"
message TEXT NOT NULL, -- reason - action
created_at TEXT DEFAULT CURRENT_TIMESTAMP,
acknowledged INTEGER DEFAULT 0 -- 0=pending, 1=done
)
Location: hooks/alerts.db
Take ravila4/nudge from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.