From signal
Stage all changes, create a conventional commit, then push to remote. One command for the full local→remote cycle. Use when user types /signal-push, "commit and push", "push everything", "push my changes", or wants to send current changes to remote without manual steps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/signal:signal-pushThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
One command. Stages, commits, pushes. Done.
One command. Stages, commits, pushes. Done.
Activate when user says any of:
/signal-push"commit and push", "push everything", "push my changes""push this", "ship it", "send to remote"/signal-commit --pushIf the user's message is only /signal-push (optionally with flags like
--dry, --draft, or --split), treat that as execute now.
--dry and --draft exactly as defined in this file.Run signal-commit logic — full diff analysis, message generation, staging, committing.
See signal-commit/SKILL.md for complete commit behavior.
Push to remote
git push
If no upstream is set (new branch), auto-set it:
git push --set-upstream origin {current-branch}
No prompt. No confirmation. It pushes.
Report
✓ feat(auth): add JWT refresh token rotation [3 files, +47/-12]
✓ pushed → origin/feat/jwt-refresh
All flags from signal-commit are inherited, plus:
| Flag | Behavior |
|---|---|
--draft | Show generated commit message, do not commit or push. |
--dry | Explain what would happen — touch nothing. |
--split | Force atomic commits per logical change, then push all. |
--dry output:
Would stage: 3 files
Would commit: feat(auth): add JWT refresh token rotation
Would push → origin/feat/jwt-refresh
Single commit + push:
✓ feat(auth): add JWT refresh token rotation [3 files, +47/-12]
✓ pushed → origin/feat/jwt-refresh
Split commits + push:
✓ fix(api): handle null response from upstream [2 files, +8/-3]
✓ chore(deps): update axios to 1.6.2 [1 file, +2/-2]
✓ pushed → origin/main
| Situation | Behavior |
|---|---|
| Nothing to commit | ∅ nothing to commit — stop, no push attempt |
| Push rejected (non-fast-forward) | ✗ push rejected — pull and rebase first |
| No remote configured | ✗ no remote configured — add remote first |
| Detached HEAD | Commit succeeds, then: ✗ cannot push in detached HEAD — checkout a branch first |
| Merge conflicts | ✗ merge conflicts in {files} — resolve before committing |
| No git repo | ✗ not a git repository |
bash .agents/skills/signal-push/scripts/push.sh [--draft] [--split] [--dry] ["custom message"]
powershell -NoProfile -ExecutionPolicy Bypass -File "$env:USERPROFILE\.agents\skills\signal-push\scripts\push.ps1" [--draft] [--split] [--dry] ["custom message"]
The script wraps commit (commit.sh / commit.ps1) and adds the push step. Message generation is done by the agent before calling the script.
Output must comply with SIGNAL compression rules if SIGNAL is active:
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub mattbaconz/signal --plugin signal