Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Complete workflow for submitting code changes — create branch, commit, open PR, check CI, fix failures, and merge.
.claude/skills/chorus-aidlc-pr-workflow/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 97% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 286% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -23% | 0% |
Complete workflow for taking local code changes through branch creation, PR, CI verification, failure fix, and merge.
origin is configuredgh CLI is authenticatedbashgit status git diff --stat git log --oneline -5
Verify before proceeding:
Branch from current HEAD. Naming convention:
| Type | Prefix | Example | |------|--------|---------| | Bug fix | fix/ | fix/remove-legacy-textarea | | Feature | feat/ | feat/structured-ac-editor | | Refactor | refactor/ | refactor/service-layer | | Test | test/ | test/e2e-proposal-flow | | Docs | docs/ | docs/api-reference | | Chore | chore/ | chore/bump-deps |
bashgit checkout -b {prefix}{short-description}
Stage specific files only — never use git add . or git add -A:
bashgit add path/to/file1 path/to/file2
Note: Next.js paths need shell escaping:
bashgit add src/app/\(dashboard\)/projects/\[uuid\]/file.tsx
Commit with HEREDOC for clean multi-line messages:
bashgit commit -m "$(cat <<'EOF' {type}: {concise description of why, not what} {Optional body explaining context or trade-offs} Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> EOF )"
bashgit push -u origin {branch-name}
bashgh pr create --title "{type}: {title under 70 chars}" --body "$(cat <<'EOF' ## Summary - Change 1 - Change 2 ## Changed files | File | Change | |------|--------| | `path/file.ts` | What changed | ## Test plan - [x] Automated test passed - [ ] Manual verification needed Generated with [Claude Code](https://claude.com/claude-code) EOF )"
bashgh pr checks {pr-number}
Get the failed logs:
bashgh pr checks {pr-number} # find failed run ID gh run view {run-id} --log-failed 2>&1 | tail -80 # read failure details
Common failure types and fixes:
| Failure | Local repro | Fix | |---------|------------|-----| | Test assertion | npx vitest run path/to/test.ts | Update test expectations to match new behavior | | Type error | npx tsc --noEmit | Fix types; check only your errors with \| grep {keyword} | | Lint error | pnpm lint | Auto-fix or manual fix | | Missing test update | grep -r "changedField" src/**/__tests__/ | Update test fixtures/helpers using the old field |
After fixing:
bashgit add {fixed-files} git commit -m "$(cat <<'EOF' fix: {what was fixed in tests/types} Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> EOF )" git push
Re-check CI — repeat until green:
bashgh pr checks {pr-number}
Only when user explicitly requests. Default to squash merge:
bashgh pr merge {pr-number} --squash --delete-branch git checkout main && git pull
Before opening PR:
npx tsc --noEmit passes (or no new errors)Before merging:
Other measured skills in the registry, with their headline benchmark lift.