git-release-finish
Git Release Finish
Role: End-of-iteration release workflow — tag the release branch, create MR/PR into the main branch, resolve conflicts, clean up extra files, merge. Git operations are expressed as native commands; MR/PR operations are expressed as intents and the running agent picks its platform CLI (
glab/gh/tea/ equivalent) per its environment.Pairing:
git-release-start(iteration start, creates the release branch) ↔git-release-finish(this skill).Dependency: Phase 6 conflict resolution is delegated to the
git-conflict-resolveskill (semantic analysis, multi-round aggregation).Remote-first principle: confirm remote state before any local action. Before tagging,
git fetchand verify the remote commit SHA. Never tag an unverified local HEAD — it may be behind the remote. Prefer remote API tag creation when the platform supports it (avoids local-state drift); otherwise create the tag locally anchored to the verified remote SHA.
Multi-repo discipline
Single-repo runs may skip this section. Multi-repo runs (≥2 repos) must follow all three rules — each comes from a real postmortem.
M.1 — Explicit working-directory isolation. Tool-call layers have no persistent repo context. After cd to repo A, the next Bash call without cd still runs in A. Multi-repo parallel releases without explicit cd create MRs in the wrong repo, merge-tree the wrong branch, merge the wrong MR. Every command block in a multi-repo run starts with cd <REPO_PATH> &&, even when you are sure you are already there. Each confirmation table (Phase 1/2/3/3.5 output) has a Repo column.
M.2 — Cross-repo failure-pattern propagation. When one repo hits an environment limit (ff merge mode, protected-branch rule, CI pipeline requirement, CLI auth failure), immediately run the same check on every repo that has not yet reached Phase 9. This is a catch-up check, not main-flow duplication; Phase 3.5 already checks all repos in parallel.