This skill runs an autonomous commit, code review, fix loop, push, and PR creation workflow. It loops until all critical/important review issues reach zero, then creates a PR. This skill should be used when the user says "ship it", "create PR", "commit and review", "出荷して", "PRお願い".
Autonomously commits, reviews, fixes, and creates a pull request after passing automated code review.
/plugin marketplace add signalcompose/claude-tools/plugin install code@claude-toolsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
templates/commit-format.mdtemplates/pr-body.mdAutonomously commit, review, fix, and create a PR. Loops until review passes.
$ARGUMENTS (optional): Hint for the commit message scope or description.
If empty, analyzes staged/unstaged changes to determine the commit message.
For full Serena setup steps, read ${CLAUDE_PLUGIN_ROOT}/skills/_shared/serena-integration.md.
main (abort if so)npx tsc --noEmit # Type check
npx vitest run # Tests
npx eslint src/ tests/ # Lint
If any fail: attempt automatic fix (max 2 attempts), then abort.
Run in parallel:
git status # Untracked + modified files
git diff # Unstaged changes
git diff --cached # Staged changes
git log --oneline -5 # Recent commit style
Case A: Unstaged/staged changes exist (normal flow)
Determine files to stage, commit type, English summary, Japanese description. Proceed to Step 2.
Case B: No unstaged/staged changes (already committed)
Detect committed-but-not-pushed changes:
git merge-base HEAD main
git diff $(git merge-base HEAD main)...HEAD
git log --oneline main..HEAD
If committed changes exist: skip Step 2, proceed to Step 3 using committed diff. If NO changes at all: report "No changes to ship" and STOP.
git add <specific-files>
Never use git add -A or git add ..
Exclude: .env*, credentials*, secrets*, *.key, *.pem
Launch 2 reviewers in parallel via Task tool:
pr-review-toolkit:code-reviewer — code quality, bugs, securitypr-review-toolkit:silent-failure-hunter — silent failures, error handlingReport only issues with confidence >= 80.
If silent-failure-hunter fails to launch: continue with code-reviewer only (WARNING, not blocking). Include in Step 9 Summary Report: "silent-failure-hunter failed to launch — error handling review was NOT performed."
max_iterations = 3 # default
if .claude/dev-cycle.state.json exists:
max_iterations = 2 # retrospective 用のコンテキストを確保
while review has critical or important issues AND iteration < max_iterations:
1. Fix each issue (use Serena find_referencing_symbols if available)
2. Re-run tests + lint
3. Re-stage fixed files
4. Re-review with code-reviewer agent
5. iteration++
If iteration >= max_iterations AND still has issues: report and STOP.
After review passes (0 critical, 0 important), create the approval flag:
REPO_ROOT=$(git rev-parse --show-toplevel)
REPO_HASH=$(echo "$REPO_ROOT" | shasum -a 256 | cut -c1-16)
FLAG_FILE="/tmp/claude/review-approved-${REPO_HASH}"
mkdir -p /tmp/claude
touch "$FLAG_FILE"
echo "Review approved. Flag created: $FLAG_FILE"
For Conventional Commits format and Co-Authored-By pattern, read ${CLAUDE_PLUGIN_ROOT}/skills/shipping-pr/templates/commit-format.md.
git push -u origin <current-branch>
The .git/config write error can be ignored — push succeeds.
Use mcp__github__create_pull_request. For PR body format, read ${CLAUDE_PLUGIN_ROOT}/skills/shipping-pr/templates/pr-body.md.
After PR creation:
docs/specs/ contains relevant spec filesdocs: follow-up commitOutput: commit hash, PR URL, review stats (iterations, issues found/fixed), verification results, documentation status, agent launch warnings (if any).
For post-sprint memory save, read ${CLAUDE_PLUGIN_ROOT}/skills/_shared/serena-integration.md.
mcp__github__create_pull_request for PR creation (not gh CLI).env files or secretspr-review-toolkit:code-reviewer Agentdocs/research/workflow-recording.md with Ship metrics after completionActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.