feat(skill): publish-release flips GitHub default to main on first release#84
Merged
Merged
Conversation
…lease Implements Step 5 of the release ceremony documented in engineering-handbook PR #19. The integration trunk stays on develop; this only touches GitHub's separate "default branch" repo setting, which controls the landing page, clone target, and PR-base UI default. After the tag pushes and the pipeline starts, check the current default. If it's still develop (first release), flip to main. If it's already main (subsequent release), no-op. The check is idempotent so the skill can run it unconditionally without risk. Contributors keep branching from and PRing to develop — only the repo's public-facing default changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-Authored-By: amcheste <13696614+amcheste@users.noreply.github.com>
amcheste
approved these changes
May 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements Step 5 of the release ceremony documented in engineering-handbook#19.
What this does
Adds a new Step 5 to
claude-skills/publish-release/SKILL.md. After the tag pushes and the pipeline starts, the skill ensures GitHub's default branch setting is `main`:```bash
current=$(gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name')
if [ "$current" != "main" ]; then
gh repo edit --default-branch main
fi
```
The integration trunk is unaffected — contributors still branch from and PR to develop. Only GitHub's separate "default branch" repo setting (which controls the landing page,
git clonetarget, and PR-base UI default) changes.Why this is in the skill, not a workflow
Two alternatives were considered:
Administration: Read & Write(the defaultGITHUB_TOKENcan't change repo settings). Every consuming repo would need a secret configured.Skill step is simpler, no secrets to rotate, and the behavior lives next to the rest of the release flow.
Companion PRs
gh repo edit --default-branch mainon the 6 repos currently in the intermediate state (have releases, but default still points at develop): assets, cam-brand, engineering-handbook, niche-hunter, overleaf-mcp, overleaf-mcp-site.