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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.