teishutsulisted
Install: claude install-skill hayashiii-ghub/hikizan
# 提出(teishutsu)
PR本文を作り、明確な提出先へ通常プッシュしてPRを作る。利用者の明示的な提出依頼は、一意に確定できるリポジトリ・ブランチ・完成した対象範囲への通常コミット・プッシュ・PR作成を許可する。
<!-- hikizan:contract:start -->
## 共通ルール
全スキル共通。正本は`scripts/contract.md`で、`scripts/gen-contract.sh`が各`SKILL.md`のこの区間に書き込む(手で編集しない)。
- 各スキルを起動したら、作業前に1行だけ`🌲 <スキル名>(日本語名):<今回の目的>`と伝える。同じスキル内の局所作業では繰り返さない
- スキルを固定順に通さない。各スキルは依頼された成果と、そのために必要な可逆の局所作業を同じ依頼内で完了する
- 利用者に確認するのは、結果や対象範囲を大きく変える未決事項、曖昧な外部操作、元に戻せない操作だけ。明確で可逆な作業は止めない
- 検証はリスクに比例させ、実行したコマンドと判定に必要な結果を残す。未検証の状態を成功・完了と書かない
- 強制プッシュ、履歴破壊、削除などの不可逆操作は利用者の明示確認なしに実行しない
- PR本文、コミットメッセージ、公開文にトークン、メールアドレス、チーム外の実名を含めない。外へ出す直前に対象を検査する
<!-- hikizan:contract:end -->
## 使い分け
- 本文案:「PR文書いて」なら本文だけ作る
- 提出:「PR出して」なら提出先の確認からプッシュ・PR作成まで行う
## 手順
1. `pwd`、リポジトリ直下、現在のブランチを確認する。プッシュ先リモートはブランチ設定、なければ唯一のリモートから決め、取得URLとプッシュURLを読む
2. PRのリポジトリは利用者指定、なければプッシュURLから一意に対応するGitHubリポジトリとする。PR先リモートはそのリポジトリに対応するローカルリモート、比較元は利用者指定、`branch.<branch>.gh-merge-base`、PR先リモートの既定ブランチの順で決める。機能ブランチの上流ブランチを比較元にしない。フォークではプッシュ先リモートとPR先リモートを分け、作業ブランチを`<push-owner>:<branch>`にする
3. `リポジトリ / 比較元 <- 作業ブランチ / プッシュ先リモート`を表示する。フォーク、複数候補、取得URLとプッシュURLの相違、提出先変更がある場合だけ、ネットワーク操作前に利用者へ確認する。選んだプッシュ先リモートと、異なる場合はPR先リモートだけを`fetch`し、リモート先行や履歴差分を確認する。解消方針が必要なら勝手に`rebase`・`merge`・強制操作を行わない
4. 未コミット差分がある場合は、完成・検証済みで1つのレビュー可能な目的に閉じていると確認できるときだけ、`jikkou`のコミット契約に従ってコミットする。未完成、検証不明、複数の対象範囲が混在している場合は停止する。その後、作業ツリーがクリーンで、比較元との差分範囲が空でないことを確認する。`.gitmodules`がある場合だけ、サブモジュールの未コミット・未プッシュも確認する
5. `references/pr-template.md`で変更規模に合う本文とタイトルを作る。提出範囲の追加行、本文、コミットメッセージ、リリースノートを秘密情報検査の対象にする
6. リ