| name | push-changes |
| description | Push git changes to remote with full workflow including status check, staging, committing, and pushing. Use when the user asks to push changes, push up code, or sync with remote. Includes safety check to prevent pushing directly to main branch. |
Push Changes
Push local changes to the remote repository with safety checks.
Workflow
-
Check current branch
git branch --show-current
STOP if on main or master: Warn the user they forgot to create a branch. ALWAYS use the AskQuestion tool:
- Title: "Branch Required"
- Question: "You're currently on the main branch. What branch name would you like to use?"
- Options:
- id: "custom", label: "Let me specify a branch name"
- id: "abort", label: "Abort, I'll create it myself"
If the user selects "custom", ask them conversationally for the branch name, then create and switch to it:
git checkout -b <branch-name>
-
Check status
git status
Review untracked files and modifications.
-
Stage changes
git add -A
Or selectively add specific files if the user prefers.
-
Review staged changes
git diff --staged --stat
-
Commit with descriptive message
Analyze the changes and create a commit message following conventional commits format:
git commit -m "$(cat <<'EOF'
<type>(<scope>): <description>
<optional body>
EOF
)"
Types: feat, fix, docs, style, refactor, test, chore
-
Push to remote
git push -u origin HEAD
-
Verify push succeeded
git status
Confirm the branch is up to date with remote.
Safety Rules
- Never push to
main or master - always create a feature branch first
- Never force push unless explicitly requested by the user
- Review changes before committing to avoid committing secrets or unwanted files