Agent skill
clock
Schedule recurring tasks in your session. Defaults to time check every 15 min.
Install this agent skill to your Project
npx add-skill https://github.com/idvorkin/chop-conventions/tree/main/skills/clock
SKILL.md
Clock — Session Scheduler
Schedule a recurring task in your session. Reports the current time, then sets up a CronCreate loop.
Usage
/clock # default: time every 15 min
/clock 15m # time every 15 min (explicit)
/clock 4h /background-usage # run /background-usage every 4 hours
/clock 30m remind me to stretch # custom reminder every 30 min
/clock 1h time # time every hour
Arguments:
- interval (optional): Duration like
15m,30m,1h,4h. Default:15m - action (optional): What to do on each tick. Default:
timetime— report current time/skill-name— invoke a skill (e.g.,/background-usage)- any other text — use as a reminder message
Supported intervals: 15m, 20m, 30m, 1h, 2h, 4h. Other values are not supported — ask the user to pick a supported interval.
Steps
1. Parse arguments
Extract interval and action from the arguments. If no arguments, use 15m and time.
2. Report current time and execute action immediately
Always report the current time first:
echo "PST: $(TZ='America/Los_Angeles' date '+%I:%M %p %Z (%A, %B %d, %Y)')"
Tell the user conversationally:
It's 3:45 PM PST, Monday Mar 17.
Then execute the action right now (this IS the first tick — no separate one-shot needed):
- If action is
time: you just reported it, done. - If action is
/skill-name: invoke the skill now. - If action is custom text: show the reminder now.
3. Convert interval to cron expression
| Interval | Cron expression | Notes |
|---|---|---|
15m |
3,18,33,48 * * * * |
At :03, :18, :33, :48 each hour |
20m |
7,27,47 * * * * |
At :07, :27, :47 each hour |
30m |
7,37 * * * * |
At :07, :37 each hour |
1h |
57 * * * * |
At :57 each hour |
2h |
57 */2 * * * |
Every 2 hours at :57 |
4h |
57 */4 * * * |
Every 4 hours at :57 |
4. Build the cron prompt
If action is time:
Report the current time to the user. Run: TZ='America/Los_Angeles' date '+%I:%M %p %Z (%A, %B %d, %Y)' — then tell them the time in one line, e.g. "Clock: It's 4:48 PM PST, Monday Mar 17." Keep it to one line.
If action is a /skill-name:
Run the <skill-name> skill now. Use a background Agent subagent (run_in_background: true) so it doesn't block the main conversation.
If action is custom text:
Reminder: <the text>. Also report the current time (run: TZ='America/Los_Angeles' date '+%I:%M %p %Z').
5. Create the recurring cron job
- cron: (from step 3)
- recurring: true
- prompt: (from step 4)
6. Set up self-renewal
CronCreate jobs auto-expire after 3 days. Create a one-shot renewal that fires ~70 hours from now and re-invokes /clock with the same arguments.
Use date to calculate the renewal time reliably:
date -u -d '+70 hours' '+%M %H %d %m *'
Use that output directly as the cron expression.
- cron: (output of the date command above)
- recurring: false
- prompt:
The clock cron job is about to expire. Re-invoke: /clock <original arguments>. Run the skill now.
7. Confirm
Scheduled: every . Auto-renews before the 3-day expiry.
Notes
- If the user runs
/clockagain with the same or different args, just create new cron jobs — a few hours of overlap is fine. - All cron minutes are offset to avoid :00/:15/:30/:45 congestion marks.
- Session-only: all cron jobs die when Claude exits.
- For
/skill-nameactions, the skill must be available in the session.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
up-to-date
Sync git repository with upstream. Use at the start of a session, when asked to sync, get up to date, check git status, or when working on a stale branch.
image-explore
Brainstorm multiple visual directions for a blog image, generate them in parallel, build a comparison page, and optionally publish as a shareable link (Surge.sh or gist).
build-bd
background-usage
Check Claude Code plan usage via a hidden tmux session. Reports weekly usage percentage, time until reset, and pacing status.
ammon
What time is it for Ammon? Looks up the current time in Denmark (Europe/Copenhagen timezone) and reports it.
showboat
Create executable demo documents with screenshots using Showboat + Rodney. Use when the user wants to document an app, create a visual walkthrough, take screenshots of a deployed site, run an accessibility audit, or build self-verifying documentation.
Didn't find tool you were looking for?