🚀

Claude Code × VibeKanban × git worktreeで実現するタスク並列実行のすすめ

に公開

こんにちは。株式会社ココナラのマーケットプレイス開発部 Web開発グループ バックエンド開発チーム所属のtoruchanです。

こちらは株式会社ココナラ Advent Calendar 2025 20日目の記事です。

はじめに

本記事では、Claude Code、VibeKanban、git worktreeを組み合わせて複数タスクを並列実行した事例と、そこで得た学びを共有します。

きっかけは、自分のタスク整理をしている時でした。
プロジェクトの資料作成も進めないといけないし、開発タスクも進めないといけない...
他の方々のコードレビューもしないといけないし、あの運用資料を最新化しなくちゃ...

時間が...足りない...

この状況を改善するために試してみようと思ったのがAIの活用とタスクの並列化でした。
本記事では開発タスクの並列化に焦点を当て、実際に実施したこと、学んだことについて記載していきます。

VibeKanbanとは

VibeKanbanは、AIコーディングエージェント専用に設計されたオープンソースのタスク管理プラットフォームです。
GitHubのBloopAI/vibe-kanbanリポジトリで公開されており、無料で利用できます。

主な機能

  • カンバンボード形式のタスク管理: 直感的なUIでタスクの状態を可視化
  • 分離された実行環境: 各タスクは独立したgit worktreeで実行され、エージェント同士が干渉しない
  • 複数エージェント対応: Claude Code、Gemini CLI、OpenAI Codexなど、様々なAIエージェントを切り替えて利用可能
  • コードレビュー機能: 行ごとの差分表示やコメント追加が可能

他のタスク管理ツールとの違い

JiraやTrelloなどの一般的なタスク管理ツールとは異なり、タスクの登録から実行、成果物のレビューまでを一元的に管理できます。
各タスクは独立したgit worktreeで実行されるため、タスク間でのコード変更の競合を防ぐことができます。

セキュリティ上の注意点

VibeKanbanはデフォルトで--dangerously-skip-permissionsフラグを使用してエージェントを実行します。これによりエージェントは承認プロンプトなしで自律的に動作できますが、システムレベルのアクションも実行可能な状態となります。そのため、コードレビューの徹底とバックアップの作成が重要です。

セットアップ方法

簡単にセットアップとしてやることを記載しておきます。

1. VibeKanbanのインストール&設定

公式にインストールの手順があるのでこちらを参考にしました。
https://www.vibekanban.com/docs/getting-started

タスクの並列実行について

セットアップ完了後は実際にタスクの登録を行い、動作確認を実施します。
ここでタスクを並列実行するための基本的な流れを記載しておきます。

全体の流れ

大まかには下記の流れでタスクの整理からタスク実行までを行っています。

1. タスクの洗い出しと分割
2. VibeKanbanにタスクを登録
3. git worktreeで作業ディレクトリを準備
4. タスクの並列実行
5. 各成果物をセルフレビュー・PR作成

Step 1: タスクの洗い出しと分割

まずはVibeKanban上で実行するタスクの洗い出しと分割を行い、整理します。
mdファイルとしてタスク登録用のテンプレートを作成し、テンプレートに沿って、タスクの内容を書き起こしていきます。

テンプレートの例
実際はもっと詳細に記載していますが、下記のようなタスク内容を記載したmdファイルを作成します。

## タスク1
Aファイルに〇〇の機能を追加してください

## タスク2
Bファイルに〇〇の機能を追加してください。

Step 2: VibeKanbanにタスクを登録

VibeKanban上で Step 1 で作成したmdファイルを読み込み、タスクを分割して登録してくださいと指示を出し、登録します。
下記のようにタスクは画面上から必要情報を入力することで登録することが可能です

vibe_kanban_create_task.png

上記実行後、分割して個別のタスク登録が行われます。

vibe_kanban_task_list.png

Step 3: git worktreeで作業ディレクトリを準備

