Skip to content
Back to skills

Tmux Opencode

ASecurity

Control OpenCode sessions via tmux for background and parallel coding tasks.

  • 22 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 20, 2026
developmentbashgit

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add lev-os/agents --skill tmux-opencode --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tmux Opencode?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tmux Opencode
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/lev-os-tmux-opencode/badge)](https://www.skillsdirectory.com/skills/lev-os-tmux-opencode)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tmux-opencode
description: "Control OpenCode sessions via tmux for background and parallel coding tasks."
metadata:
  openclaw:
    emoji: "πŸ–₯️"
---

# tmux-opencode

tmux둜 OpenCode μ„Έμ…˜μ„ μ œμ–΄ν•΄μ„œ μ½”λ“œ μž‘μ—…μ„ μ‹œν‚¨λ‹€.

## μ–Έμ œ μ“°λ‚˜

- μ½”λ“œ μž‘μ—… (κ΅¬ν˜„, λ¦¬νŒ©ν† λ§, 버그 ν”½μŠ€)
- λ©€ν‹°μŠ€ν… νƒœμŠ€ν¬
- 병렬 μž‘μ—… (μ—¬λŸ¬ μ„Έμ…˜ λ™μ‹œ μ‹€ν–‰)
- λ°±κ·ΈλΌμš΄λ“œ μž‘μ—… (μ±„νŒ… 블둝 μ•ˆ 함)

## Quick Start

```bash
# μ†ŒμΌ“ 경둜
SOCKET="${TMPDIR:-/tmp}/openclaw-tmux-sockets/openclaw.sock"

# μ„Έμ…˜ 생성 + OpenCode μ‹€ν–‰
tmux -S "$SOCKET" new -d -s "opencode-myproject" -c ~/myproject
tmux -S "$SOCKET" resize-window -t "opencode-myproject" -x 300 -y 80
tmux -S "$SOCKET" send-keys -t "opencode-myproject" 'opencode' Enter

# 3초 λŒ€κΈ° ν›„ ν”„λ‘¬ν”„νŠΈ 전솑
sleep 3
tmux -S "$SOCKET" send-keys -t "opencode-myproject" -l 'ulw Fix bug in auth module. Commit and push when done.'
tmux -S "$SOCKET" send-keys -t "opencode-myproject" Enter
```

## ν”„λ‘¬ν”„νŠΈ κ·œμΉ™

- **μ˜μ–΄λ‘œ μž‘μ„±** (OpenCode μ΅œμ ν™”)
- **`-l` ν”Œλž˜κ·Έ ν•„μˆ˜** (특수문자 처리)
- **`ulw` 둜 μ‹œμž‘** (λ³΅μž‘ν•œ μž‘μ—…)
- **끝에 "Commit and push when done"**

## μ›Œν¬ν”Œλ‘œμš°

### 1. μ„Έμ…˜ 생성

```bash
tmux -S "$SOCKET" new -d -s "$SESSION" -c "$PROJECT_DIR"
tmux -S "$SOCKET" resize-window -t "$SESSION" -x 300 -y 80
tmux -S "$SOCKET" send-keys -t "$SESSION" 'opencode' Enter
```

### 2. ν”„λ‘¬ν”„νŠΈ 전솑

```bash
tmux -S "$SOCKET" send-keys -t "$SESSION" -l 'ulw Your task here. Commit and push when done.'
tmux -S "$SOCKET" send-keys -t "$SESSION" Enter
```

### 3. μƒνƒœ 확인

```bash
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -100
```

**μƒνƒœ νŒλ‹¨:**

| μƒνƒœ | μ‹ ν˜Έ |
|------|------|
| thinking | ν”„λ‘œκ·Έλ ˆμŠ€λ°” μ›€μ§μž„, tool μ‹€ν–‰ 쀑 |
| ready | μ…Έ ν”„λ‘¬ν”„νŠΈ (`❯`), 체크리슀트 μ™„λ£Œ |
| error | μ—λŸ¬ λ©”μ‹œμ§€, rate limit |
| stuck | 15λΆ„ 이상 λ³€ν™” μ—†μŒ |

### 4. μ™„λ£Œ 확인

- μ…Έ ν”„λ‘¬ν”„νŠΈ 볡귀 (`❯` λ˜λŠ” `➜`)
- "Committed and pushed" λ©”μ‹œμ§€
- 체크리슀트 μ „λΆ€ `[βœ“]`

## λͺ¨λΈ λ³€κ²½

```bash
# Ctrl+X M으둜 λͺ¨λΈ 피컀 μ—΄κΈ°
tmux -S "$SOCKET" send-keys -t "$SESSION" C-x m
sleep 0.5
tmux -S "$SOCKET" send-keys -t "$SESSION" -l 'opus'
tmux -S "$SOCKET" send-keys -t "$SESSION" Enter
```

## μ—μ΄μ „νŠΈ 선택

**Tab ν‚€λ‘œ μˆœν™˜** (@ λ©˜μ…˜ μ•ˆ 됨):

- Sisyphus β†’ Hephaestus β†’ Prometheus β†’ Atlas β†’ ...

| μ—μ΄μ „νŠΈ | μš©λ„ |
|----------|------|
| Sisyphus | 탐색적 μž‘μ—… |
| Hephaestus | λͺ…ν™•ν•œ κ΅¬ν˜„ μž‘μ—… |
| Oracle | μ•„ν‚€ν…μ²˜, 디버깅, 리뷰 |
| Librarian | λ¬Έμ„œ 검색 |

## Rate Limit 볡ꡬ

```bash
# ESC둜 μž¬μ‹œλ„ μ·¨μ†Œ
tmux -S "$SOCKET" send-keys -t "$SESSION" Escape
tmux -S "$SOCKET" send-keys -t "$SESSION" Escape
sleep 1

# 계속 μ§„ν–‰
tmux -S "$SOCKET" send-keys -t "$SESSION" -l 'continue'
tmux -S "$SOCKET" send-keys -t "$SESSION" Enter
```

## Idle μ„Έμ…˜ μ±„μ°μ§ˆ

```bash
# ESC + continue
tmux -S "$SOCKET" send-keys -t "$SESSION" Escape
tmux -S "$SOCKET" send-keys -t "$SESSION" -l 'continue'
tmux -S "$SOCKET" send-keys -t "$SESSION" Enter
```

## 병렬 이슈 μž‘μ—…

```bash
# μ΄μŠˆλ³„ worktree
git worktree add ../project-issue-1 -b feature/issue-1
git worktree add ../project-issue-2 -b feature/issue-2

# μ„Έμ…˜λ³„ μž‘μ—…
tmux -S "$SOCKET" new -d -s "issue-1" -c ~/project-issue-1
tmux -S "$SOCKET" new -d -s "issue-2" -c ~/project-issue-2
```

## μ„Έμ…˜ 좔적

`memory/tmux-sessions.json`:

```json
{
  "sessions": {
    "opencode-myproject": {
      "project": "~/myproject",
      "task": "Fix auth bug",
      "status": "running"
    }
  }
}
```

**status:** `running` | `completed` | `failed` | `stuck`

## μžλ™ μ™„λ£Œ μ•Œλ¦Ό

`watch-session.sh` 둜 μ„Έμ…˜ μ™„λ£Œ μ‹œ Discord μ•Œλ¦Ό:

```bash
# λ°±κ·ΈλΌμš΄λ“œ κ°μ‹œ
~/clawd/scripts/watch-session.sh "opencode-myproject" > /tmp/watch.log 2>&1 &

# 30μ΄ˆλ§ˆλ‹€ 체크, μ™„λ£Œλ˜λ©΄ #internal에 μ•Œλ¦Ό
# μ™„λ£Œ μ‹ ν˜Έ: ❯, ➜, "Committed and pushed"
```

## μ„Έμ…˜ μ’…λ£Œ

```bash
tmux -S "$SOCKET" kill-session -t "$SESSION"
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…