Ship It
Coordinate the two sibling skills without replacing or weakening either skill's instructions.
Workflow
Resolve these paths relative to this skill's directory:
../checkout-commit-push-pr/SKILL.md../soft-delete-git/SKILL.md
Stop and report the missing dependency if either file is unavailable.
Record the current branch name so the same branch can be cleaned up later.
Read
../checkout-commit-push-pr/SKILL.mdcompletely and follow it through PR creation and CI monitoring. Preserve all of its safety checks and stop conditions. Capture the resulting PR URL or number.Treat the
ship-itinvocation as authorization to merge only the PR created by this run. After every required check passes, merge it withgh pr merge:- Follow a merge strategy required by repository guidance when one is documented.
- Otherwise prefer
--merge, because retaining branch ancestry allows the subsequent safe delete to usegit branch -d. - If merge commits are explicitly disabled, fall back to an allowed strategy, preferring
--squashand then--rebase. Do not change strategy merely because the PR has conflicts, lacks approval, or is blocked by policy. - Do not pass
--delete-branch; leave local branch cleanup tosoft-delete-git. - Never use
--adminor bypass branch protection. Surface any review, conflict, permission, or policy blocker.
Verify the merge rather than trusting the merge command's exit status:
gh pr view <PR-NUMBER> --json state,mergedAt,urlIf the repository uses a merge queue, monitor until the PR reports
MERGED. Do not begin branch cleanup while it remains open.Once the exact PR reports
MERGED, read../soft-delete-git/SKILL.mdcompletely and follow it for the branch recorded in step 2. Preserve its dirty-worktree and merged-PR verification safeguards. For a verified squash or rebase merge, treat the originalship-itrequest as advance confirmation for the child skill'sgit branch -Dexception, but only for that recorded branch and exact merged PR. Never force-delete an unmerged or different branch.Finish by reporting the PR URL, CI result, merge result, and whether the local branch was deleted.
If either child skill stops or fails, stop the sequence at that point and surface its exact blocker. Do not skip ahead or duplicate the child skill's procedure from memory.