gsd_resume-at
Schedule 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
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
<objective>
Schedule a future Claude Code session that automatically resumes the current GSD project at the requested time. Useful when:
- Hitting a usage / token cap and wanting to come back later without manually restarting
- Pausing for the day and wanting work to kick off overnight so HANDOFF restores the morning session
- Queuing a future GSD command (e.g.
/gsd:execute-phase 9at 04:00) for off-peak quota use
> 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 — the very moment you don't have any), /exit the rate-limited session and invoke the shell wrapper from a plain terminal:
>
> ```bash
> /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 +3h
> ```
>
> Pure shell — uses nohup sleep to schedule an OS-level timer, no Claude tokens consumed. macOS only for v1; the script will tell you 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's Stop hook will surface this same hint automatically when it detects a rate-limit message in the session transcript.
This skill is a thin wrapper. The plugin already covers the resume itself (HANDOFF.json + /gsd:resume-work). What was missing was a way to ask Claude to come back at time T. This skill provides the scheduling on-ramp; Claude Code's built-in /schedule (or CronCreate primitive) does the durable cron storage.
</objective>
<process>
- 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, or 2026-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's resume-at skill needs the host's scheduling support, and link them to /schedule documentation.
- 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.
</process>
<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>
<rules>
- This skill never advances or deletes HANDOFF.json. The scheduled session does that via
/gsd:resume-work. - The skill does not poll, sleep, or block — it returns immediately after scheduling.
- If the user passes
--cmdwith a non-/gsd:command (e.g./help), pass it through anyway. Resume-at schedules; it does not gatekeep what runs. - Times in the past (after parsing) are an error — surface the parsed timestamp and ask for a new value. Do not silently round up to "now + 1m".
- When scheduling uses CronCreate directly, prefer one-shot scheduling (single fire), not recurring. Recurring resume is a separate use case (
/loopcovers that).
</rules>
<notes>
- Why a wrapper, not a reimplementation: Claude Code's
/scheduleandCronCreatealready handle persistence-across-restarts, timezone math, and authorization correctly. Building our own would duplicate complex code and drift over time. Resume-at exists purely to translate GSD-flavored input (+2h, default/gsd:resume-work) into the form/scheduleexpects. - Why default
/gsd:resume-workand not/gsd:next:resume-workprints status and routes — useful when you might forget where you were.nextjumps straight to action. Default is the safer first-impression choice; users with a clear destination override via--cmd. - The complement skill is
/gsd:resume-work(deletes HANDOFF after restoring) and/gsd:pause-work(writes HANDOFF on demand).resume-atschedules; resume-work restores; pause-work captures.
</notes>
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。