タスクごとに独立した作業ディレクトリを作成します。
VibeKanban上でタスクを登録する際に自動で作業ディレクトリの作成までしてくれるのでここはあまり意識することはありませんでした。

ここでgit worktreeについての説明も記載しておきます。

git worktreeとは

git worktreeは、1つのリポジトリから複数の作業ディレクトリを作成できるGitの機能です。通常のブランチ切り替えと異なり、複数のブランチを同時に別ディレクトリで開けるのが特徴です。

通常のブランチ運用との違い
【通常のブランチ運用】
my-project/
  └── (現在のブランチの内容のみ)

→ ブランチを切り替えるたびにファイルが書き換わる
→ 複数ブランチの同時作業は不可能

【git worktreeを使った運用】
my-project/           # メインのworktree(mainブランチ)
my-project-task-a/    # worktree A(feature/task-aブランチ)
my-project-task-b/    # worktree B(feature/task-bブランチ)

→ 各ディレクトリが独立したブランチを保持
→ 同時に複数ブランチで作業可能
worktreeの基本操作
# 新しいworktreeを作成(新規ブランチも同時作成)
git worktree add ../project-task-a -b feature/task-a

# 既存ブランチでworktreeを作成
git worktree add ../project-task-b feature/task-b

# worktree一覧を確認
git worktree list

# 作業完了後、worktreeを削除
git worktree remove ../project-task-a

# 強制削除(未コミットの変更がある場合)
git worktree remove --force ../project-task-a
worktree運用のポイント
  1. 命名規則を決める: {プロジェクト名}-{タスク名}のような規則で管理しやすく
  2. 作業完了後は削除: worktreeが増えすぎると混乱するため、マージ後は削除
  3. 同じブランチは1つのworktreeのみ: 1つのブランチは同時に1つのworktreeでしか使えない

Step 4: タスクの並列実行

登録されたタスクの内容を確認し、VibeKanban上でタスクを実行するように指示を出します。

Step 5: 各成果物をセルフレビュー・PR作成

作成された各成果物の内容を確認し、セルフレビューを行います。
もし問題がなければPRを作成し、レビュー依頼まで実施します。

並列実行の具体例

今回並列実行を試したのは以下の2つのユースケースです。

ユースケース1: テスト作成の並列化

複数のモジュールに対するテストを、それぞれ別のタスクとしてVibeKanbanに登録。各タスクを並列実行することで、テストコードを並列に生成しました。

タスク分割の例:

## タスク1
Aファイルのテストコードを追加してください

〇〇メソッドに下記のケースのテストコードを追加してください
- ケース1
- ケース2
- ケース3

## タスク2
Bファイルのテストコードを追加してください

〇〇メソッドに下記のケースのテストコードを追加してください
- ケース1
- ケース2
- ケース3

ユースケース2: 複数機能の同時実装

独立した複数の機能を別々のタスクとして定義し、同時に実装を進めました。
機能Aの実装を待つ間に機能Bの実装も進行できるため、全体の完了時間を短縮できました。

タスク分割の例:

## タスク1
機能Aの実装をしてください。仕様詳細は下記に記載します。

[仕様]
- 〇〇の場合に〇〇を〇〇に変更する
- 〇〇の場合に〇〇の文言でエラーを表示する

## タスク2
機能Bの実装をしてください。仕様詳細は下記に記載します。

[仕様]
- 〇〇の場合に〇〇を〇〇に変更する

得られた効果

  • 作業時間の短縮
    • テストコードの実装では、直列で実行した場合と比較して作業時間を大幅に短縮できました。並列実行により複数タスクが同時進行するため、タスク数が増えるほど効率化の恩恵を受けやすくなります。
  • 待ち時間の有効活用
    • VibeKanban上でタスクを並列実行している間に他の作業ができ、効率的に作業を進められるようになりました。

注意点と学び

タスクの洗い出しと分割について

