Skip to main content

async-shell

Coordinate with interactive async agents in separate contexts. Run another Claude in separate pane for second opinion, objective review, pair programming, or parallel tasks. Also for background process management.

Ir para a instalação

Informações da origem

Repositório
rtmnkt/vibecoding_skills
Última atividade na origem
8 de fevereiro de 2026 às 00:47
Idioma detectado do SKILL.md
inglês
Estrelas
0
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
5 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
async-shell
description
Coordinate with interactive async agents in separate contexts. Run another Claude in separate pane for second opinion, objective review, pair programming, or parallel tasks. Also for background process management.
# Async Shell Manage background shells for parallel task execution and async agent coordination. ```bash chmod +x scripts/async_shell.sh SCRIPT="scripts/async_shell.sh" ``` Run `$SCRIPT help` for command reference. --- ## Scope **This skill provides:** - Background shell creation and termination - Text input and key sending - Screen output capture (full view and differential) **Out of scope (caller's responsibility):** - Task completion detection and waiting - Result interpretation - Polling strategies --- ## Session Management The script auto-creates a default session (`async_shell`) on first use. Override with: ```bash ASYNC_SHELL_SESSION=my_session $SCRIPT list ``` --- ## Patterns ### fire_and_forget goal: run independent task, check result when needed when: no interaction needed ```bash $SCRIPT new "your_command" # → @N $SCRIPT capture @N # check output when needed $SCRIPT kill @N ``` --- ### batch_parallel goal: run multiple independent tasks concurrently when: several unrelated tasks ```bash $SCRIPT new "task1" # → @1 $SCRIPT new "task2" # → @2 $SCRIPT new "task3" # → @3 # poll for completion $SCRIPT capture-diff @1 $SCRIPT capture-diff @2 $SCRIPT capture-diff @3 $SCRIPT kill @1 && $SCRIPT kill @2 && $SCRIPT kill @3 ``` --- ### interactive_agent goal: coordinate with another Claude instance when: need fresh perspective, objective review, pair programming ```bash $SCRIPT new "bash" # → @N $SCRIPT type @N "claude" && $SCRIPT submit @N $SCRIPT capture @N # wait for prompt $SCRIPT type @N "<message>" && $SCRIPT submit @N $SCRIPT capture @N # read response $SCRIPT kill @N ``` note: provide complete context in message; agent has no access to your conversation --- ### parallel_agents goal: multiple agents working concurrently when: need multiple independent perspectives or parallel subtasks ```bash $SCRIPT new "bash" # → @1 $SCRIPT new "bash" # → @2 $SCRIPT type @1 "claude" && $SCRIPT submit @1 $SCRIPT type @2 "claude" && $SCRIPT submit @2 # send tasks $SCRIPT type @1 "<task A>" && $SCRIPT submit @1 $SCRIPT type @2 "<task B>" && $SCRIPT submit @2 # collect results $SCRIPT capture @1 $SCRIPT capture @2 $SCRIPT kill @1 && $SCRIPT kill @2 ``` --- ## Screen Operations ### capture - View current screen View the current screen state. For one-shot checks and interactive sessions. ```bash $SCRIPT capture @N # visible screen with line numbers $SCRIPT capture @N -h 100 # last 100 lines with line numbers ``` ### capture-diff - Monitor for changes Detect and show changes since last `capture-diff` call. For polling loops. Uses unified diff format (`-`/`+` prefixes). Returns `(no change)` when nothing happened. ```bash $SCRIPT capture-diff @N # diff since last check ``` **Output patterns:** - `(initial)` + full content: first call, baseline established - `(no change)`: no activity since last check - `(output detected, screen unchanged)`: activity detected but screen returned to same state - Unified diff: content changed (` ` = context, `-` = removed, `+` = added) **When to use which:** - `capture`: view current state, interactive sessions, reading responses - `capture-diff`: polling for completion, monitoring background tasks --- ## Basic Operations ```bash $SCRIPT new "bash" # create shell → @N $SCRIPT list # list shells $SCRIPT type @N "<text>" # type text (no Enter) $SCRIPT type @N "<text>" -s # type text and submit (auto-Enter) $SCRIPT submit @N # send Enter $SCRIPT capture @N # view current screen $SCRIPT capture @N -h 100 # last 100 lines $SCRIPT capture-diff @N # diff since last check $SCRIPT kill @N # close shell $SCRIPT current # get current shell ID ``` **Chained operations:** ```bash # Type then capture output $SCRIPT type @N "ls -la" -s && $SCRIPT capture @N # Type with menu selection $SCRIPT type @N "1" && $SCRIPT capture @N ``` **Important:** Use `-s` flag only for commands that require Enter. For single-character menu inputs (e.g., `1`, `2`, `q`, `y`), omit `-s` as these accept input immediately. --- ## Notes - **When to use bash**: - Use `new "bash"` for interactive sessions (multiple commands, `cd`, `export`, loops, pipes) - Use `new "command"` for single commands (e.g., `npm test`, `make build`) - Use `new "VAR=val command"` for environment variables (e.g., `ENV=prod npm start`) - **Completion detection**: Poll with `capture-diff` (recommended) or check with `capture` - **capture**: Returns visible screen with line numbers. `-h N` gets last N lines - **capture-diff**: Returns unified diff since last check. Detects all activity via timestamps; `(no change)` is reliable - **submit**: Sends Enter only, no capture --- ## Implementation Script: `scripts/async_shell.sh` Claude CLI patterns: `references/cli--claude.md`
Ver no GitHub