branching-strategy-and-conventions
Skill4 starsChanged 10 months agoMITView on GitHub
Use when creating any repository, defining Git workflows, or enforcing commit conventions. Establishes branching policy, commit message standards (Conventional Commits), and merge rules aligned to SemVer.
In this repository67 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agents-onboardingSkill
- agent-workitem-automationSkill
- architecture-testingSkill
- aspire-integration-testingSkill
- automated-standards-enforcementSkill
- best-practice-introductionSkill
- broken-windowSkill
- change-risk-rollbackSkill
- ci-cd-conformanceSkill
- component-boundary-ownershipSkill
- contract-consistency-validationSkill
- csharp-best-practicesSkill
- deployment-provenanceSkill
- documentation-as-codeSkill
- documentation-scaffoldSkill
- dotnet-bespoke-code-minimisationSkill
- dotnet-best-practicesSkill
- dotnet-domain-primitivesSkill
- dotnet-efcore-practicesSkill
- dotnet-healthchecksSkill
- dotnet-logging-serilogSkill
- dotnet-mapping-standardSkill
- dotnet-open-source-first-governanceSkill
- dotnet-source-generation-firstSkill
- dotnet-specification-patternSkill
- dotnet-testing-assertionsSkill
- environment-traceabilitySkill
- finishing-a-development-branch-iddSkill
- greenfield-baselineSkill
- impacted-scope-enforcementSkill
- incremental-change-impactSkill
- incremental-deploymentSkill
- innersource-governance-bootstrapSkill
- issue-driven-deliverySkill
- library-extraction-stabilisationSkill
- local-dev-experienceSkill
- markdown-authorSkill
- modern-csharp-coding-standardsSkill
- monorepo-orchestration-setupSkill
- observability-logging-baselineSkill
- pair-programmingSkill
- persona-switchingSkill
- process-skill-routerSkill
- quality-gate-enforcementSkill
- release-tagging-planSkill
- repo-best-practices-bootstrapSkill
- repository-foundation-bootstrapSkill
- requirements-gatheringSkill
- runtime-tooling-validationSkill
- safe-brownfield-refactorSkill
- scoped-colocationSkill
- security-processesSkill
- selective-build-testSkill
- semantic-version-impactSkill
- session-awareSkill
- skills-first-workflowSkill
- static-analysis-securitySkill
- structured-review-workflowSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 34
Document squash merge SemVer preservation (Squash Merge Guide)
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Branching Strategy and Conventions
Overview
P0 Foundational - Applies by default. Establishes branching model, commit conventions, and merge strategy.
REQUIRED: superpowers:verification-before-completion
When to Use
- Any repository (default)
- New repository creation
- Existing repo without documented branching policy
- User requests Git branching or commit conventions
- Release management or versioning strategy needed
Core Workflow
- Announce skill (default for all repos)
- Define branching strategy (Trunk-Based, GitHub Flow, or Git Flow)
- Set default branch as
main - Define branch naming:
feature/*,fix/*,docs/*,hotfix/*,release/* - Configure Conventional Commits (Commit Conventions)
- Set up commitlint + pre-commit hooks
- Define merge strategy: disable merge commits, prefer
--ff-onlyor squash - Document squash merge SemVer preservation (Squash Merge Guide)
- Configure branch protection rules
- Document in CONTRIBUTING.md
- Brownfield: baseline existing history, enforce on new commits
Quick Reference
| Element | Standard | Enforcement |
| Default Branch | main | Repository |
| Branch Naming | feature/*, fix/*, docs/* | CI validation |
| Commit Format | Conventional Commits | commitlint |
| Commit Types | feat, fix, docs, chore, refactor, test, ci | Pre-commit + CI |
| Merge Strategy | Squash (multi-commit) or FF-only (single) | Branch rules |
| Breaking Change | feat!: or BREAKING CHANGE footer | SemVer MAJOR |
See Branching Models for strategy comparison.
Red Flags - STOP
- "Can define strategy later"
- "Just use main for now"
- "Team knows commits"
- "History is messy anyway"
- "Commit format not important"
- "Can parse freeform messages"
- "Too restrictive for developers"
All mean: Apply skill or document explicit opt-out in exclusions.md.
Rationalizations
| Excuse | Reality |
| "Can define strategy later" | Later never comes. Strategy takes 15 minutes, prevents project-long confusion. |
| "Just use main branch for now" | No strategy = accidental commits to main, no review process, deployment chaos. |
| "Team knows how to write commits" | Inconsistent messages break automation, make history unreadable, prevent SemVer. |
| "History is already messy" | Enforce on new commits. Baseline existing history, don't rewrite it. |
| "Commit format not critical" | Conventional Commits enable changelogs, SemVer, release notes. Critical for automation. |
Evidence Checklist
- Branching strategy defined (Trunk-Based, GitHub Flow, or Git Flow)
- Default branch is
main - Branch naming conventions documented
- Conventional Commits configured (commitlint)
- Pre-commit hooks configured
- Merge strategy defined (squash or FF-only)
- CONTRIBUTING.md updated
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