現状はタスクの洗い出しと分割をある程度手動で実施しています。
タスクが多くなればなるほどここに割く時間が膨れ上がってしまうため、精度高く自動化する必要があると考えています。
現在進行形で改善を進めており、タスクの整理自体もカスタムスラッシュコマンド等を作成し、AIに任せるようにするなど工夫していく必要がありそうでした。

ブランチ名やコミットメッセージの管理について

ブランチ名やコミットメッセージは特に指示をせずにタスクを実行するとチケットの番号と紐づかなかったり、関係ない内容がコミットメッセージに含まれたりなどいくつか不都合がありました。
この問題に対してはタスク登録用のテンプレートに指示内容を記載しておくことで解決することができました。

並列実行の向き不向き

作業の内容次第では並列実行が進めにくいタスクもありました。
簡単に向いているタスク、向いていないタスクを整理しておきます。

並列実行に向いているタスク

  • ディレクトリやモジュールが完全に分離している機能追加
  • 各サービス/コンポーネントごとのユニットテスト作成
  • 独立したバグ修正(影響範囲が限定的なもの)
  • ドキュメント作成(異なるページの執筆)

並列実行に向いていないタスク

  • 共通モジュール(utils、constants等)を変更するタスク
  • データベーススキーマの変更を伴うタスク
  • 依存関係のあるタスク(タスクBがタスクAの完了を前提とする)
  • 同じコンポーネントの異なる機能追加

ブランチ管理の複雑さ → git worktreeで解決

同じディレクトリで複数のタスクを進める場合に都度ブランチを切り替えながら作業をする必要があり、とても非効率でした。
これを解決する手段としてgit worktreeがとても有効でした。
git worktreeを使うことにより、別々のディレクトリでそれぞれブランチを作成し、全く別の作業を進めることができるようになりました。

git worktreeの詳細については「Step 3: git worktreeで作業ディレクトリを準備」を参照してください。

まとめ

本記事では、Claude Code、VibeKanban、git worktreeを組み合わせたタスク並列実行の手法を紹介しました。

ポイントを振り返ると以下の通りです。

  • タスクの洗い出しと分割が重要: 並列実行の効果を最大化するには、独立性の高いタスクに分割することが鍵
  • git worktreeで作業の分離: 複数ブランチを同時に扱えることで、タスクごとの作業が混在せずクリーンに管理できる
  • VibeKanbanでタスク管理を一元化: タスクの登録から実行までを効率的に進められる
  • 向き不向きを見極める: 共通モジュールの変更や依存関係のあるタスクは並列実行に向かないため、事前の判断が必要

AIコーディングツールを活用する上で、「いかに効率化するか」は重要な課題です。
本記事で紹介したアプローチは、その課題に対する一つの解決策となります。

今後の展望

今回の取り組みを通じて、さらなる改善の余地があると感じた点をいくつか挙げてみます。

タスク分割の自動化・精度向上

現状はタスクの洗い出しと分割を手動で行っていますが、ここに時間がかかることが課題です。
カスタムスラッシュコマンドやCLAUDE.mdの整備により、AIにタスク分割を任せる仕組みを構築していきたいと考えています。

ワークフロー全体の自動化

worktreeの作成からタスク実行、PR作成までの一連の流れをスクリプト化することで、より少ない手数で並列実行を開始できるようになります。

チームへの展開

個人での活用からチーム全体への展開も検討しています。タスク登録のテンプレートやベストプラクティスを共有することで、チーム全体の開発効率向上に繋げていきたいです。

おわりに

明日は masayuki yoshida さん による「エンジニアが見落としがちなコミュニケーションの本質」です。

ココナラでは積極的にエンジニアを採用しています。

採用情報はこちら。
https://coconala.co.jp/recruit/engineer/

カジュアル面談希望の方はこちら。
https://open.talentio.com/r/1/c/coconala/pages/70417

参考リンク

Discussion