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.

설치로 이동

소스 정보

저장소
rtmnkt/vibecoding_skills
최근 소스 활동
2026년 2월 8일 00:47
감지된 SKILL.md 언어
영어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
5 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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`
GitHub에서 보기