Away Run (Abwesenheitslauf)

Rüste einen unbeaufsichtigten Away Run (über Nacht oder ein paar Stunden) aus, führe ihn aus und entschärfe ihn. Eine Warteschlange von Aufgaben wird nacheinander in einem frischen `claude -p --agent away-orchestrator` Prozess abgearbeitet, der von einem Watchdog unter einem geplanten Windows-Task neu gestartet wird, in einem eigenen Worktree auf dem Branch away/<datum>, endend mit einem Morgenbericht. Nur verwenden, wenn der Operator das Ausrüsten, Überprüfen oder Entschärfen eines Away Runs verlangt, oder wenn als away-orchestrator läuft. Nicht für interaktive Projektwellen (project-workflow) oder einmalige `claude -p` Skripte (headless-claude).

Was ist Away Run (Abwesenheitslauf)?

Das Skill ‚Away Run‘ ermöglicht es einem Operator, einen unbeaufsichtigten Abarbeitungslauf von Aufgaben über einen längeren Zeitraum (z. B. über Nacht) zu planen und durchzuführen. Die Aufgaben werden aus einer Warteschlange (queue.md) gelesen und einzeln in einem frischen, kopflosen Claude-Prozess (`away-orchestrator`) ausgeführt. Ein Watchdog-Skript (watchdog.sh) überwacht die Ausführung, startet Prozesse bei Bedarf neu und behandelt Fehler wie Nutzungslimits oder Budgetüberschreitungen robust. Der Lauf läuft in einem dedizierten Git-Worktree auf einem separaten Branch (`away/<datum>`) und endet mit der Erstellung eines Morgenberichts. Das Skill ist für Windows-Umgebungen konzipiert und nutzt geplante Tasks von Windows für die Watchdog-Ausführung. Es ist nützlich für die automatisierte Verarbeitung langer Aufgabenlisten ohne manuelle Überwachung und bietet eine hohe Fehlertoleranz gegenüber Unterbrechungen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ashley-seymour/claude-skills/tree/HEAD/away-run

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Away Run (Abwesenheitslauf)?

Der Operator verlässt den Arbeitsplatz; eine Warteschlange wird abgearbeitet. Jeder Eintrag läuft in einem frischen kopflosen Prozess, sodass ein Nutzungslimit oder ein Absturz eine Iteration kostet, nicht die ganze Nacht. Der Zustand wird auf der Platte im Run-Ordner gespeichert; das Beenden des Prozesses ersetzt /clear. Markiere Fakten für claude -p im Skill headless-claude.

Repo-Konfiguration und Profil. <repo>/.claude/project-workflow.json ist optional; dieses Skill liest seine Schlüssel projects_dir (Standard my-projects), profile (Standard <projects_dir>/WORKFLOW.md), backlog_file (Standard <projects_dir>/backlog.md) und bootstrap (eine argv-Liste oder null). Lies den Abschnitt § Away Run des Profils, wenn die Datei existiert: Testbefehle, Erkennungsquellen, automatisch erlaubte Klassen. Wo sich Profil und dieses Skill unterscheiden, gewinnt das Profil.

Phasen — lade eine Datei, beim Eintreten der Phase

PhaseWerLiest
Arm (Ausrüsten)Operator anwesend§ Arm unten, dann discover.md zum Aufbau der Warteschlange
Iterationaway-orchestrator, einer pro Prozessiteration.md
Status, Disarm (Entschärfen)Operator§ Status, § Disarm unten

project-workflow und away-run teilen sich Dateien (die Backlog-Datei, <projects_dir>/proposals/open/), keine Aufrufe, mit einer Ausnahme: eine project-Zeile ruft /project-workflow über das Skill-Tool im unbeaufsichtigten Modus auf.

