Gp
Skill yokeloop/yoke/skills/gp
Git push with checks and report. Used when the user writes "push", "gp", "git push".From its SKILL.md
npx -y skills add yokeloop/yoke --skill gpAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- skips confirmationTells the agent to proceed without asking first, 3 times: "Runs autonomously — no confirmation prompts." and 2 more.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 2 commands, including `bash ${CLAUDE_PLUGIN_ROOT}/lib/gp-precheck.sh` and 1 more.
SKILL.md
2.4 KB, 679 tokens by cl100k_base, as published. Nobody here has run it
Git push with checks and report
Push orchestrator: collect state, push, report. Runs autonomously — no confirmation prompts.
Input
$ARGUMENTS — optional flags (--force-with-lease).
Step 1 — Pre-check
One call:
bash ${CLAUDE_PLUGIN_ROOT}/lib/gp-precheck.sh
Parse the structured block. Single-value fields are KEY: value; list fields (UNCOMMITTED_LIST) span from the line after KEY: to the next top-level KEY:.
Step 2 — Decide
Blocking (report and stop):
ERRORScontainsdetached HEAD→ "Checkout a branch before push".ERRORScontainsno remote→ "Add a remote:git remote add origin <url>".UNPUSHED_COMMITS = 0andHAS_UPSTREAM = true→ "Nothing to push" (ifUNCOMMITTED_FILES > 0, add: commit first with/yoke:gca).
Non-blocking:
GH_AUTH != ok→ push still proceeds; only PR/URL info is skipped in the report.UNCOMMITTED_FILES > 0→ never blocks.git pushsends only commits; note them in the report.
PUSH_MODE:
HAS_UPSTREAM = false→set-upstream$ARGUMENTScontains--force-with-lease→force-with-lease- otherwise →
normal
Step 3 — Push
One call:
bash ${CLAUDE_PLUGIN_ROOT}/lib/gp-push.sh "<BRANCH>" "<PUSH_MODE>"
If PUSH_STATUS = FAILED → show PUSH_ERROR. If it contains "non-fast-forward" → suggest git pull --rebase or /yoke:gp --force-with-lease. Stop.
Step 4 — Report
Fill from the gp-push.sh block; Commits: ← PUSHED_LIST:
Pushed to origin/<BRANCH>: +<PUSHED_COMMITS> commits
Commits:
<PUSHED_LIST>
Stats: <DIFF_STAT>
Link: <BRANCH_URL>
- Omit the
Link:line whenBRANCH_URL = empty. PR_EXISTS = true→ addPR: <PR_TITLE> (<PR_URL>)and suggest/yoke:prto update it.PR_EXISTS = false→ suggest/yoke:prto create one.UNCOMMITTED_FILES(carried from Step 1)> 0→ addUncommitted (not pushed): <N> files.
Print the report and the suggestion — do not ask a follow-up question.
Rules
- Runs autonomously: no confirmation prompts.
- Remote:
origin. When multiple remotes exist — push to origin. ghis optional; its absence only removes PR/URL info, never blocks the push.- The only mutation is
git push(insidelib/gp-push.sh). - Output limit: max 20 commits.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.