---
name: sleepwalk
description: Use SleepWalk when the user says "do not sleep", asks to keep this Mac awake for a long-running task, invokes the SleepWalk skill, or asks to wrap a command.
metadata:
  sleepwalk-version: "8"
  source-url: "https://sleepwalk.app/SKILL.md"
---

# SleepWalk

SleepWalk is a local macOS app for bounded keep-awake sessions. It does not inspect prompts, code, logs, windows, or network traffic.

Use it only for an explicit keep-awake request or a genuinely long-running command.

## Workflow

1. Check availability:

```bash
sleepwalkctl status
```

If unavailable, ask the user to open SleepWalk or install the CLI from Settings → Agents.

2. If the status is `inactive`, start one global session for the requested long task:

```bash
sleepwalkctl start \
  --duration 1h \
  --battery-floor 20 \
  --thermal-stop hot
```

Only include duration, battery, or thermal flags when the user requests them. Thermal stops are `warm`, `hot`, or `critical`. When the user explicitly needs the display to stay on, add `--keep-display-awake`; it is incompatible with display sleep. If the status is already `active`, keep using that session and do not replace or stop it when the task finishes.

3. If this agent started the session, stop it when the task completes or genuinely stops:

```bash
sleepwalkctl stop
```

Stopping SleepWalk ends the global keep-awake session. It never kills user processes.

For one long non-interactive command:

```bash
sleepwalkctl run \
  -- npm test
```

Do not start SleepWalk for ordinary short commands. Never disable its safeguards.
