sync
Skill30 starsChanged 3 months agoMITView on GitHub
Back-merge main to staging after a release to keep branches synchronized
- Commits and pushes
54 other projects use a version of this.
Adopted by
Most recently taken up by
- Catherine1401/agent-skillstheir own version, first seen Nov 8, 2026
- FabianoArthur/claude-code-kitchentheir own version, first seen Nov 8, 2026
- laz3rjenkins/atomic-commitstheir own version, first seen Nov 8, 2026
- joeldevz/skynex-pitheir own version, first seen Nov 8, 2026
- grainulation/grainulatortheir own version, first seen Nov 3, 2026
- vzhukovs/podman-desktop-kittheir own version, first seen Nov 1, 2026
Used with
Projects with it also use develop, scope and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
hong9LeeSkilldevelop
빌드, 아키텍처, git 관련 작업 시 OMS MSA 공통 인프라 규칙을 적용한다. 기술 스택, 빌드 명령, 헥사고날 아키텍처 구조, git 워크플로우, AI Context 동기화 규칙을 다룬다. 코드 작성 컨벤션은 /convention, 테스트 컨벤션은 /test-guide 스킬을 참조.
Also in 6 projects that use this
YuriNachosSkillscope
Configure claude-scope status line widgets for Claude Code. Use when user wants to customize widgets, change theme, reorder elements, or modify display style.
Also in 7 projects that use this
nicolasestremSkilldocument
Create focused documentation for specific components or features
Also in 5 projects that use this
kt057Skillcheck
lint, typecheck, test を一括実行して結果をサマリーする
Also in 6 projects that use this
Microsoft AzureSkilltest
Also in 8 projects that use this
Microsoft AzureSkillvalidate
Run the full CI validation workflow locally before submitting a PR. Use this as a final check to ensure all Azure DevOps CI pipeline steps will pass.
Also in 4 projects that use this
Other versions54 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 54
- microsoft/vscode★ 195ksame name
- jsmastery-pro/skills★ 1.4ksame name
- H-mmer/pentest-agents★ 815same name
- poingstudios/godot-admob-plugin★ 648same name
- cortex-tms/cortex-tms★ 180same name
- grainulation/grainulator★ 86same name
- lsnackerman/raw-clauding-skills★ 45same name
- fivetaku/tikeytaka★ 40same name
- namedtoaster/The-Last-Mile★ 39same name
- 5throck/ai-workspace-standards★ 25same name
44 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- change-briefSkill
- clean-goneSkill
- close-customer-loopSkill
- commitSkill
- finishSkill
- notificationsSkill
- plan-qaSkill
- plan-tddSkill
- release-notesSkill
- releaseSkill
- review-requestSkill
- reviewSkill
- review-watchSkill
- rfcSkill
- setupSkill
- standupSkill
- start-qaSkill
- startSkill
- statusSkill
- tddSkill
- updateSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 5 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 47 edited versions we read keep these.
5
Distinctive
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 51
Check that you're on the production branch and up-to-date:
- Distinctive: line 66
If not on production branch:
- Distinctive: line 74
Read the version for reference in PR:
- Distinctive: line 180
If 0 commits remain, development is already in sync - no PR needed.
- Distinctive: line 273
If conflicts occur during rebase:
“Common” is measured: kept by at least 6 in 10 of the 47 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cross-runtime: follow runtime compatibility for invocation, delegation, configuration precedence, state paths, and permissions.
You are helping sync the production branch changes back to the development branch. This command should be run AFTER a release has been merged to production and deployed to keep branches aligned.
Step 1: Load Configuration
Check for configuration:
if [ -f ".git-workflow/config.yaml" ]; then
CONFIG_PATH=".git-workflow/config.yaml"
elif [ -f ".claude/config.yaml" ]; then
CONFIG_PATH=".claude/config.yaml" # legacy read-only fallback
else
CONFIG_PATH=""
fiLoad from the resolved CONFIG_PATH (if one exists):
workflow:
developmentBranch: staging
productionBranch: main
branches:
sync: "sync/main-to-{devBranch}"
versioning:
file: autoDefault Values:
workflow:
developmentBranch: staging
productionBranch: main
branches:
sync: "sync/main-to-{devBranch}"Step 2: Verify Current State
Check that you're on the production branch and up-to-date:
PROD_BRANCH=$(config.workflow.productionBranch || "main")
DEV_BRANCH=$(config.workflow.developmentBranch || "staging")
# Get current branch
CURRENT=$(git branch --show-current)
# Pull latest
git pull origin ${PROD_BRANCH}Validation:
- If not on production branch:
You should be on {PROD_BRANCH} branch to create a sync PR. Run: git checkout {PROD_BRANCH} && git pull
Step 3: Get Current Version
Read the version for reference in PR:
# Auto-detect version file
if [ -f "package.json" ]; then
VERSION=$(node -p "require('./package.json').version")
elif [ -f "pyproject.toml" ]; then
VERSION=$(grep -Po '(?<=version = ")[^"]*' pyproject.toml)
elif [ -f "Cargo.toml" ]; then
VERSION=$(grep -Po '(?<=^version = ")[^"]*' Cargo.toml)
elif [ -f "VERSION" ]; then
VERSION=$(cat VERSION)
else
VERSION="unknown"
fiStep 4: Check What Needs Syncing
Show what commits will be synced:
git fetch origin ${DEV_BRANCH}
git log origin/${DEV_BRANCH}..origin/${PROD_BRANCH} --oneline --no-mergesDisplay to user:
Commits to sync from {PROD_BRANCH} to {DEV_BRANCH}:
abc1234 2.77.0
def5678 Merge pull request #679 from org/release/2.77.0
ghi9012 [Fix] Hotfix for production issue (#680)
These changes from release v{VERSION} need to be back-merged.If No Commits:
{DEV_BRANCH} is already up-to-date with {PROD_BRANCH}.
No sync needed!Exit early if nothing to sync.
Step 5: Create Sync Branch
Generate sync branch name from pattern:
SYNC_PATTERN=$(config.branches.sync || "sync/main-to-{devBranch}")
SYNC_BRANCH=${SYNC_PATTERN/\{devBranch\}/${DEV_BRANCH}}
# Create sync branch from production
git checkout -b ${SYNC_BRANCH}Example: sync/main-to-staging
Step 6: Push Sync Branch
git push -u origin ${SYNC_BRANCH}Step 7: Rebase onto Development Branch
Critical Step: Rebase to skip commits already in development:
git fetch origin ${DEV_BRANCH}
git rebase origin/${DEV_BRANCH}What Happens:
- Git automatically skips commits already in development branch
- Usually 90%+ of commits are skipped (already merged via feature PRs)
- Typically only version bump commit remains
- This is expected and correct!
Example Output:
warning: skipped previously applied commit 357fab94
warning: skipped previously applied commit 9de0e8fd
...
Successfully rebased and updated refs/heads/sync/main-to-staging.After rebase, force-push:
git push origin ${SYNC_BRANCH} --force-with-leaseCheck remaining commits:
git log origin/${DEV_BRANCH}..${SYNC_BRANCH} --onelineExpected Result: Usually just 1-2 commits (version bump, release merge commit).
If 0 commits remain, development is already in sync - no PR needed.
Step 8: Generate Sync PR Description
# Sync {PROD_BRANCH} to {DEV_BRANCH} (Post-Release v{VERSION})
## Description
Back-merge production changes from {PROD_BRANCH} to {DEV_BRANCH} to keep branches aligned after release v{VERSION} deployment.
### Commits Being Synced
{LIST_OF_REMAINING_COMMITS}
### Purpose
This PR ensures {DEV_BRANCH} branch includes all production changes and version bumps from the latest release. This is a standard post-release sync operation.
### What's Included
- Version bump to {VERSION}
- Any hotfixes that went to production
- Release PR merge commit
## Checklist
- [x] {PROD_BRANCH} branch is up-to-date
- [x] Rebased onto {DEV_BRANCH} to skip duplicate commits
- [ ] Code review completed (fast-track expected)
- [ ] Ready to merge
---
**Note**: This is an automated sync PR. All changes have already been reviewed and merged to {PROD_BRANCH} via the release PR.Step 9: Create PR to Development
gh pr create \
--base ${DEV_BRANCH} \
--title "[SYNC] Back-merge ${PROD_BRANCH} to ${DEV_BRANCH} (post-release v${VERSION})" \
--body "$(cat <<'EOF'
{GENERATED_DESCRIPTION}
EOF
)"Important: Sync PRs target development branch (opposite of feature PRs).
Step 10: Confirm
Sync branch created: {SYNC_BRANCH}
PR created: {PR_URL}
Title: [SYNC] Back-merge {PROD_BRANCH} to {DEV_BRANCH} (post-release v{VERSION})
This sync PR back-merges changes from release v{VERSION}.
Next steps:
1. Review PR (should be straightforward)
2. Get fast-track approval
3. Merge to {DEV_BRANCH}
---
Release workflow complete!
- Release v{VERSION} deployed to production
- GitHub release created with detailed notes
- {PROD_BRANCH} and {DEV_BRANCH} synchronizedConfiguration Reference
| Setting | Default | Description |
workflow.developmentBranch | staging | Development branch name |
workflow.productionBranch | main | Production branch name |
branches.sync | sync/main-to-{devBranch} | Sync branch naming pattern |
Error Handling
| Scenario | Action |
| Not on production branch | Instruct to checkout and pull |
| No commits to sync | Exit early with success message |
| Sync branch exists | Ask to delete and recreate |
| Rebase conflicts | Show resolution instructions |
| gh not authenticated | Provide auth instructions |
Conflict Resolution
If conflicts occur during rebase:
Conflicts detected during rebase:
{LIST_OF_CONFLICTING_FILES}
To resolve:
1. Open each file and resolve conflicts
2. Stage resolved files:
git add {files}
3. Continue rebase:
git rebase --continue
4. Force push:
git push origin {SYNC_BRANCH} --force-with-lease
Or abort and resolve manually:
git rebase --abortWhen to Run This Command
Always run /sync after:
- Release PR merged to production
- Hotfix PR merged to production
- Any direct merge to production that needs to be in development
Typical sequence:
/release → Review → Merge → Deploy → /release-notes → /sync → Merge sync PRExample Flow
# User runs: /sync
# Checks: on main, up-to-date ✓
# Gets: version 2.77.0 from package.json
# Lists: 5 commits to sync initially
# Creates: sync/main-to-staging branch
# Pushes: sync/main-to-staging
# Rebases: onto origin/staging
# Result: 4 commits skipped, 1 remains (version bump)
# Force pushes: updated branch
# Creates: PR #680 to staging
# Output: Success with completion messageAlternative Workflows
Tag-Based Workflow
For projects without a staging branch:
workflow:
type: tag-based
developmentBranch: develop
productionBranch: mainDirect Workflow
For simpler projects:
workflow:
type: direct
developmentBranch: main
productionBranch: mainIn direct workflow, sync is not needed as there's only one branch.
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.

