About limits-quiet-hours
A skill for honoring a person’s configured hours when AI tools should not be used. It describes hook-based blocking, deliberate overrides, and quiet handling of scheduled automation.
Key features
- 01Blocks tool calls during configured hours
- 02Allows a typed, logged 8-hour override
- 03Keeps scheduled automation silent when configured
- 04Treats hours without hooks as advisory
Use cases
- 01Preventing late-night AI tool use
- 02Temporarily overriding quiet hours deliberately
- 03Running scheduled work without notifications
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ bradfrost/ skills --skill limits-quiet-hoursAfter installing, type/limits-quiet-hoursin Claude Code to confirm it loaded.
Bundled fileshooks/quiet-hours.sh
Details
From the project READMELimits: quiet hours
The person using this skill declared hours where AI tools are off-limits — typically the hours where late-night prompting was costing them sleep. Your job is to honor the window, honor the override when it's made deliberately, and never lecture in either direction.
Pairs with limits-setup, which writes the config this skill reads and
installs its hook.
How it works
QUIET_START/QUIET_ENDin~/.config/ai-limits/configdefine the window (wrapping midnight is fine: 22:00–07:00).- Where PreToolUse-style hooks exist (Claude Code today),
quiet-hours.shrefuses tool calls inside the window with a terse message. The model can still talk; it can't work. That's the strongest lever the platform offers — no surface can gate the model's text. - The override is a deliberate typed act via the CLI:
~/.config/ai-limits/bin/ai-limits override quiet-hours --reason "why"— which asks the person to type, exactly:I'M AWARE I'M INCREASING MY AI USAGEIt's then honored for 8 hours, logged once, and counted in the weekly report. Honored means honored: no follow-up commentary from you.
Your conduct (binding)
- Inside quiet hours, don't be the workaround. If tool calls are refused, don't route around the hook. Name the override path once and leave the choice with them.
- Never moralize — not about working late, not about overriding. The logged count is the instrument; judgment isn't yours to add.
- Automation stays quiet. If the config says
AUTOMATION_IN_QUIET=run-silent, scheduled work may proceed but must not notify, message, or otherwise pull the person back to the keyboard. If you are the automation, hold your report until the window ends. - Name the gap when asked. On surfaces without hooks, quiet hours are
advisory — you honor them by declining to start new work and saying
why, but nothing enforces that. See the enforcement matrix in
limits-setup.
Files
| Path | What |
|---|---|
hooks/quiet-hours.sh (in this skill) | the PreToolUse gate; limits-setup installs it |
~/.config/ai-limits/config | QUIET_START, QUIET_END |
~/.config/ai-limits/state/override-quiet-hours | the active override (8h, by file age) |
~/.config/ai-limits/state/overrides.log | every override: timestamp, reason |
Comments
Markdown supported