Git workflow
Git workflow management. Triggers when creating branches, preparing PRs, or managing merge decisions.From its SKILL.md
npx -y skills add muyen/vibe-to-prod --skill git-workflowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.7 KB, as published. Nobody here has run it
Git Workflow Skill
Manage git branches, commits, and pull requests following project conventions.
When to Activate
This skill should activate when:
- Starting work on a new feature/fix
- Creating a new feature branch
- Preparing to create a pull request
- Deciding whether to merge or rebase
- Resolving merge conflicts
Branch Naming Convention
<type>/<short-description>
Examples:
- feature/add-user-profile
- fix/login-redirect-bug
- chore/update-dependencies
Commit Message Format
type: description
Types:
- feat: New feature
- fix: Bug fix
- docs: Documentation
- style: Formatting (no code change)
- refactor: Code restructuring
- test: Adding tests
- chore: Maintenance
Examples:
- feat: add user profile endpoint
- fix: resolve login redirect issue
- chore: update dependencies
Workflow Steps
1. Start New Work
# Ensure main is up to date
git checkout main
git pull origin main
# Create feature branch
git checkout -b feature/description
2. During Development
# Stage changes
git add -p # Interactive staging (review each change)
# Commit with conventional format
git commit -m "type: description"
# Push regularly
git push -u origin branch-name
3. Before PR
# Ensure all tests pass
make test # or appropriate test command
# Rebase on latest main (if needed)
git fetch origin main
git rebase origin/main
# Force push after rebase
git push --force-with-lease
4. Create PR
# Using GitHub CLI
gh pr create --title "type: description" \
--body "## Summary
- What this PR does
## Test Plan
- How to test"
Merge vs Rebase Decision
| Situation | Action |
|---|---|
| Feature branch behind main | Rebase onto main |
| Shared branch (multiple devs) | Merge, don't rebase |
| Before PR | Rebase + squash if messy |
| After PR approved | Squash merge via GitHub |
Conflict Resolution
# During rebase conflict
git status # See conflicted files
# Edit files to resolve conflicts
git add <resolved-files>
git rebase --continue
# If too messy, abort and merge instead
git rebase --abort
git merge origin/main
Rules
- Never force push to main/master
- Always run tests before creating PR
- Squash merge feature branches to keep history clean
Output Format
## Git Workflow
**Branch**: `feature/description`
**Base**: `main`
**Commits**: X commits
### Pre-PR Checklist
- [ ] Tests passing
- [ ] Rebased on latest main
- [ ] Commit messages follow convention
- [ ] No merge conflicts
### Ready for PR
```bash
gh pr create --title "..." --body "..."