mcpField
D
done

done

github.com/bonkey開発070 回インストール4 週間前に更新
リポジトリ

done について

コミット済みの Git ブランチを公開するスキルです。既存 PR の更新、ローカルでのマージ、デフォルトブランチ保護時の PR 作成に対応し、確認とコミットをスクリプトによる処理から分けています。

主な機能

  1. 01リポジトリ規則の事前確認
  2. 02内容確認と選択的なステージング
  3. 03ファストフォワードのマージとプッシュ
  4. 04例外状態での引き継ぎ
  5. 05関連チケットのステータス更新

活用シーン

  1. 01既存 PR を更新してブランチを公開
  2. 02保護されていないブランチからマージとプッシュ
  3. 03デフォルトブランチ保護時の PR 作成

インストール

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

$npx skills add https://github.com/bonkey/skills --skill done

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

同梱ファイルreferences/worktrunk.mdscripts/ship.sh

詳細

完了

現在のブランチをリリースします。既存の PR を更新するか、ローカルで main にマージするか、main が保護されている場合は PR を作成します。

決定論的な処理(PR の確認 → 保護状態の確認 → ファストフォワードマージ → プッシュ)は scripts/ship.sh にまとめられているため、一般的なローカルマージの手順を何度もモデルとやり取りすることなく、一度に実行できます。何をリリースするかは判断が必要なため、スクリプトがステージングやコミットを行うことはありません。意図を持ってコミットしてください。スクリプトは作業ツリーがクリーンで、コミット済みであることを要件とし、その後マージとプッシュを行います。スクリプトが自動で完了するのは、十分に把握されている正常系の手順だけです。通常と異なる状況では HANDOFF(必要な状態情報はすでにすべて収集済み)を出力し、以降はユーザーが対応します。

ワークフロー

0. 事前確認 — リポジトリの要件を確認する

このリポジトリとハーネスに適用される規約や指示ファイル(例:AGENTS.md、CLAUDE.md、CONTRIBUTING.md、.cursor/rules/*、.github/copilot-instructions.md、.clinerules など)を探して読み、@ によるインクルードもすべて確認してください。ブランチがルールを満たしているか確認し、先へ進む前に不足を修正するか、明示してください。リポジトリでリリース前のチェック(例:just ci)が必須の場合は、ここで実行してください。

1. レビューしてコミットする

git status と差分を確認し、作業ツリーにリリースする意図の変更だけが含まれていることを確認してください。無関係な編集や、紛れ込んだ未追跡ファイルがないか注意してください。内容を慎重に確認してからステージングしてください(リリース対象外のものがないと確認できた場合に限り git add -A を一度だけ実行し、それ以外の場合は対象パスを指定してステージングします)。続いて、内容を適切に表すメッセージでコミットしてください。作業ツリーはクリーンな状態にしてください。

2. リリーススクリプトを実行する

ブランチのワークツリー内から実行します。

skills/done/scripts/ship.sh

スクリプトは === SHIP: STATE === ブロックを出力し、その後、次のいずれかを出力します。

  • === SHIP: DONE === — ローカルマージの正常系が完了しました(デフォルトブランチをコミットにファストフォワードし、origin にプッシュ済みです。ワークツリーは保持されています)。ステップ 3 に進みます。
  • === SHIP: HANDOFF === — スクリプトは意図的に停止しました。suggested_path: と reason: の行を確認し、以下の手順に進んでください。STATE ブロックには必要な情報がすべて含まれているため、再収集する必要はありません。
  • === SHIP: ERROR === — 手順が失敗しました。step:/detail: を確認し、調査して手動で解決してください。

suggested_path に応じた対応:

suggested_path意味対応
update-prオープンな PR がすでにありますステップ 2a
create-prデフォルトブランチが保護されていますステップ 2b
commit作業ツリーに未コミットの変更があります内容を確認し(ステップ 1)、無関係なものを除外してコミットした後、ステップ 2 を再実行します
resolveマージ、リベース、またはコンフリクトの処理中です解決した後、ステップ 2 を再実行します
manualHEAD が切り離されている、デフォルトブランチ上にいる、origin より遅れている、または分岐しています該当する状態を解消した後、ステップ 2 を再実行します
nothingリリースするものがありませんユーザーに確認してください。すでにリリース済みの可能性があります
2a. 既存の PR を更新する

現在のブランチをリモートにプッシュして、PR を更新します。

wt step push

その後、変更内容を要約したコメントを PR に投稿してください。

2b. PR を作成する(main が保護されている場合)

現在のブランチをプッシュし、PR を作成します。

wt step push
gh pr create --fill
3. 関連チケットを更新する

関連チケット(Jira、Linear、GitHub issue など)がわかっている場合(ブランチ名、コミットメッセージ、PR 本文、会話の文脈から判断)、リリース状況が反映されるようにステータスを更新します。

  • PR を更新した → まだの場合は、チケットを「In Review」(または同等のステータス)に移動します
  • main にマージした(ローカルマージまたは PR のマージ)→ チケットを「Done」/「Closed」/「Shipped」に移動します

明らかに関連するチケットがない場合は、この手順を省略してください。推測で判断しないでください。

4. 結果を報告する

スクリプトの出力(または実行した PR の手順)から事実を確認し、何が行われたかを報告します。

  • ローカルでマージした(SHIP: DONE):デフォルトブランチでの old → new コミットと変更概要を出力します
  • PR を更新した:PR の URL を出力します
  • PR を作成した:PR の URL を出力します
  • チケットを更新した:該当する場合、チケット ID と新しいステータスを出力します

参考資料

  • scripts/ship.sh — 決定論的なローカルマージ手順です。判断フローの信頼できる情報源として参照してください。
  • wt コマンドの詳細については、references/worktrunk.md を参照してください。

コメント