Eine Projektwelle umfasst mehrere project-Zeilen, eine wave.md § Session shape Schrittgruppe pro Zeile (1; 2-3; 4-7). Jede Zeile arbeitet von den Schrittnamen ## Resume bis zum Ende ihrer Gruppe, committet chore(<NNNN>): checkpoint wave N at step <n> und hängt die Folgeseile für den nächsten Schritt an, es sei denn, die Grenze wurde erreicht. Eine Zeile hängt eine an, attempts 0, nur wenn sie mindestens einen Schritt abgeschlossen hat; eine Zeile, die keinen abgeschlossen hat, bleibt claimed und wiederholt es mit eigenem attempts. Dies terminiert: jede Folgeseile folgt mindestens einem der sieben Schritte der Welle, und die Versuchsobergrenze beendet einen Schritt, der nie abgeschlossen wird. Der Checkpoint und ## Resume sind die einzige Übergabe (iteration.md § 3).

Layout

<repo>-worktrees/away-<date>/              Worktree, Branch away/<date> basierend auf main
  <run folder>/                            getrackt auf away/<date>; arm.ps1 -RunFolder,
    queue.md decisions.md log.md           Standard <projects_dir>/away/<date>/
    morning-report.md                      geschrieben von der Abschlussiteration
<repo>-worktrees/away-<date>-run/          Scratch, ungetrackt: away.env, watchdog.sh,
                                           entry-prompt.md, watchdog.log, iter-NNN.*, locks
Geplanter Task away-<repo>-<date>          alle 15 Minuten bis zum harten Stopp

Warteschlangenzeilen

templates/queue.md enthält das Schema. Spalten: id | item | agent | status | claimed_by | lease_until | attempts | evidence. agent ist mechanical-worker, stream-worker, researcher, project oder discover. Jede Warteschlangenbearbeitung nimmt die Sperre: mkdir <scratch>/queue.lock (atomar; wenn es fehlschlägt, alle 10 s für 2 Minuten wiederholen; ein Sperrordner, der vor mehr als 10 Minuten geändert wurde, ist veraltet, mit oder ohne owner-Datei: entfernen), bearbeiten, rm -rf der Sperre. Was nach einem fehlgeschlagenen 2-minütigen Wiederholungsversuch passiert, steht in iteration.md § 2 und § 4. Eine Beanspruchung setzt claimed_by auf das Beanspruchungstag der Iteration (iter-NNN, genau wie vom Eingabe-Prompt gegeben) und lease_until; eine abgelaufene Leasing bedeutet eine tote Iteration und die Zeile ist wieder beanspruchbar, attempts + 1.

Arm (Ausrüsten) (Operator anwesend)

  1. Warteschlange. Baue sie mit discover.md: nur Zeilen der Stufe 1, jede mit einer benannten Prüfung. Arbeiten der Stufe 2 werden zu Vorschlägen. Benenne den Standard für jede Entscheidung, die eine Zeile treffen kann; eine Zeile mit einer offenen Entscheidung ohne Standard wird nicht in die Warteschlange gestellt.
  2. Haltung. Sage klar: Der Run verwendet --permission-mode bypassPermissions, sodass jeder Tool-Aufruf unaufgefordert ausgeführt wird; globale Verweigerungsregeln gelten weiterhin. „Keine Tore“ (offene Fragen werden zu benannten Standards, Fehler überspringen und wiederholen) ist pro Run opt-in, gesetzt als gates: none im Warteschlangenkopf; niemals von einem früheren Run abgeleitet.
  3. Arm (Ausrüsten). Zuerst trocken, dann für echt, von PowerShell aus: powershell -NoProfile -File <skill>/arm.ps1 -Repo <path> -StopAt "<YYYY-MM-DD HH:MM>" -Queue <queue.md> -WhatIf. Es schneidet den Worktree auf away/<date> von main ab, befüllt den Run-Ordner aus templates/ und committet ihn mit der Warteschlange, führt die bootstrap argv des Configs aus ({worktree} ersetzt durch den Worktree-Pfad, cwd der main Checkout; übersprungen, wenn der Schlüssel fehlt oder null ist) und wartet darauf, kopiert watchdog.sh und entry-prompt.md in den Scratch-Ordner, schreibt away.env und registriert den Task (Register-ScheduledTask, niemals schtasks /Create: PowerShell 5.1 verstümmelt /TR-Zitierung). Ein Nicht-Null-Bootstrap-Exit lehnt ab, bevor ein Task existiert; der Worktree und Branch bleiben zur Inspektion. Der Task hat keinen Principal, läuft also nur, während der Operator angemeldet ist, in einem Konsolenfenster, dessen Schließen ihn beendet: Sperre den Bildschirm, melde dich nicht ab.
  4. Überprüfen. Get-ScheduledTask -TaskName 'away-*' zeigt den Task; die erste Ausführung schreibt watchdog up in watchdog.log.
  5. Spätere Warteschlangenbearbeitungen. arm.ps1 committet die Warteschlange einmal. Committe jede nach dem Ausrüsten vorgenommene Warteschlangenbearbeitung auf away/<date> selbst (unter der Warteschlangensperre, sobald der Task ausgeführt wurde): Iterationen behandeln uncommittete Arbeiten, die sie nicht selbst erstellt haben, als fremd und stagen sie nie.

