← Back to Skills Marketplace
hardik500

Sleep Snooze

by Hardik500 · GitHub ↗ · v1.0.2
cross-platform ⚠ suspicious
386
Downloads
1
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install sleep-snooze
Description
Snooze incoming notifications during your sleep window and receive a morning digest when you wake up. Supports Telegram, WhatsApp, and any provider OpenClaw...
Usage Guidance
This skill appears to implement the advertised snooze/digest features and stores everything locally, but review these points before installing: 1) The installer (sleep-init.js) will modify your crontab to schedule sleep/wake jobs — check the exact cron lines it will add and prefer a manual crontab install if you want control. 2) The skill writes persistent files under ~/.openclaw/skills/sleep-snooze/data/ (including the SQLite queue containing message text); ensure you are comfortable with queued messages being stored locally and review file permissions. 3) There is an inconsistency: SKILL.md recommends using scripts/status.js to check isSleeping, but the code paths that actually gate sends use lib/sleep-check.loadSleepState() (which computes sleep from current time). status.js reads the stored flag and can be stale — rely on gate.js/loadSleepState for accurate checks. 4) The setup suggests detecting timezone with `date +%Z` but the code expects an IANA zone (e.g., America/New_York) — pick a proper IANA timezone when configuring. 5) If you accept, inspect the code (present in the package) and consider running sleep-init with cron registration disabled or manually add cron entries. If you need lower risk, consider asking for a build/install log or running the skill in a sandboxed account first.
Capability Analysis
Type: OpenClaw Skill Name: sleep-snooze Version: 1.0.2 The sleep-snooze skill is a notification management tool that queues messages during a user-defined sleep window and delivers a morning digest. It uses local SQLite storage (~/data/queue.db) and system crontab manipulation (via sleep-init.js) to handle scheduling, which are high-privilege but legitimate actions for its stated purpose. The code uses safe execution patterns (spawnSync with argument arrays) to prevent shell injection, and the prompt instructions in SKILL.md and SLEEP_MODE_ACTIVE.md are strictly functional, guiding the agent to respect sleep hours without attempting to subvert security boundaries or exfiltrate data.
Capability Assessment
Purpose & Capability
Name/description match the code: hooks intercept incoming messages, messages are queued in a local SQLite DB, and a morning digest is generated. Declared dependencies (node, better-sqlite3, node-cron) are appropriate for the functionality.
Instruction Scope
SKILL.md tells callers to use status.js to check isSleeping before sending, but the runtime hooks and gate.js call lib/sleep-check.loadSleepState() (which computes state from current time). status.js returns the stored state.isSleeping value from state.json (which can be stale). This is an inconsistency that could cause incorrect behavior. The docs also suggest using `date +%Z` to detect timezone (which yields an abbreviation, not an IANA name the code expects). Aside from these mismatches, the instructions direct only local reads/writes under ~/.openclaw/skills/sleep-snooze/, which is within scope.
Install Mechanism
Install uses npm packages (better-sqlite3 and node-cron) — no remote arbitrary downloads or unknown hosts. Note: better-sqlite3 is a native module that may require build tools; the install spec is proportionate to the task.
Credentials
The skill declares no required credentials and stores data locally. SKILL.md and references mention optional environment variables (SLEEP_START, WAKE_TIME, TIMEZONE) as alternative config — those are optional, which explains their absence from requires.env. No unrelated credentials are requested.
Persistence & Privilege
sleep-init.js will register cron jobs by editing the user's crontab and writes files under ~/.openclaw/skills/sleep-snooze/data/ (state.json, queue.db, vip-contacts.json). Modifying the user's crontab is a persistent system change and should be made explicit to the user; hooks also inject bootstrap files into agent contexts, affecting other agents' behavior. These privileges are coherent with scheduling, but are significant and warrant user review.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install sleep-snooze
  3. After installation, invoke the skill by name or use /sleep-snooze
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Fix: time-based sleep check (no longer depends on cron flipping isSleeping); gate.js wrapper for all outgoing sends; dm-guard hook auto-replies to DM senders during sleep
v1.0.1
Fix: agent:bootstrap hook now enforces sleep mode at session start, preventing agents from bypassing the queue
v1.0.0
Initial release
Metadata
Slug sleep-snooze
Version 1.0.2
License
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Sleep Snooze?

Snooze incoming notifications during your sleep window and receive a morning digest when you wake up. Supports Telegram, WhatsApp, and any provider OpenClaw... It is an AI Agent Skill for Claude Code / OpenClaw, with 386 downloads so far.

How do I install Sleep Snooze?

Run "/install sleep-snooze" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Sleep Snooze free?

Yes, Sleep Snooze is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Sleep Snooze support?

Sleep Snooze is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Sleep Snooze?

It is built and maintained by Hardik500 (@hardik500); the current version is v1.0.2.

💬 Comments