Skip to content
Back to skills

Autopilot

ASecurity

One unattended autopilot tick for a shadowcast channel. It does the single most useful next step (continue an episode, auto-approve after the review window, start a new episode, or schedule) and stops. Run by the launchd job via headless Claude Code; also use it to install, remove or check autopilot.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentspythongo

Works with

  • claude code

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add generalizingai/shadowcast --skill autopilot --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Autopilot?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Autopilot
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/generalizingai-autopilot/badge)](https://www.skillsdirectory.com/skills/generalizingai-autopilot)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: autopilot
description: One unattended autopilot tick for a shadowcast channel. It does the single most useful next step (continue an episode, auto-approve after the review window, start a new episode, or schedule) and stops. Run by the launchd job via headless Claude Code; also use it to install, remove or check autopilot.
argument-hint: <channel slug> | install <slug> [hours] | remove <slug> | status <slug>
---

# Autopilot

`T="${CLAUDE_PLUGIN_ROOT}/tools"`

## Install / remove / status (interactive)
- Install: `python3 "$T/autopilot/install.py" <slug> --every-hours 3`. This creates a launchd agent on macOS, or a Task Scheduler task on Windows, that runs `tools/autopilot/run.py <slug>`. That script calls `claude -p "/shadowcast:autopilot <slug>" --model claude-opus-5-5` with a fixed tool allowlist, a lock, and a log at `<workspace>/<slug>/autopilot.log`.
- `--remove` and `--status` do what they say.
- Tell the user what this means:
  - The computer must be on and awake. On macOS: System Settings → Energy → prevent sleep when plugged in. On Windows: Settings → Power → Sleep: Never (when plugged in).
  - Each tick uses their Claude subscription.
  - Scripts for real-people channels always wait for `/shadowcast:approve`.
  - Notifications and `<workspace>/<slug>/inbox.md` say when something needs them.

## A tick (headless; there is no user to ask)
Never ask questions or wait for input. If something needs a human, run `python3 "$T/notify.py" <slug> "<title>" "<what to do>"` and end the tick.

1. Run `python3 "$T/ep.py" next <slug>`, then act on the action it returns:
   - `continue_episode`: run the episode skill for that ID from its status. Go as far as possible: research, script, and approval gate, or voice, build, audit, render, package and schedule.
   - `auto_approve`: the review window passed with no objection. Run `python3 "$T/ep.py" set <slug> <ID> approved`, notify "Auto-approved <ID>", then continue the episode.
   - `rewrite_script`: the user gave feedback. Rewrite the script per the episode skill, then go back to `awaiting_approval`.
   - `new_episode`: start the next episode (episode skill, step 1).
   - `idle`: nothing to do. Print one line and stop.
2. Then check for anything packaged but not scheduled, and publish it (publish skill: schedule, then publish, then comment).
3. **Hard stops.** Notify the user and end the tick on any of these:
   - a missing key or expired YouTube token
   - less than 4 GB of free disk
   - a quota error
   - a layout audit you can't get clean after 3 passes
   - a fact you can't source (cut it instead, if you can)
4. End with a 3-line summary of what changed. It goes to the log.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…