resume-at
SkillProductivitySchedule a future resume of work - e.g. '/gsd:resume-at 09:00', '/gsd:resume-at +2h', or '/gsd:resume-at 04:00 --cmd /gsd:execute-phase 9'
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the resume-at skill
What this skill tells your AI
The instructions your AI receives, as published by buildomator/buildomator in skills/resume-at/SKILL.md and read by ahel’s review.
No-token fallback. If you've hit your usage cap and the skill itself won't run (it needs tokens to parse args and call CronCreate),
/exitthe rate-limited session and invoke the shell wrapper from a plain terminal:/exit # leave the rate-limited Claude session first gsd-resume-at 17:41 # then schedule from your shell — no tokens consumed # or with explicit duration / project: gsd-resume-at +3h --project ~/code/myproject # if `gsd-resume-at` isn't on PATH: $CLAUDE_PLUGIN_ROOT/bin/gsd-resume-at +3h # or fully absolute: ~/.claude/plugins/cache/gsd-plugin/gsd/<version>/bin/gsd-resume-at +3hPure shell — uses
nohup sleepfor an OS-level timer, no Claude tokens consumed. macOS only for v1; the script reports if you're on another platform. Does NOT survive a reboot — for durable cross-reboot scheduling, use this skill (/gsd:resume-at) when tokens are available. The plugin'sStophook surfaces this hint automatically when it detects a rate-limit message in the transcript.
Thin wrapper: the plugin already covers the resume itself (HANDOFF.json + /gsd:resume-work); this skill provides the scheduling on-ramp, and Claude Code's /schedule (or CronCreate primitive) does the durable cron storage.
-
Parse the time argument. The first positional argument is the target time. Accept three forms:
HH:MM— today at that local clock time. If the time has already passed today, schedule for tomorrow at the same time.- ISO 8601 (e.g.
2026-04-28T08:00,2026-04-28T08:00:00-04:00) — absolute timestamp. Use as-is. +<duration>— relative offset from now. Accept+30m,+2h,+90m,+1d. Compute absolute target asnow + duration.
If no argument is provided, ask the user via AskUserQuestion: "When should I resume? (e.g.
09:00,+2h, or2026-04-28T08:00)". If parsing fails, surface the input and the supported forms; do not guess. -
Resolve the command to schedule. Default is
/gsd:resume-work(the plugin's standard resumption entry point — restores HANDOFF.json + STATE.md and routes to next action). If the user passed--cmd "<command>", use that command instead. Useful overrides:--cmd "/gsd:next"— resume by jumping to the next workflow step (skips the status-print phase of resume-work)--cmd "/gsd:execute-phase 9"— resume directly into a specific phase--cmd "/gsd:quick <task description>"— schedule a quick task for later
-
Schedule via Claude Code's scheduling primitive. Use the
Skilltool to invoke/scheduleif the host CLI exposes it; otherwise fall back toCronCreatedirectly. Pass:prompt: the resolved command (default/gsd:resume-work)time: the absolute timestamp computed in step 1 (ISO 8601, with the local timezone)- working directory: the current GSD project root, so the new session opens with HANDOFF.json visible
When
/schedule/CronCreate isn't available in the current Claude Code build, surface that explicitly — don't silently no-op. Tell the user the plugin'sresume-atskill needs the host's scheduling support, and link them to/scheduledocumentation. -
Confirm what was scheduled. Print:
- Absolute time (local + UTC)
- The exact command that will fire
- The project directory the future session will open in
- A reminder that
HANDOFF.jsonis checkpointed every ≤60s during active work, so the resume reflects state from at most ~60s before this scheduling call (or from the most recent/compactif the session is currently idle)
-
Optional safety nudge. If the user did not pass
--cmdand the current session has uncommitted dirty state (a non-emptygit status -s), warn that a future/gsd:resume-workwill pick up whatever HANDOFF reflects at scheduling time — they may want to/gsd:pause-workexplicitly first to capture intent before scheduling.
<output_format> After scheduling, emit a confirmation block:
✓ Resume scheduled
When: 2026-04-27 22:00 PDT (2026-04-28 05:00 UTC)
Command: /gsd:resume-work
Project: /Users/you/your-project
HANDOFF: written 47s ago (auto-postool)
If a /clear boundary makes sense (long session, scheduling at the end of an active day), suggest /clear per references/continuation-format.md. Otherwise, just confirm and stop — the user is presumably about to step away.
</output_format>
Signals
- GitHub stars
- 86
- Forks
- 12
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
resume-at- Source
- github.com/buildomator/buildomator