If on main, checkout a new branch first. Stage ALL changes in the repository (not just session changes) with `git add -A`. Commit the changes with an appropriate message summarizing all the work. Use gh cli to see if a PR exists already. If it doesn't, create one with an appropriate title and description. If a PR does exist, query the current title and description, and update it if appropriate. Then push the changes.
