一键导入
deferring-task-execution
// Delays execution of a task until a specified time or after a duration. Use when the user asks to run something later, in X minutes/hours, at a specific time, schedule a command, or defer work to a future point.
// Delays execution of a task until a specified time or after a duration. Use when the user asks to run something later, in X minutes/hours, at a specific time, schedule a command, or defer work to a future point.
Creates structured development plans with phased task breakdowns, requirements, and QA checklists. Use when the user explicitly asks to create a dev plan, development plan, or document development requirements.
Creating and maintaining CLAUDE.md project memory files and .claude/rules/ rule files that provide non-obvious codebase context. Use when (1) creating a new CLAUDE.md for a project, (2) adding architectural patterns or design decisions to existing CLAUDE.md, (3) capturing project-specific conventions that aren't obvious from code inspection, (4) organising instructions into path-scoped rule files.
Reverse-engineer an application's design system from its codebase and screenshots. Use when asked to analyse visual design, extract a colour palette, document UI patterns, identify typography and spacing systems, audit design consistency, or understand the design language of a frontend codebase.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Rewrites text containing AI slop to make it more human-like. Use when explicitly asked to rewrite AI generated text.
Applies a modified Fagan Inspection methodology to systematically resolve persistent bugs and complex issues. Use when multiple previous fix or debugging attempts have failed repeatedly,or when a methodical root cause analysis or complex problems is needed. Do not use for simple troubleshooting.
| name | Deferring Task Execution |
| description | Delays execution of a task until a specified time or after a duration. Use when the user asks to run something later, in X minutes/hours, at a specific time, schedule a command, or defer work to a future point. |
| allowed-tools | ["Bash","Read","TaskOutput"] |
Delays agent work until a user-specified time using a background timer script, then proceeds with the deferred task.
~/.claude/skills/deferred-task-execution/scripts/wait-until.sh
The script accepts one argument in either format:
Duration - relative delay from now:
30s, 5m, 1h, 90m, 2h30m, 1h15m30sClock time - specific time of day:
14:30, 9:00, 3pm, 3:30pmConfirm what task to perform and when. Parse their natural language into a wait-until argument:
| User says | Argument |
|---|---|
| "in 30 minutes" | 30m |
| "in an hour" | 1h |
| "in 2 and a half hours" | 2h30m |
| "at 3pm" | 3pm |
| "at 14:30" | 14:30 |
| "at half past 9" | 9:30am |
The script self-handles timezone via the USER_TZ variable defined at the top of wait-until.sh (defaults to Australia/Melbourne). Clock-time arguments are interpreted in that zone regardless of host TZ. Don't ask the user about timezones unless they mention travelling.
Tell the user exactly what will happen and when the timer will fire. Ask them to confirm before starting.
Run the wait script using Bash with run_in_background: true:
~/.claude/skills/deferred-task-execution/scripts/wait-until.sh <argument>
Note the task ID from the response -- you need it for the next step.
Use the TaskOutput tool to block until the timer completes:
block: truetimeout: 600000 (maximum: 10 minutes / 600000ms)If the wait exceeds 10 minutes: TaskOutput will return before the timer completes because the maximum timeout is 600000ms. Check the output -- if it does not contain "Timer complete", call TaskOutput again with the same task ID and block: true. Repeat until the timer finishes.
Once TaskOutput returns output containing "Timer complete. Proceed with deferred task.", carry out whatever work the user requested.
TaskStop with the background task ID.