mcpbeat

Nudge

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.

680 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
118
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/ravila4/claude-adhd-skills --skill nudge

The instruction itself

10 sections, as written by the author

Nudge

Human-facing reminder system for managing focus and pacing. Nudges are stored in SQLite and surface via hook when due.

When to Use

Proactively set nudges when:

  • User mentions a stopping time ("stop me at 11", "I need to wrap up by 5")
  • User mentions a deadline or meeting ("standup in 30 minutes")
  • A long focus session (2+ hours) is underway without breaks
  • User asks for a reminder explicitly

Do NOT use nudge for:

  • Tasks Claude will complete in the current turn
  • Information that should go in memory instead
  • Process monitoring (e.g., "check if the build finished", "see if the pipeline completed"). Nudges require user input (prompt submission) to fire, so they cannot check on running processes. Use sleep <seconds> in Bash instead -- it blocks inline and resumes without requiring user interaction.

Tools

Scripts are located at hooks/:

Adding a Nudge

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 now

Acknowledging a Nudge

When a nudge has been addressed, dismiss it:

python3 hooks/ack_alert.py <id>

Viewing Nudges

sqlite3 hooks/alerts.db "SELECT id, due_at, message FROM alerts WHERE acknowledged = 0"

Message Format

Messages are notes-to-self for Claude. Include:

  • Reason - Why this nudge was set
  • Action - What to do when it fires

Format: reason - action to take

Examples

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

When Nudges Fire

Due nudges appear in the system-reminder on each prompt submission. When a nudge fires:

  • Read the message to understand context and action
  • Take the specified action (remind user, suggest break, etc.)
  • Acknowledge the nudge so it doesn't repeat

Database Schema

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

How to use it

Copy the folder

Take ravila4/nudge from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.