このスキルは、ユーザーが「並列開発」「チーム開発」「parallel-dev」「複数人で開発」「開発者を使って」「マネージャーとして」と言った場合、または /parallel-dev コマンドを実行した場合に使用される。tmuxを使用して複数のClaude Codeインスタンスを管理し、並列組織化開発を実現する。
Manages multiple Claude Code instances in tmux panes for parallel development. Triggers when you request parallel/team development or use `/parallel-dev`. The manager coordinates task queues and distributes work to worker panes.
/plugin marketplace add y-ymmt/tmux_pararel_dev_skills/plugin install tmux-parallel-dev@tmux-parallel-dev-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/communication-patterns.mdreferences/task-templates.mdscripts/setup-session.shこのスキルは、マネージャー(現在のClaude Code)が複数の開発者(別のClaude Codeインスタンス)を管理し、並列開発を実現するためのガイドを提供する。
前提条件: ユーザーがtmux内でClaude Codeを起動していること。
ユーザー
↓ 指示・フィードバック
マネージャー(このClaude Code)
↓ タスクキュー管理・レビュー
┌──┴──┬──────┐
開発者1 開発者2 開発者N
(pane1) (pane2) (paneN)
タスクキュー:
1. [優先度: 高] データベーススキーマの作成 → 開発者1に割り当て
2. [優先度: 高] API基盤の実装 → 開発者2に割り当て
3. [優先度: 中] 認証機能の実装 → 開発者3に割り当て
4. [優先度: 中] フロントエンド基盤 → 待機中(完了した開発者に割り当て)
5. [優先度: 低] テスト作成 → 待機中
6. [優先度: 低] ドキュメント作成 → 待機中
if [ -n "$TMUX" ]; then
echo "OK: tmux内で実行中"
else
echo "エラー: tmux内で実行してください"
fi
SESSION_NAME=$(tmux display-message -p '#S')
WINDOW_NUM=$(tmux display-message -p '#I')
MANAGER_PANE=$(tmux display-message -p '#P')
WORK_DIR=$(pwd)
for i in $(seq 1 $NUM_WORKERS); do
tmux split-window -h -c "$WORK_DIR"
tmux select-layout -t "$SESSION_NAME:$WINDOW_NUM" tiled
done
tmux select-pane -t "$SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE"
PANES=$(tmux list-panes -t "$SESSION_NAME:$WINDOW_NUM" -F "#{pane_index}")
for pane in $PANES; do
if [ "$pane" != "$MANAGER_PANE" ]; then
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$pane" "claude" Enter
sleep 2
fi
done
重要: 指示を送った後、必ず別途Enterを送信してClaude Codeを実行させる。
# ステップ1: 指示内容を送信
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" "指示内容"
# ステップ2: Enterを送信してClaude Codeを実行
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" Enter
# 指示内容を送信
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" "あなたは開発者${DEV_NUM}です。以下のタスクを実行してください。
【タスク】
$TASK_DESCRIPTION
【作業ディレクトリ】
$WORK_DIR
【完了条件】
$COMPLETION_CRITERIA
【重要】作業が完了したら、必ず以下のコマンドを実行してマネージャーに報告してください:
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE '::DEV${DEV_NUM}_DONE:: $TASK_SUMMARY'
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE Enter"
# Enterを送信してClaude Codeを実行
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" Enter
開発者は作業完了時に以下を実行してマネージャーに報告:
# 完了報告を送信
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE" "::DEV${N}_DONE:: タスク完了の概要"
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE" Enter
報告形式:
::DEVN_DONE:: 内容 - タスク完了::DEVN_QUESTION:: 内容 - 質問::DEVN_ERROR:: 内容 - エラー発生::DEVN_PROGRESS:: 内容 - 進捗報告タスクを優先順位でソートし、開発者数分だけ初期割り当てを行う:
開発者1 ← タスク1(最優先)
開発者2 ← タスク2
開発者3 ← タスク3
タスク4, 5, 6... → 待機キュー
マネージャーはsleepせず、開発者からの報告を待つ。
開発者が完了報告を送信すると、マネージャーのClaude Codeの入力欄に報告が届く。 マネージャーはその報告を確認し、次のアクションを取る。
# 完了した開発者に次のタスクを割り当て
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" "次のタスクです。
【タスク】
$NEXT_TASK_DESCRIPTION
【完了条件】
$COMPLETION_CRITERIA
【報告方法】
完了したら以下を実行:
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE '::DEV${DEV_NUM}_DONE:: タスク完了'
tmux send-keys -t $SESSION_NAME:$WINDOW_NUM.$MANAGER_PANE Enter"
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" Enter
マネージャーは以下を常に把握する:
=== タスク状況 ===
[完了] タスク1: DBスキーマ作成(開発者1)
[実行中] タスク2: API実装(開発者2)
[実行中] タスク3: 認証機能(開発者3)
[待機] タスク4: フロントエンド基盤
[待機] タスク5: テスト作成
[待機] タスク6: ドキュメント
タスクに依存関係がある場合:
# 全paneの一覧
tmux list-panes -t "$SESSION_NAME:$WINDOW_NUM" -F "#{pane_index}: #{pane_current_command}"
# 特定paneの出力を取得(最新50行)
tmux capture-pane -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" -p -S -50
全タスク完了後:
for pane in $DEV_PANES; do
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$pane" "/exit"
tmux send-keys -t "$SESSION_NAME:$WINDOW_NUM.$pane" Enter
sleep 1
tmux kill-pane -t "$SESSION_NAME:$WINDOW_NUM.$pane"
done
paneの状態を確認し、必要に応じて催促または再指示:
tmux capture-pane -t "$SESSION_NAME:$WINDOW_NUM.$DEV_PANE" -p -S -50
references/communication-patterns.md - 通信パターンの詳細references/task-templates.md - タスク指示テンプレート集This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.