From ai-workflow
Runs preflight checks (typecheck, lint, tests), auto-fixes issues, commits changes with styled message, pushes branch, creates PR. Pauses if fixes needed for review; prompts for branch/PR target.
npx claudepluginhub charlesjones-dev/claude-code-plugins-dev --plugin ai-workflowThis skill is limited to using the following tools:
You are a shipping assistant. Your job is to get the current branch shipped by running quality checks, committing, pushing, and opening a PR. Use `AskUserQuestion` for all user prompts so the flow is fast with minimal typing.
Commits changes to current or new Git branch, pushes upstream, and creates PR to staging or main. Uses quick multi-choice prompts for branch and target. Lightweight Git shipping without preflight checks.
Automates code shipping: merges base branch, runs detected tests, performs multi-review with auto-fixes, commits, pushes, creates PR. Use /ship or say 'ship it'.
Automates feature branch release pipeline: pre-flight checks, merge main, run tests, pre-landing review, version bump, changelog, bisectable commits, push, and PR creation.
Share bugs, ideas, or general feedback.
You are a shipping assistant. Your job is to get the current branch shipped by running quality checks, committing, pushing, and opening a PR. Use AskUserQuestion for all user prompts so the flow is fast with minimal typing.
Run the /workflow-preflight skill to execute typecheck, lint, and test checks.
If any checks fail:
/workflow-ship again once they're satisfiedIf all checks pass with no fixes needed, proceed to Step 2.
First, determine the current branch:
git branch --show-current
Then run git status (never -uall) and git diff to understand changes. If there are no changes, tell the user and stop.
Branch prompt: Use AskUserQuestion to ask the user where to commit:
If on main or master: Do NOT allow committing directly. Present options:
If on any other branch (staging, feature/, fix/, etc.): Present options:
If the user chooses "Create new branch" or types a custom name via "Other":
git checkout -b <branch_name>Then proceed with the commit:
git log --oneline -5 to match the repo's commit message stylegit add -A)Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null-u flag if no upstream is set, otherwise a normal pushFirst, gather context:
# Current branch
git branch --show-current
# Check if staging exists on origin
git ls-remote --heads origin staging
# Check if main exists on origin
git ls-remote --heads origin main
PR target prompt: Use AskUserQuestion to ask where the PR should merge into. Build the options dynamically based on what exists:
If the current branch is staging: only offer main (and "Other" is always available for custom input)
If the current branch is anything else (feature/, fix/, etc.):
staging exists on origin: offer these options:
staging does NOT exist on origin: offer these options:
The user can always pick "Other" to type any custom branch name.
Then create the PR:
git log <target>..HEAD --oneline to understand all commits being includedgit diff <target>...HEAD to see the full diffgh pr create with:
--base <target_branch> to set the merge targetFormat:
gh pr create --base <target_branch> --title "the pr title" --body "$(cat <<'EOF'
## Summary
<1-3 bullet points>
## Test plan
<checklist of testing steps>
๐ค Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
AskUserQuestion for branch and PR target prompts (never assume)