aammo1/sk

ship-it

Push the current branch to GitHub and create a pull request.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/aammo1/sk --skill ship-it

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Ship It

Push your work to GitHub and open a pull request — handling prerequisites, branch creation, pushing, and PR generation automatically.

This skill complements checkpoint. Use checkpoint to commit locally (with quality gates), then ship-it to get the code to GitHub for review.

Instructions

Step 0: Prerequisites

Verify tooling before doing anything else.

  1. GitHub CLI installed?
bash
   gh --version

If the command fails (not found):

  • Detect the platform and attempt to install:
  • Windows: winget install --id GitHub.cli
  • macOS: brew install gh
  • Linux (Debian/Ubuntu): follow the official apt instructions
  • If auto-install fails, tell the user what to install and stop.
  1. GitHub CLI authenticated?
bash
   gh auth status

If not authenticated, tell the user:

   GitHub CLI is not logged in. Please run this in the prompt:
     ! gh auth login
   Then re-run /ship-it.

Stop here — do not proceed until auth is confirmed.

  1. Git remote exists?
bash
   git remote -v

If no remote named origin exists, stop and tell the user:

   No git remote found. Add one with:
     git remote add origin https://github.com/{user}/{repo}.git

Step 1: Detect the Environment

Run these commands to understand the current state:

  1. git branch --show-current — get the current branch name
  2. Detect the default branch:
bash
   gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
  1. git status --porcelain — check for uncommitted changes

If there are uncommitted changes, stop and tell the user:

You have uncommitted changes. Run /checkpoint first to commit them, then /ship-it to push.

Store the default branch name for use throughout the remaining steps.

Step 2: Check for Unpushed Commits

Determine if there are commits that haven't been pushed yet.

If on a feature branch with a remote tracking branch:

bash
git log @{upstream}..HEAD --oneline

If on a feature branch with no remote tracking branch, or on the default branch:

bash
git log origin/{default_branch}..HEAD --oneline

If there are no unpushed commits, stop and tell the user:

Nothing to ship — all commits are already pushed.

Save the list of unpushed commit messages for use in later steps.

Step 3: Handle Branching

If already on a feature branch (not the default branch):

  • Stay on it. No branching needed.
  • Skip to Step 4.

If on the default branch:

  • Generate a branch name from the unpushed commit messages:
  • Read the commit subjects
  • Derive a kebab-case branch name with a conventional prefix: feat/, fix/, refactor/, chore/, docs/ based on the commit content
  • Keep it short (3-5 words max after the prefix), e.g., feat/add-user-auth, fix/login-redirect-loop
  • Strip special characters, lowercase everything
  • Create and switch to the new branch:
bash
  git checkout -b {branch_name}
  • Tell the user: Created branch {branch_name}

Step 4: Push to Origin

bash
git push -u origin {branch_name}

If the branch already has a remote tracking branch, a regular git push is fine.

Step 5: Check for Existing PR

Before creating a new PR, check if one already exists for this branch:

bash
gh pr view --json number,url,title,state 2>/dev/null

If a PR already exists and is open:

  • Do NOT create a new one
  • Skip to Step 7 and report the existing PR with a note that new commits were pushed.

If no PR exists (or it is closed/merged), proceed to Step 6.

Step 6: Create the Pull Request

Generate the PR title and body from the unpushed commits:

  • Title: concise summary under 70 chars. If single commit, use its subject. If multiple, synthesize a short summary. Imperative mood.
  • Body: TL;DR of the changes in 2-4 bullet points max.
bash
gh pr create --base {default_branch} --head {branch_name} --title "{title}" --body "$(cat <<'EOF'
## Summary
{2-4 bullet points}

---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"

Step 7: Report

Display the result clearly:

Shipped to GitHub:
  Branch: {branch_name}
  PR: #{number} — {title}
  URL: {url}

Important

  • Do NOT run lint, type-check, or build — that is checkpoint's job
  • Do NOT commit anything — only push existing commits and create a PR
  • If the user has uncommitted changes, tell them to run /checkpoint first
  • Keep the PR body short — a TL;DR, not an essay
  • Always check for an existing open PR before creating a new one to avoid duplicates
  • Detect the default branch dynamically — do not hardcode main or master
  • When creating a branch from the default branch, use conventional prefixes (feat/, fix/, etc.) with kebab-case names
  • Never run destructive git operations (no --force, no reset --hard)
  • If gh is not installed or authenticated, help the user get set up before proceeding

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills
aammo1
커뮤니티

create-spec

Create a structured feature specification with self-contained task files organized into parallel execution waves. Use this skill when the user says "create a spec", "plan this feature", "write up an implementation plan", "break this into tasks", or after any planning conversation where the user wants to capture decisions as actionable spec files. Also use when the user says "/create-spec" or wants to decompose a feature into work items that agents can implement independently. This skill produces

설치 수
1
GitHub Stars
0
업데이트
10월 17일
aammo1
커뮤니티

find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

설치 수
1
GitHub Stars
0
업데이트
10월 17일
aammo1
커뮤니티

frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

설치 수
1
GitHub Stars
0
업데이트
10월 17일
aammo1
커뮤니티

implement-feature

Orchestrate parallel implementation of a feature specification by dispatching coder agents wave-by-wave with code review gates between waves. Use this skill when the user says "implement this feature", "start implementing", "run the spec", "execute the plan", "continue implementing", or wants to begin coding a previously planned feature from a specs/{feature}/ folder. Also use when the user says "/implement-feature" or drags a spec folder into the conversation and asks to implement it. This skil

설치 수
1
GitHub Stars
0
업데이트
10월 17일