Skill
Works on a personal branch named descriptively & consistently with style guide (e.g. `mike/widget-search`)
Stages/commits work after making progress
Names commit messages according to style guide (e.g. "Add migration and model for payment plans.")
Commits smallest atomic amount of work
Cleans up work-in-progress (WIP) commits before submitting (e.g. using `git rebase -i`)
Groups commits appropriately onto branches
Self-reviews code before submitting for review (`git add -p`, `git diff`, `git diff --cached`, github PRs, etc)
Requests frequent code reviews
Names pull requests descriptively and consistently
Maintains commit history without nested merges
Never commits non-WIP code with failing tests