mcpField
F
finishing-a-development-branch

finishing-a-development-branch

github.com/mavcui開発19360 回インストール34 週間前に更新
リポジトリ

finishing-a-development-branch について

finishing-a-development-branch は、コーディングエージェントがテスト確認から次の操作、後片付けまで開発作業を完了するためのスキルです。マージ、Pull Request、保持、破棄の選択肢があり、破棄前には確認を求めます。

主な機能

  1. 01完了前のテスト検証
  2. 02開発ブランチのベース特定
  3. 03次の操作として4つの選択肢を提示
  4. 04作業の破棄前に確認を要求
  5. 05選択に応じた worktree の整理

活用シーン

  1. 01テスト通過後のブランチ統合方法の選択
  2. 02ブランチをプッシュして Pull Request を作成
  3. 03後で作業するためにブランチを保持
  4. 04確認後にブランチを破棄して worktree を整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mavcui/agent-skills-hunter --skill finishing-a-development-branch

インストール後、Claude Code で/finishing-a-development-branchを入力して読み込まれたか確認します。

詳細

開発ブランチの完了

概要

明確な選択肢を提示し、選ばれたワークフローを処理することで、開発作業の完了をガイドします。

中核原則: テストを検証 → 選択肢を提示 → 選択を実行 → クリーンアップ。

開始時に告知: "I'm using the finishing-a-development-branch skill to complete this work."

プロセス

ステップ 1: テストを検証

選択肢を提示する前に、テストが合格していることを検証します:

# Run project's test suite
npm test / cargo test / pytest / go test ./...

テストが失敗した場合:

Tests failing (<N> failures). Must fix before completing:

[Show failures]

Cannot proceed with merge/PR until tests pass.

停止します。ステップ 2 に進まないでください。

テストが合格した場合: ステップ 2 に進みます。

ステップ 2: ベースブランチを特定
# Try common base branches
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null

または次のように確認します: "This branch split from main - is that correct?"

ステップ 3: 選択肢を提示

次の 4 つの選択肢をちょうど提示します:

Implementation complete. What would you like to do?

1. Merge back to <base-branch> locally
2. Push and create a Pull Request
3. Keep the branch as-is (I'll handle it later)
4. Discard this work

Which option?

説明は追加しないでください - 選択肢は簡潔に保ちます。

ステップ 4: 選択を実行
選択肢 1: ローカルでマージ
# Switch to base branch
git checkout <base-branch>

# Pull latest
git pull

# Merge feature branch
git merge <feature-branch>

# Verify tests on merged result
<test command>

# If tests pass
git branch -d <feature-branch>

その後: ワークツリーをクリーンアップ (ステップ 5)

選択肢 2: プッシュして PR を作成
# Push branch
git push -u origin <feature-branch>

# Create PR
gh pr create --title "<title>" --body "$(cat <<'EOF'
## Summary
<2-3 bullets of what changed>

## Test Plan
- [ ] <verification steps>
EOF
)"

その後: ワークツリーをクリーンアップ (ステップ 5)

選択肢 3: そのまま保持

報告: "Keeping branch . Worktree preserved at ."

ワークツリーをクリーンアップしないでください。

選択肢 4: 破棄

まず確認:

This will permanently delete:
- Branch <name>
- All commits: <commit-list>
- Worktree at <path>

Type 'discard' to confirm.

正確な確認を待ちます。

確認された場合:

git checkout <base-branch>
git branch -D <feature-branch>

その後: ワークツリーをクリーンアップ (ステップ 5)

ステップ 5: ワークツリーをクリーンアップ

選択肢 1、2、4 の場合:

ワークツリー内にいるか確認します:

git worktree list | grep $(git branch --show-current)

はいの場合:

git worktree remove <worktree-path>

選択肢 3 の場合: ワークツリーを保持します。

クイックリファレンス

選択肢マージプッシュワークツリーを保持ブランチをクリーンアップ
1. ローカルでマージ✓--✓
2. PR を作成-✓✓-
3. そのまま保持--✓-
4. 破棄---✓ (強制)

よくある間違い

テストの検証をスキップする

  • 問題: 壊れたコードをマージし、失敗する PR を作成する
  • 対処: 選択肢を提示する前に必ずテストを検証する

自由形式の質問

  • 問題: "What should I do next?" → 曖昧
  • 対処: ちょうど 4 つの構造化された選択肢を提示する

自動的なワークツリーのクリーンアップ

  • 問題: 必要になるかもしれないワークツリーを削除する (選択肢 2、3)
  • 対処: 選択肢 1 と 4 の場合のみクリーンアップする

破棄に対する確認がない

  • 問題: 作業を誤って削除する
  • 対処: 入力による "discard" の確認を必須にする

レッドフラグ

絶対にしないこと:

  • テストが失敗した状態で進める
  • 結果のテストを検証せずにマージする
  • 確認なしに作業を削除する
  • 明示的な要求なしに強制プッシュする

必ず行うこと:

  • 選択肢を提示する前にテストを検証する
  • ちょうど 4 つの選択肢を提示する
  • 選択肢 4 には入力による確認を取る
  • 選択肢 1 と 4 の場合のみワークツリーをクリーンアップする

連携

呼び出し元:

  • subagent-driven-development (ステップ 7) - すべてのタスクが完了した後
  • executing-plans (ステップ 5) - すべてのバッチが完了した後

組み合わせ:

  • using-git-worktrees - そのスキルによって作成されたワークツリーをクリーンアップする

コメント