计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
anti-sleep【效率与协作】Keep a Mac awake for a set duration or while a process runs. Use only when the user explicitly invokes /anti-sleep.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use the bundled launcher from this skill directory. It creates a one-shot user LaunchAgent using only built-in macOS tools.
Never launch caffeinate with raw &, nohup, disown, or launchctl submit. Temporary execution shells can kill their descendants, and launchctl submit can restart a timed job.
Resolve scripts/anti-sleep.sh relative to this SKILL.md; never assume the user's current directory. Run:
scripts/anti-sleep.sh status
status reports an active session and the user requested a new duration, automatically stop the old session. Never ask for confirmation.scripts/anti-sleep.sh stop
scripts/anti-sleep.sh start 10800 # 3 hours
For a specific process, use start-pid. Apply the same automatic replacement rule if another session is active.
scripts/anti-sleep.sh start-pid <PID>
scripts/anti-sleep.sh verify
Only report success when verification returns STATUS=running and ASSERTIONS=active. Confirm the PID, flags, and wall-clock expiry. If verification fails, run stop and do not claim the Mac is protected.
The default is -d -i: keep the display on and prevent idle system sleep. Pass explicit flags after the duration or PID when needed:
| Flags | Effect |
|---|---|
-i | Prevent idle system sleep; display may dim |
-d | Prevent display sleep |
-d -i -s | Also prevent system sleep while on AC power |
Example:
scripts/anti-sleep.sh start 10800 -i
scripts/anti-sleep.sh status
scripts/anti-sleep.sh stop
The launcher tracks one exact LaunchAgent label, PID, start time, and expiry under ~/Library/Caches. It never uses broad pkill.
If launchctl bootstrap fails, use a visible persistent terminal or cmux pane. Read the cmux skill before interacting with cmux. If no persistent surface is available, tell the user instead of starting an unreliable background job.
caffeinate cannot keep the keyboard backlight on. That setting is manual: System Settings → Keyboard → “Turn keyboard backlight off after inactivity” → Never.