| name | xquic-safe-push |
| description | Safely stage, commit, and push XQUIC changes after scoped Git checks. Use when asked to stage, commit, push, publish a branch to a fork, or verify that only intended files will be sent to a remote. |
XQUIC Safe Push
This skill owns local Git scope, commit, and push safety. It does not own pull
request body content, review state, validation semantics, or PR pre-review.
Use PR-specific skills only when those tasks are explicitly in scope.
Preflight
- Read
AGENTS.md and honor branch policy: never push directly to remote main or master.
- Check
git status --short --untracked-files=all, git branch --show-current, and git remote -v.
- Resolve the intended push remote from the user request and the repository's
current configuration:
git remote -v
git remote get-url --push <target-remote>
Remote names such as origin, upstream, or fork are local conventions,
not portable identities. Do not create, rename, or repoint a remote unless
the user explicitly requests that configuration change.
- Use an explicitly named target when the user provides one. Otherwise use
the current branch's configured upstream only when its push URL and intended
ownership are unambiguous; ask before pushing when multiple or unclear
writable targets exist.
- Show staged and unstaged scopes separately using
git diff --cached --name-status and git diff --name-status.
- If the user requested staged-only behavior, do not add any other files.
- If user-owned unrelated edits exist, leave them untouched and name them before proceeding.
- Confirm the target remote and branch before pushing.
Commit
- Commit only the intended staged files.