セッションの生成とGitによるコラボレーション
ペアで動作する2つの機能:
vspawnを使ってサブタスクを独立した子セッションとして生成する機能(必要に応じて隔離されたgitワークツリー内で)、および並行しているブランチを再び統合するためのグラフィカルなマージ機能です。これら2つにより、「複数のエージェントが同じリポジトリを並行して処理する」というワークフローが日常的に実現できます。
1. 生成とは何か
どのセッション内からでもサブタスクを分離できます。VelaTermは現在のノードの下に新しい子セッションを作成し(ツリーは親 → 子 → 孫といった階層構造になります)、必要に応じて隔離されたgitワークツリーを割り当て、タスクの説明文を新しいセッションの最初のメッセージとして渡します。新しいエージェントは起動した瞬間に作業を開始し、再説明は不要です。
こうして得られるのは、ツリー内に存在する実際のセッションであり、独自のプロセスを持ち、完全にインタラクティブで再開も可能で、いつでも監視したりその中に入ったりできます。これは隠れたバックグラウンドタスクではありません。
2. 4つの利用方法
| 利用方法 | 利用者 | ワークツリー |
|---|---|---|
ターミナルコマンド vspawn "task" | どのセッションでもあなた自身 | デフォルトではオフ。--worktreeで有効化 |
ターミナルコマンド vspawn-tree "task" | 同上 | 常に有効 |
/vspawn task Claudeの会話内で | Claudeがこれを生成し(タスクを充実した自己完結型のプロンプトに拡張)、 | デフォルトではオフ |
/vspawn-tree task Claudeの会話内で | 同上 | 常に有効 |
これら2つのターミナルコマンドは、インストール不要で各セッションのPATHに自動的に組み込まれます。
/スキルを使用するための前提条件: Claudeが/vspawnや/vspawn-treeを使用したり(または自発的にサブセッションを生成したり)するためには、Settings ▸ GeneralでVela Skillsを有効化する必要があります。これにより/vspawn、/vspawn-tree、/vopenスキルがバンドルとして~/.claude/skills/にインストールされ、アプリのアップグレード時に自動的に最新版に更新されます。有効化したら新しいClaudeセッションを起動するか、既存のセッションを再起動してエージェントがこれらのスキルを読み込むようにしてください。これがないと、Claudeはこれらのコマンドを認識せず、ターミナルで入力するvspawn/vspawn-treeのみが動作します。
3. 生成前の確認
デフォルトでは、各生成時にまず確認用のカードが表示されます(右上にあり、非モーダルでフォーカスを奪いません):

- 編集可能な3つのフィールドがあります:プロンプト(複数行)、エージェントタイプ(親のタイプがデフォルト)、および別途gitワークツリーです。
- 「Launch」を押すと子セッションが起動し、「Cancel」を押すとリクエストはキャンセルされます。エージェントが一度に複数のセッションを生成する場合、カードは1つずつ処理され、残りの数がカード上に表示されます。
- 確認を完全にスキップしたい場合は、設定 ▸ 動作で「Spawnする前に確認する」をオフにしてください。
4. ワークツリー:互いに干渉しない並列処理
ワークツリー機能を有効にすると、サブセッションは独自の作業ディレクトリ内の新しいブランチで動作し、メインワークスペースや他のサブセッションから隔離されます。これがマルチエージェント並列処理に適した形です。管理はセッションのコンテキストメニューの「Worktree ▸」から行え、変更内容の確認、ワークツリーフォルダのコピー/開く、ワークツリーの削除(未コミットの変更を強制的に破棄するオプション付き)が可能です。
gitでないディレクトリからのSpawnも可能ですが、その場合はワークツリーなしで親ディレクトリを共有する形になります。
5. マージ:グラフィカルなGitマージ
作業が完了したら、それをメインに統合します。作業ディレクトリがgitリポジトリであるすべてのセッション(ワークツリーの有無に関わらず)で、右クリック → 「Git ▸ Merge…」を選ぶとマージダイアログが開きます:
- ソースブランチとターゲットブランチの両方を選び、方向を入れ替えることもできます。サブセッションのブランチをメインにマージしたり、メインをサブセッションにプルしてベースラインを更新したり、すべて同じダイアログから行えます。
- マージはターゲットブランチがチェックアウトされているワークツリー内で実行されます。ソースツリーに未コミットの変更がある場合は、まずそれらがコミットされるため、何も失われません。
- 競合が発生した場合、シーンはそのまま残され、ユーザー(またはエージェント)がターミナルで解決して作業を続けられます。
マージ時にはワークツリーは自動的に削除されません。確認が取れたら後で「Worktree ▸ Delete worktree…」を使って整理してください。
6. 代表的なワークフロー
- メインセッションでclaudeにタスクを分析させ、その後
/vspawn-tree refactor the checkout moduleでそれをSpawnします(Vela Skillsが必要です。§2を参照)。 - 確認画面のプロンプトを確認し、Launchをクリックします。サブセッションは独自のワークツリー内で起動し、サイドバーの親セッションの下に表示され、ドットが緑色に変わります。
- メインセッションで引き続き作業します。サブセッションが何かを依頼したり作業を終えたりすると、そのドットが黄色に変わり、通知が表示されます。
- 手動で確認し、右クリック → 「Git ▸ Merge…」を選んでそのブランチをメインにマージします。
- 「Worktree ▸ Delete worktree…」で整理し、記録としてサブセッションをアーカイブします。