ashley-seymour/claude-skills

Arma, ejecuta y desarma una ejecución desatendida (una noche o unas horas). Una cola de elementos se procesa uno por proceso fresco de `claude -p --agent away-orchestrator`, relanzada por un vigilante bajo una tarea programada de Windows, en su propio árbol de trabajo en la rama away/<fecha>, terminando con un informe matutino. Úselo solo cuando el operador solicite armar, verificar o desarmar una ejecución desatendida, o cuando se ejecute como away-orchestrator. No es para oleadas de proyectos interactivas (project-workflow) ni scripts `claude -p` únicos (headless-claude).

¿Qué es claude-skills?

Esta habilidad para agentes de IA (como Claude Code, Cursor o Codex) permite ejecutar una cola de tareas de forma completamente desatendida, ideal para procesamiento nocturno o ausencias prolongadas. El operador arma la ejecución, que luego es gestionada por un vigilante en Windows (usando tareas programadas), lanzando un proceso independiente de Claude por cada elemento de la cola. Esto garantiza resiliencia: si un proceso falla o alcanza un límite de uso, solo se pierde esa iteración, no toda la ejecución. La habilidad maneja estados en disco, fichas de reclamación y expiración, informes matutinos automáticos, y soporta modos como 'mecánico', 'investigador' o 'proyecto'. Está diseñada para usuarios avanzados que necesitan automatización robusta de múltiples tareas sin supervisión.

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

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Ejecución desatendida

El operador se ausenta; una cola se procesa. Cada elemento se ejecuta en un proceso independiente sin interfaz gráfica, por lo que un límite de uso o un fallo cuesta una iteración, no toda la noche. El estado reside en disco en la carpeta de la ejecución; la salida del proceso reemplaza /clear. Los hechos indicadores para claude -p están en la habilidad headless-claude.

Configuración y perfil del repositorio. <repo>/.claude/project-workflow.json es opcional; esta habilidad lee sus claves projects_dir (por defecto my-projects), profile (por defecto <projects_dir>/WORKFLOW.md), backlog_file (por defecto <projects_dir>/backlog.md) y bootstrap (una lista de argumentos, o nulo). Lea la sección § Ejecución desatendida del perfil si el archivo existe: comandos de prueba, fuentes de descubrimiento, clases permitidas automáticamente. Cuando el perfil y esta habilidad difieran, gana el perfil.

Fases: cargar un archivo al entrar en su fase

FaseQuiénLectura
armaroperador presente§ Armar a continuación, luego discover.md para construir la cola
iteraciónaway-orchestrator, uno por procesoiteration.md
estado, desarmaroperador§ Estado, § Desarmar a continuación

project-workflow y away-run comparten archivos (el archivo de trabajo pendiente, <projects_dir>/proposals/open/), no llamadas, excepto una: una fila project invoca /project-workflow a través de la herramienta Skill en modo desatendido.

Una oleada de proyecto abarca varias filas project, un grupo de pasos de § Forma de la sesión de wave.md cada una (1; 2-3; 4-7). Cada fila trabaja desde los nombres de ## Reanudar hasta el final de su grupo, confirma chore(<NNNN>): checkpoint wave N at step <n>, y añade la fila de continuación para el siguiente paso a menos que se haya alcanzado el límite. Una fila añade una, attempts 0, solo si completó al menos un paso; una fila que no completó ninguno permanece claimed y reintenta por su cuenta attempts. Esto termina: cada fila de continuación sigue al menos uno de los siete pasos de la oleada, y el límite de intentos termina un paso que nunca se completa. El punto de control y ## Reanudar son la única transferencia (iteration.md § 3).

Disposición

<repo>-worktrees/away-<date>/            árbol de trabajo, rama away/<date> desde main
  <carpeta de ejecución>/                rastreada en away/<date>; arm.ps1 -RunFolder,
    queue.md decisions.md log.md         por defecto <projects_dir>/away/<date>/
    morning-report.md                    escrito por la iteración de cierre
<repo>-worktrees/away-<date>-run/        temporal, no rastreado: away.env, watchdog.sh,
                                         entry-prompt.md, watchdog.log, iter-NNN.*, bloqueos
tarea programada away-<repo>-<date>       cada 15 minutos hasta la parada forzosa

Filas de la cola

templates/queue.md contiene el esquema. Columnas: id | item | agent | status | claimed_by | lease_until | attempts | evidence. agent es mechanical-worker, stream-worker, researcher, project o discover. Cada edición de la cola toma el bloqueo: mkdir <scratch>/queue.lock (atómico; si falla, reintenta cada 10 s durante 2 minutos; una carpeta de bloqueo con última modificación de hace más de 10 minutos está obsoleta, con o sin su archivo owner: elimínela), edite, rm -rf el bloqueo. Lo que sigue a un reintento fallido de 2 minutos está en iteration.md § 2 y § 4. Una reclamación establece claimed_by en la etiqueta de reclamación de la iteración (iter-NNN, exactamente como la da el mensaje de entrada) y lease_until; una concesión caducada significa una iteración muerta y la fila se puede reclamar de nuevo, attempts + 1.

