From tmux-plugin
役割リストを指定してpaneごとにclaude codeを起動し並列作業する。「エージェントレーンを作って」「implement,test,reviewで並列作業して」と言われた時に使用する。
How this skill is triggered — by the user, by Claude, or both
Slash command
/tmux-plugin:tmux-agent-lanesThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
役割ごとにtmux paneを作成し、各paneでclaude codeを起動する。
役割ごとにtmux paneを作成し、各paneでclaude codeを起動する。
<roles> → pane作成 → 各paneでclaude起動 → 役割プロンプト設定 → 完了待ち → 成果集約
if [ -z "$TMUX" ]; then
echo "Error: tmuxセッション内で実行してください"
exit 1
fi
if ! command -v claude >/dev/null 2>&1; then
echo "Error: claude CLIがインストールされていません"
exit 1
fi
# 役割リスト(カンマ区切り)
ROLES_INPUT="$1" # 例: "implement,test,review"
if [ -z "$ROLES_INPUT" ]; then
echo "Error: 役割リストを指定してください(例: implement,test,review)"
exit 1
fi
# CWD(オプション)
WORK_DIR="${PWD}"
if [ "$2" = "--cwd" ] && [ -n "$3" ]; then
WORK_DIR="$3"
fi
# カンマ区切りを配列に変換
IFS=',' read -ra ROLES <<< "$ROLES_INPUT"
ROLE_COUNT=${#ROLES[@]}
if [ "$ROLE_COUNT" -lt 2 ]; then
echo "Error: 2つ以上の役割を指定してください"
exit 1
fi
if [ "$ROLE_COUNT" -gt 6 ]; then
echo "Error: 役割は6つまでです"
exit 1
fi
各役割に対応するプロンプトを生成する。
get_role_prompt() {
local ROLE="$1"
case "$ROLE" in
implement|impl)
echo "あなたは実装担当です。要件に従ってコードを実装してください。テストは別の担当が書きます。"
;;
test)
echo "あなたはテスト担当です。実装コードに対するテストを書いてください。エッジケースも網羅してください。"
;;
review)
echo "あなたはレビュー担当です。コードの品質、セキュリティ、パフォーマンスを確認してください。"
;;
docs|doc)
echo "あなたはドキュメント担当です。コードの変更に合わせてドキュメントを更新してください。"
;;
refactor)
echo "あなたはリファクタリング担当です。コードの可読性と保守性を改善してください。"
;;
*)
echo "あなたは${ROLE}担当です。指示された作業を行ってください。"
;;
esac
}
WINDOW_NAME="lanes-$(date +%H%M%S)"
tmux new-window -n "${WINDOW_NAME}" -c "${WORK_DIR}"
# レイアウト: 役割数に応じてpaneを分割
for i in $(seq 1 $((ROLE_COUNT - 1))); do
if [ $((i % 2)) -eq 1 ]; then
tmux split-window -h -c "${WORK_DIR}" -t "${WINDOW_NAME}"
else
tmux split-window -v -c "${WORK_DIR}" -t "${WINDOW_NAME}"
fi
done
# 均等レイアウトに調整
tmux select-layout -t "${WINDOW_NAME}" tiled
for i in $(seq 0 $((ROLE_COUNT - 1))); do
ROLE="${ROLES[$i]}"
PROMPT=$(get_role_prompt "$ROLE")
# 安全なエスケープでpaneにコマンドを送信
ESCAPED_PROMPT=$(printf '%q' "$PROMPT")
tmux send-keys -t "${WINDOW_NAME}.${i}" \
"claude --prompt ${ESCAPED_PROMPT}" Enter
done
echo "=== Agent Lanes 起動完了 ==="
echo "Window: ${WINDOW_NAME}"
echo "Roles:"
for i in $(seq 0 $((ROLE_COUNT - 1))); do
echo " Pane ${i}: ${ROLES[$i]}"
done
全pane完了後、Claudeが以下を行う:
tmux capture-pane で取得# 成果集約用コマンド(手動実行)
echo ""
echo "=== 成果集約 ==="
for i in $(seq 0 $((ROLE_COUNT - 1))); do
echo "--- ${ROLES[$i]} (Pane ${i}) ---"
tmux capture-pane -t "${WINDOW_NAME}.${i}" -p -S -50
done
npx claudepluginhub caphtech/claude-marketplace --plugin tmux-pluginOrchestrates parallel AI agent workflows with dmux tmux manager across Claude Code, Codex, and other harnesses for multi-session dev tasks.
Orchestrates parallel AI agent sessions using dmux (tmux pane manager). Patterns for dividing tasks across Claude Code, Codex, OpenCode, and other harnesses.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.