一键导入
worktree-parallel
Git worktree を使った並列開発時に使用。配置・ポート割当・環境コピー・クリーンアップを標準化する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Git worktree を使った並列開発時に使用。配置・ポート割当・環境コピー・クリーンアップを標準化する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
プッシュ前に必ず実行。静的チェック・テスト・統合レビュー含む6ペルソナレビューを最低2サイクル実施し、自己改善確認後のみpush可能。
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
作業完了前にセッション内の改善ポイントを抽出し、ユーザー承認後にルール・スキル・ドキュメントへ反映する。
開発サーバー・E2E・ブラウザ検証時に使用。既存プロセスを停止してからプロジェクト指定ポートで起動し、作業後に必ず停止する。
Use when creating new skills, editing existing skills, or verifying skills work before deployment
機能・サービス・要件・前提条件などプロジェクトの知識をドキュメント化する。新規機能/サービスを作るとき、または既存機能を変更するときに必ず実行。新規ならドキュメントを作成、既存があれば更新する。
| name | worktree-parallel |
| description | Git worktree を使った並列開発時に使用。配置・ポート割当・環境コピー・クリーンアップを標準化する。 |
同一リポジトリ内で複数の独立タスクを並列に進める際、worktree の配置、ブランチ、ポート、環境ファイル、終了処理を統一する。
SuperPowers の using-git-worktrees で分離ワークスペースを確保したうえで、このスキルのプロジェクト固有ルールを適用する。
.worktrees/ 配下に作成する/ を - に置換したものにするgit worktree remove と git worktree prune で孤児状態を残さないgit branch --show-current
git status --short
git worktree list
確認すること:
main / master ではない、またはこれから新規ブランチを作る.worktrees/ の安全確認.worktrees/ は必ず Git 追跡対象外にする。
bash:
# パスは末尾スラッシュ付きで指定すること(ディレクトリ未作成でも正しく判定するため)
git check-ignore -q .worktrees/ || echo ".worktrees/" >> .gitignore
PowerShell:
git check-ignore -q .worktrees/
if ($LASTEXITCODE -ne 0) { Add-Content -Path .gitignore -Value ".worktrees/" }
.gitignore を変更した場合は、worktree 作成前にその変更をコミット対象として扱う。未追跡の worktree 内容が誤ってコミットされないことを最優先する。
bash:
BRANCH_NAME="[type]/[description]-[issue-number]"
WORKTREE_NAME="${BRANCH_NAME//\//-}"
WORKTREE_PATH=".worktrees/${WORKTREE_NAME}"
git worktree add "${WORKTREE_PATH}" -b "${BRANCH_NAME}"
PowerShell:
$BranchName = "[type]/[description]-[issue-number]"
$WorktreeName = $BranchName -replace '/', '-'
$WorktreePath = ".worktrees/$WorktreeName"
git worktree add $WorktreePath -b $BranchName
既にブランチが存在する場合は -b を外して同じパスに追加する:
git worktree add "${WORKTREE_PATH}" "${BRANCH_NAME}"
作成後は対象 worktree に移動し、以降の変更はその中だけで行う。
worktree ごとのポートは、メインチェックアウト直下の .worktrees/.ports.json で管理する。
worktree 内からの相対パス(../.ports.json など)は worktree の配置に依存して壊れやすいため、メインチェックアウトで作成時に絶対パスを控えてエージェントへ渡す。
bash:
PORT_REGISTRY="$(pwd -P)/.worktrees/.ports.json"
PowerShell:
$PortRegistry = Join-Path (Get-Location).Path ".worktrees/.ports.json"
{
"base": {
"frontend": 3000,
"backend": 8080
},
"allocations": {
"feat-example-123": {
"slot": 2,
"frontend": 3010,
"backend": 8090
}
}
}
slot を 2 から順に割り当てるslot ごとのポートは base + ((slot - 1) * 10) とするCLAUDE.md / AGENTS.md / .cursorrules の Development Server Ports を確認する.worktrees/.ports.json がなければ作成する.env.local などの PORT 系変数に割当ポートを反映するworktree 作成後、メインチェックアウトから未追跡のローカル設定をコピーする。
対象例:
.env.env.local.env.development*.local注意:
worktree 作成直後に無条件で install / build を実行しない。
if [ -f pnpm-lock.yaml ]; then
pnpm install --prefer-offline # 共有 store からハードリンクされ高速
elif [ -f yarn.lock ]; then
yarn install --prefer-offline
elif [ -f package-lock.json ]; then
npm ci --prefer-offline
elif [ -f package.json ]; then
npm install --prefer-offline
fi
Gradle のキャッシュ(~/.gradle)は worktree 間で共有されるため、事前のフルビルドは不要。テスト実行などでビルドが必要になった時点で実行する。
# ビルドが必要になった時点でのみ(例: テスト実行前)
./gradlew build -x test --build-cache
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f pyproject.toml ]; then poetry install; fi
2 つ以上の独立タスクを並列化する場合は、dispatching-parallel-agents と組み合わせて worktree 単位で分離する。
各エージェントへの必須指示:
あなたの作業場所は <worktree path> です。
ポートレジストリは <absolute path to .worktrees/.ports.json> です。
この worktree 外のファイルを変更してはいけません。
サーバーを起動する場合はポートレジストリの割当ポートだけを使用してください。
作業完了時は起動したサーバーを停止し、変更内容と検証結果を報告してください。
独立していないタスク、共有ファイルへの頻繁な変更が必要なタスク、DB マイグレーション競合が起きるタスクは並列化しない。
worktree 内で E2E テスト、ブラウザ検証、開発サーバー起動が必要な場合は、必ず server-startup スキルを併用する。
順序:
.worktrees/.ports.json の割当ポートを確認マージ / PR 作成 / 破棄の判断は superpowers:finishing-a-development-branch スキルに従う。
PR がマージされた、または作業を破棄する判断をしたら、worktree とブランチを削除する。
git worktree remove ".worktrees/<worktree-name>"
git worktree prune
git branch -d "<branch-name>" # マージ済みを確認してから削除。破棄時のみ -D を使用
メインチェックアウト直下の .worktrees/.ports.json から該当 worktree の割当を削除する。
削除前に必ず確認すること:
.worktrees/ が Git 追跡対象外である.worktrees/.ports.json に割当がある