Armar (operador presente)

  1. Cola. Constrúyala con discover.md: solo filas de nivel 1, cada una con una verificación con nombre. El trabajo de nivel 2 se convierte en propuestas. Nombre el valor predeterminado para cada decisión que una fila pueda encontrar; una fila con una decisión abierta y sin valor predeterminado no se pone en cola.
  2. Postura. Diga claramente: la ejecución usa --permission-mode bypassPermissions, por lo que cada llamada de herramienta se ejecuta sin aviso; las reglas de denegación global aún se aplican. "Sin compuertas" (las preguntas abiertas se convierten en valores predeterminados con nombre, los fallos se saltan y reintentan) es optativo por ejecución, establecido como gates: none en el encabezado de la cola; nunca se infiere de una ejecución anterior.
  3. Armar. Simulación primero, luego real, desde PowerShell: powershell -NoProfile -File <skill>/arm.ps1 -Repo <path> -StopAt "<YYYY-MM-DD HH:MM>" -Queue <queue.md> -WhatIf. Crea el árbol de trabajo en away/<date> desde main, siembra la carpeta de ejecución desde templates/ y la confirma con la cola, ejecuta el bootstrap argv de la configuración ({worktree} reemplazado por la ruta del árbol de trabajo, cwd el checkout principal; se omite si la clave está ausente o es nula) y espera a que termine, copia watchdog.sh y entry-prompt.md al área temporal, escribe away.env, y registra la tarea (Register-ScheduledTask, nunca schtasks /Create: PowerShell 5.1 estropea las comillas de /TR). Un bootstrap con código de salida distinto de cero se rechaza antes de que exista cualquier tarea; el árbol de trabajo y la rama permanecen para inspección. La tarea no tiene principal, por lo que se ejecuta solo mientras el operador ha iniciado sesión, en una ventana de consola que al cerrarla se mata: bloquee la pantalla, no cierre sesión.
  4. Verificar. Get-ScheduledTask -TaskName 'away-*' muestra la tarea; el primer disparo escribe watchdog up en watchdog.log.
  5. Ediciones posteriores de la cola. arm.ps1 confirma la cola una vez. Confirme cualquier edición de la cola realizada después del armado en away/<date> usted mismo (bajo el bloqueo de la cola una vez que la tarea se ha disparado): las iteraciones tratan el trabajo no confirmado que no hicieron como si fuera de otro y nunca lo preparan.

Qué hace el vigilante (watchdog.sh)

  • Lanza claude -p --agent away-orchestrator --max-turns N, aviso en la entrada estándar. El modelo y el esfuerzo provienen del frontmatter del agente; sin --effort, sin indicador TTL, sin --disable-slash-commands (deshabilitaría Skill).
  • Juzga una iteración por is_error/api_error_status y si queue.md cambió, nunca por num_turns. Tres iteraciones sin cambio en la cola la terminan.
  • Límite de uso: espera hasta el restablecimiento que el mensaje indica. "Ha alcanzado su límite de Opus" continúa en Sonnet (--model sonnet) solo para filas mechanical-worker; sin ninguna reclamable, espera hasta el restablecimiento.
  • Superación de presupuesto (subtype error_max_budget_usd, kind budget): sin espera, ya que el límite es por proceso. Mantiene la reclamación de la fila, por lo que la siguiente iteración toma la siguiente fila y esta regresa cuando su concesión caduca; las superaciones cuentan para FAIL_MAX como los errores.
  • Reserva de cuota: con un gasto imputado de WINDOW_CAP_USD en una ventana móvil de 5 horas, espera hasta que la ventana se libere; los últimos RESERVE_MIN minutos se destinan al cierre.
  • Cola vacía: una iteración de cierre escribe el informe matutino, luego sale. Cualquier otra salida deja un informe breve escrito por el vigilante. Cada salida escribe STOP, por lo que los disparos posteriores de la tarea no hacen nada; elimínelo para reanudar.
  • Después de cada iteración de elemento, cancela las concesiones mantenidas bajo la etiqueta de reclamación de esa iteración, por lo que una fila interrumpida por un límite o error se reintenta, no queda varada hasta el cierre. Omite esto después del cierre, que no reclama nada, y después de una superación de presupuesto (arriba).
  • Registra claude: <ruta> al inicio de cada iteración: el binario que está a punto de ejecutar.
  • Se niega a ejecutarse en main, en un checkout de main, o en una rama que no sea away/*.
  • Ejecución de prueba: CLAUDE=<script simulado> AWAY_NO_SLEEP=1 bash watchdog.sh <away.env> contra un árbol de trabajo temporal en away/*; las esperas se registran, no se toman. Un CLAUDE o PY establecido en el entorno prevalece sobre el que nombra away.env, por lo que el simulacro se ejecuta incluso con un away.env escrito por el armado; confirme por la línea de registro claude: <simulacro>.

Estado

Vea el final de <scratch>/watchdog.log; lea queue.md. Antes de confiar en "otro vigilante está activo", confirme un proceso claude.exe (tasklist) y una línea reciente iteration N starting: un bloqueo huérfano estaciona cada disparo en silencio. Git Bash no tiene pgrep.

Desarmar

powershell -NoProfile -File <skill>/disarm.ps1 -Repo <path> -Date <date>: escribe STOP, anula el registro de la tarea y verifica que Get-ScheduledTask -TaskName 'away-*' no devuelva nada. Una tarea que permanece registrada sigue generando bash cada 15 minutos. El árbol de trabajo y la rama permanecen para revisión: lea el informe matutino, luego fusione away/<date> por la ruta habitual del repositorio, o elimínelo.

Por qué está construido de esta manera

  • La resiliencia reside fuera del CLI. CronCreate durable:true volvió solo para la sesión (2026-09-19); /loop reingresa la misma sesión; un nohup … & desde una llamada de herramienta Bash tiene como padre a ese shell; Git Bash no tiene setsid.
  • Un límite de uso se espera hasta el restablecimiento que sus mensajes indican, no mediante una retirada creciente, y una iteración nunca se juzga fallida por un num_turns bajo: una retirada excede el restablecimiento, y una iteración puede cerrar una fila en un turno informado.

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.

Skills relacionados