unattended
Skill1 starsChanged 20 days agoMITView on GitHub
Run a long or expensive prompt or command unattended as a background job that waits out Claude usage limits and resumes itself, within a deadline, a resume count and a cost cap; can bill an API key instead of the login. Use when the user says "run this overnight", "keep going after the limit resets", "resume when the limit resets", "run this on the API key", "spin up a prompt on an API thread", or wants to wrap a long command such as `agile-team start` so it survives session limits. Also "stop it hard at 6pm", "extend the deadline", "tell me if it stalls or goes idle".
- Reads credentials
1 other project uses a version of this.
Adopted by
Most recently taken up by
- deedeeharris/claude-skillstheir own version, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- deedeeharris/claude-skills★ 7same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- .team/CLAUDE.mdCLAUDE.md
- agile-teamSkill
- example-skillSkill
- house-rulesSkill
- render-markdownSkill
- routed-group-chatSkill
- six-hatsSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Every flag, the job files, limit detection and the command contract are in reference/protocol.md next to this file.
- Very specific: line 48
Get notified: run $UN wait NAME --until-notice with run_in_background.
- Very specific: line 79
Don't poll: Use wait with run_in_background, not repeated status.
- Distinctive: line 80
Never print, log or echo the API key: Only name its file.
- Very specific: line 85
The deadline has phases: Before it, the job runs as usual.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
unattended
Runs a prompt (through the Agent SDK) or a command as a job. When the job hits a usage limit, it saves its session, waits until the reset plus 3 minutes (5 h if no reset time is given), then resumes. A deadline, a maximum number of resumes and a cost cap stop it.
UN="uv run --frozen --quiet --project ~/.claude/skills/unattended/runner unattended"--frozen runs the skill's tested uv.lock as it is; never drop it.
Every flag, the job files, limit detection and the command contract are in
reference/protocol.md next to this file. Read it before wrapping a command.
Steps
Agree the job with the human. Pick a name. Ask for:
- the deadline (
--until 'tomorrow 9am'or--for 24h); - a hard stop: whether a run still going at the deadline is ended by
force, and how long after it (
--hardstop 20m; optional). A command job can also get a--stop-commandthat asks it to stop at the deadline; - the idle notice: how long without progress before they are told
(
--idle, default 20m,offto disable); - an idle stop: whether a job idle that long is stopped (
--idle-stop 1h; optional; it uses the same stop command and hard stop); - the most resumes (default 10) and, for prompts or
--auth api-key, a cost cap (--max-cost).
Then state all of them back, with the auth (login or API key) and the cwd, before starting.
- the deadline (
- Start it:
$UN start NAME --prompt-file task.md --for 24h --max-cost 20 $UN start NAME --command "agile-team start --task '…'" --resume-command "agile-team start --resume" --until 'tomorrow 9am' $UN start NAME --command "make soak" --until 18:00 --hardstop 20m --idle-stop 1h--progress KIND[:ARG]picks what counts as progress (default: output and CPU for a command, SDK messages for a prompt); see the probe table in the protocol. It prints the job as JSON and returns; the supervisor runs detached. - Get notified: run
$UN wait NAME --until-noticewithrun_in_background. You are re-invoked on the job's end and on any notice (ended early, idle, hung, waiting, deadline stop, idle stop, limit reached).waitingmeans the job waits on purpose, e.g. agile-team waiting on the human's answer; an idle stop never fires then. Tell the human what the notice says, then wait again. Notices also reach the OS notification centre (--notify CMDreplaces it,--notify noneturns it off). - Report:
$UN status NAMEand the output (output.mdfor prompts,output.logfor commands, in the job'sdir). Itstime_leftsays how long the job has left before its deadline, e.g.23h41moroverdue; for anagile-teamjob, itsreasonsays why the run stopped, e.g.agile-team blocked: ….$UN log NAMEshows the events: each run, wait and resume.
$UN stop NAME stops a job. $UN resume NAME [--max-resumes N] [--until …]
[--max-cost …] reruns any ended job (done and failed too), with the
resume prompt or resume command. It also restarts one whose supervisor died,
for example after a reboot; status warns about those.
$UN resume NAME --now wakes a job that is waiting for a reset, for when the
limit has reset sooner than the message said.
$UN extend NAME [--until … | --for …] [--hardstop …] [--idle-stop …]
[--max-resumes N] [--max-cost …] changes the limits of a job that has not
ended, without stopping it; a running job sees them within 30 s.
A network failure doesn't end a job: the supervisor probes the API with a plain TCP connect every 30 s, which costs no tokens, and reruns once it answers.
Rules
- Don't poll. Use
waitwithrun_in_background, not repeatedstatus. - Never print, log or echo the API key. Only name its file.
- State the limits back before starting. A prompt run stops itself when
it reaches
--max-cost. The job then endslimit-reachedwith its session saved, andresume NAME --max-cost <higher>continues it. Commands report no cost tounattended, so they must enforce their own budget. - The deadline has phases. Before it, the job runs as usual. From it, no
new run, resume or wait starts, and a command job's
--stop-commandis run once; a run that ends after that ends the joblimit-reached, "deadline (graceful)". From the deadline plus--hardstop, the run is ended (SIGTERM to its process group, SIGKILL 30 s later; a prompt run is cancelled): "deadline (hard stop after 20m)". Without--hardstopa run in progress is never cut short. An early end only notifies; nothing resumes on its own. - Prompt jobs use the user's Claude Code settings. Headless, a tool those
settings don't allow can't be approved by anyone, so allow what the job
needs first, or pass
--permission-mode. - The machine stays awake while a job runs or waits (
caffeinateon macOS,systemd-inhibiton Linux; none on Windows). Closing a laptop lid still sleeps it. Pass--allow-sleepto let it idle-sleep. - Login auth refuses to start while
ANTHROPIC_API_KEYis set; don't unset it for the user without asking.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

