一键导入
ship-it
Use when the user asks an agent to turn local changes into a conventional commit, create a branch, push it, and open a GitHub pull request.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when the user asks an agent to turn local changes into a conventional commit, create a branch, push it, and open a GitHub pull request.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | ship-it |
| description | Use when the user asks an agent to turn local changes into a conventional commit, create a branch, push it, and open a GitHub pull request. |
Create a reviewable GitHub PR from local changes without swallowing unrelated work. Keep the commit conventional, the PR body concise, and SSH pushes compatible with 1Password on macOS.
git status --short --branchgit diff --statgit diff --cached --statgit log -1 --onelinegit add .
when unrelated edits may exist. If scope cannot be determined from the request
and diff, ask before staging.<type>/<short-slug> where <type> matches the commit type, such as
fix/retry-api-timeouts. Never commit directly on main or master unless
the user explicitly asks.AGENTS.md, CLAUDE.md, README, or package
scripts when they are discoverable. If checks fail, stop before committing
unless the user explicitly asked to commit despite failures.<type>: <short imperative summary>fix, feat, docs, test, refactor, chore-git push -u origin <branch>git pushUse one commit unless the user asks for multiple commits.
Good commit shape:
fix: retry transient api failures on timeout
- add exponential backoff with jitter for 5xx and network errors
- surface last error in logs when retries are exhausted
- add tests for retry limits and non-retryable status codes
Rules:
Do not replace SSH push with gh auth login just because signing fails. On macOS
with 1Password SSH agent, sandboxed agent environments can block the agent socket
even when the user authorizes the prompt.
If git push fails with one of these symptoms:
sign_and_send_pubkey: signing failedcommunication with agent failedError connecting to agent: Operation not permittedPermission denied (publickey) after an agent/signing errorretry the same plain git push command outside the sandbox or with the platform's
elevated execution mode so OpenSSH can reach the configured IdentityAgent. When
available, use tool escalation such as:
sandbox_permissions = "require_escalated"
justification = "Allow git push to run outside the sandbox so SSH can access the 1Password agent socket."
prefix_rule = ["git", "push"]
For diagnosis, run ssh -G git@github.com to confirm identityagent points at
the 1Password socket, and run ssh -T git@github.com outside the sandbox if
authentication still fails. If it still fails outside the sandbox, report the
exact command and stderr instead of changing remotes or auth methods.
Prefer the GitHub connector when available. Otherwise use gh pr create
non-interactively with explicit title/body/head/base. If gh is unauthenticated,
ask for GitHub auth before retrying; do not run a browser login flow without
telling the user why.
Use the remote default branch as the PR base when discoverable. If not discoverable, use main.
Report:
If the host platform supports git status directives or PR cards, emit them only after the corresponding operation succeeds.