answer-reviewer-questi…
For each reviewer question on a PR, recall implementation reasoning and compose a raw answer. Use when the user asks to \"answer reviewer questions\", \"draft…
Execute an approved split plan, shipping each change group separately as its own branch and PR or as sequential commits on the current branch. Use when the user asks to \"split and ship\", \"ship the split plan\", \"create separate PRs\", or \"split changes into branches\".
$ npx -y skills add tobihagemann/turbo --skill split-and-ship --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/split-and-shipContext preview
The summary Claude sees to decide when to auto-load this skill.
Execute an approved split plan, shipping each change group separately as its own branch and PR or as sequential commits on the current branch. Use when the user asks to \"split and ship\", \"ship the split plan\", \"create separate PRs\", or \"split changes into branches\".
name: split-and-ship description: "Execute an approved split plan, shipping each change group separately as its own branch and PR or as sequential commits on the current branch. Use when the user asks to \"split and ship\", \"ship the split plan\", \"create separate PRs\", or \"split changes into branches\"."
Ship an approved split plan so each change group becomes its own reviewable unit, either as a separate branch and PR or as a sequential commit on the current branch.
A split plan must exist in the conversation. The plan specifies an ordered list of groups, each with a name, file list, and any dependencies on earlier groups.
At the start, use `TaskCreate` to create a task for each phase:
1. Choose realization path 2. Ship the groups 3. Summarize
Detect the repository state:
Sample the prevailing workflow from recent default-branch history (`git log --first-parent origin/<default-branch> -n 30 --pretty=%s`): judge whether changes mostly land through pull requests (merge-PR commits or `(#N)`-suffixed squash commits) or are committed directly to the default branch.
Output a one-line summary of the detected state as text. Then use `AskUserQuestion` to choose how to ship the groups:
Recommend the option that fits this repo by listing it first and labeling it `(Recommended)`: a PR-based history recommends separate branches and PRs; a direct-commit history recommends committing each group on the current branch.
If the user declines (chooses the free-form "Other" option or asks to abort), leave the changes staged and do not commit.
Take this step only when the user chose separate branches and PRs.
1. Save all staged changes, then unstage everything (`git reset`) 2. Stash all changes including untracked files (`git stash --include-untracked`) so files can be selectively restored per group
Verify `git stash list` shows the saved changes before proceeding.
Use `TaskCreate` to create a task for each group. Process groups in order.
For each group:
1. **Determine branch**: If the current branch already has a PR and this group's changes align with the PR's purpose, stay on the current branch. Otherwise, use `AskUserQuestion` to confirm the proposed branch name and create it from the appropriate base:
2. **Restore and stage** this group's files from the stash (`git checkout stash -- <files>` restores and stages in one operation). For files with hunks belonging to different groups, restore the file, then use Edit to remove the unwanted hunks before staging: for an independent group, remove every other group's hunks; for a stacked group, remove only later groups' hunks (earlier groups' hunks are already in its base). After committing, reset the working tree (`git checkout -- .`) to clean up before the next group. 3. **Commit and push**: run the `/commit-rules` skill to load commit message rules, commit the staged changes following them, then `git push` 4. **Create or update PR**:
1. Drop the stash 2. Check out the last created branch 3. Output a summary table: group name, branch, PR URL, and base branch. For a group whose PR was not posted, print the handed-over body file path in place of the URL.
Then use the TaskList tool and proceed to any remaining task.
Take this step only when the user chose to commit each group. This path stays on the current branch and creates no branches or PRs.
1. Save all staged changes, then unstage everything (`git reset`) 2. Stash all changes including untracked files (`git stash --include-untracked`) so files can be selectively restored per group
Verify `git stash list` shows the saved changes before proceeding.
Run the `/commit-rules` skill to load commit message rules. Use `TaskCreate` to create a task for each group. Process groups in order.
For each group:
1. **Restore and stage** this group's files from the stash (`git checkout stash -- <files>` restores and stages in one operation). For files with hunks belonging to different groups, restore the file, then use Edit to remove the hunks that belong to later groups before staging. 2. **Commit** the staged changes with a message following the loaded rules. If a commit hook modifies files, re-stage them before retrying. 3. Reset the working tree (`git checkout -- .`) to clean up before the next group.
1. If the chosen option includes pushing, push the current branch's remote (`git push`) 2. Drop the stash 3. Output a summary table: group name and commit subject
Then use the TaskList tool and proceed to any remaining task.
A composable dev process for agentic coding harnesses, packaged as modular skills. Turbo has sibling editions for Claude Code and Codex. The Claude Code edition is production-tested.
For each reviewer question on a PR, recall implementation reasoning and compose a raw answer. Use when the user asks to \"answer reviewer questions\", \"draft…
Apply findings by making the suggested code changes. Applies accepted verdicts, escalates ambiguous findings to the user, and offers to note genuine…
Assess project-wide structural technical debt: complexity hotspots, deprecated API usage, duplication clusters, and architecture rot. Ranks findings by impact…
Project-wide health audit pipeline that fans out to all analysis skills in parallel, evaluates findings, and produces a unified report at .turbo/audit.md. Use…
Shared changelog conventions and formatting rules referenced by /create-changelog and /update-changelog. Not typically invoked directly.
Enforce existence, reuse, mirror, and symmetry principles to keep new code minimal and consistent with surrounding code. Use when writing new code in an…