Was der Watchdog tut (watchdog.sh)

  • Startet claude -p --agent away-orchestrator --max-turns N, Prompt auf stdin. Modell und Aufwand kommen aus dem Agent-Frontmatter; kein --effort, kein TTL-Flag, kein --disable-slash-commands (es würde Skill deaktivieren).
  • Bewertet eine Iteration anhand von is_error/api_error_status und ob sich queue.md geändert hat, niemals anhand von num_turns. Drei Iterationen ohne Warteschlangenänderung beenden sie.
  • Nutzungslimit: schläft bis zum von der Nachricht genannten Reset. „Du hast dein Opus-Limit erreicht“ fährt auf Sonnet fort (--model sonnet) nur für mechanical-worker Zeilen; wenn keine beanspruchbar ist, schläft es bis zum Reset.
  • Budgetüberschreitung (subtype error_max_budget_usd, kind budget): kein Schlaf, da die Obergrenze pro Prozess ist. Es behält die Beanspruchung der Zeile, sodass die nächste Iteration die nächste Zeile nimmt und diese zurückkommt, wenn ihr Leasing abläuft; Überschreitungen zählen wie Fehler zu FAIL_MAX.
  • Quotenreserve: bei WINDOW_CAP_USD geschätzten Ausgaben in einem rollierenden 5-Stunden-Fenster schläft es, bis das Fenster frei wird; die letzten RESERVE_MIN Minuten gehen an den Abschluss.
  • Warteschlange leer: eine Abschlussiteration schreibt den Morgenbericht, dann beendet sie sich. Jedes andere Beenden hinterlässt einen vom Watchdog geschriebenen Berichtsstub. Jedes Beenden schreibt STOP, sodass spätere Taskausführungen No-Ops sind; lösche es, um fortzufahren.
  • Nach jeder Elementiteration lässt es die unter dem Beanspruchungstag dieser Iteration gehaltenen Leasings verfallen, sodass eine durch ein Limit oder einen Fehler abgeschnittene Zeile wiederholt wird, nicht bis zum Abschluss gestrandet bleibt. Es überspringt dies nach dem Abschluss, der nichts beansprucht, und nach einer Budgetüberschreitung (oben).
  • Protokolliert claude: <pfad> bei jedem Iterationsstart: die Binärdatei, die es ausführen wird.
  • Weigert sich, auf main, auf einem main-Checkout oder auf einem Branch zu laufen, der nicht away/* ist.
  • Trockenlauf: CLAUDE=<Stub-Skript> AWAY_NO_SLEEP=1 bash watchdog.sh <away.env> gegen einen Scratch-Worktree auf away/*; Schlafphasen werden protokolliert, nicht ausgeführt. Ein CLAUDE oder PY, das in der Umgebung gesetzt ist, gewinnt über das, das away.env nennt, sodass der Stub sogar mit einem durch Arm geschriebenen away.env läuft; bestätige durch die claude: <stub> Logzeile.

Status

Taille <scratch>/watchdog.log; lese queue.md. Bevor du vertraust, dass „ein anderer Watchdog aktiv ist“, bestätige einen claude.exe Prozess (tasklist) und eine aktuelle iteration N starting Zeile: eine verwaiste Sperre parkt jede Ausführung stillschweigend. Git Bash hat kein pgrep.

Disarm (Entschärfen)

powershell -NoProfile -File <skill>/disarm.ps1 -Repo <path> -Date <date>: es schreibt STOP, hebt die Task-Registrierung auf und prüft, dass Get-ScheduledTask -TaskName 'away-*' nichts zurückgibt. Ein registrierter Task erzeugt weiterhin alle 15 Minuten eine Bash. Der Worktree und Branch bleiben zur Überprüfung: lese den Morgenbericht, merge dann away/<date> über den üblichen Weg des Repos oder lösche ihn.

Warum es so gebaut ist

  • Resilienz lebt außerhalb der CLI. CronCreate durable:true kam sitzungsgebunden zurück (2026-09-19); /loop betritt dieselbe Sitzung erneut; ein nohup … & von einem Bash-Tool-Aufruf ist an diese Shell gebunden; Git Bash hat kein setsid.
  • Ein Nutzungslimit wird bis zum von der Nachricht genannten Reset ausgeschlafen, nicht durch eine wachsende Backoff, und eine Iteration wird niemals wegen einer niedrigen num_turns als fehlgeschlagen beurteilt: Ein Backoff überschreitet den Reset, und eine Iteration kann eine Zeile in einem gemeldeten Turn abschließen.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

ashley-seymour/claude-skills

Read this skill before the first step that uses the built-in browser, the browser pane inside the Claude desktop app (also called the in-app browser, the browser pane, Claude's browser, or \"your own browser\"), whose tools are named mcp__Claude_Browser__* when the session runs in the desktop app and mcp__remote-devices__Claude_Browser__* when a cloud session is linked to the person's computer; before those tools are turned on there may be a single enable__mcp__remote-devices__Claude_Browser tool instead. It covers the pane's persistent sign-ins, tabs and preview_start, reading pages as text, site approvals, what the pane cannot open, and what to do when it cannot be reached. It is not for Claude in Chrome (mcp__claude-in-chrome__* tools), which has its own skill, and it does not decide which browser to use.

ashley-seymour/claude-skills

Use this skill when the user's prompt requires (1) researching a topic across multiple sources, comparing options or alternatives, analyzing trends or history, understanding markets or industries, or reviewing literature or studies and (2) synthesizing that research into a comprehensive, narrative report. If you're planning to search the web or internal knowledge bases, consider using this skill. This skill coordinates research subagents, so use it only when you have a tool for spawning subagents (the Agent or Task tool); otherwise, research the question directly.

ashley-seymour/claude-skills

Read this skill before the first step that uses Claude in Chrome, the browser extension whose tools are named mcp__claude-in-chrome__* (also called Chrome, the browser extension, or the external browser) and which acts in the person's real Chrome with their own sign-ins; before those tools are turned on there may be a single enable__mcp__claude-in-chrome tool instead. It covers loading the tools in one ToolSearch call, checking the person's open tabs and working in a new tab, site permissions, GIF recordings, console logs, dialogs to avoid, and when to stop and ask. It is not for the built-in browser (mcp__Claude_Browser__* or mcp__remote-devices__Claude_Browser__* tools), which has its own skill, and it does not decide which browser to use.

ashley-seymour/claude-skills

Read this skill before the first step of any request to do something in an app on the person's own computer (Notes, Finder, System Settings, any desktop app), to look at their screen, or for \"computer use\". Computer use (desktop control) lets Claude take screenshots of the person's desktop and control it with clicks, typing and scrolling through the Claude desktop app; its tools are named mcp__computer-use__* when the session runs in the desktop app and mcp__remote-devices__computer_* when a cloud session is linked to the person's computer; before computer use is turned on for a conversation there may be no such tools, only an enable__mcp__remote-devices__computer tool, which turns it on. It covers turning it on, picking the right tool, the access flow, and the safety rules for tiered apps, links and financial actions. It is not for websites, which go through Claude in Chrome or the built-in browser and their own skills.

Verwandte Skills