finishing-a-development-branchlisted
Install: claude install-skill fbac/umbrella
# Finishing a Development Branch
## Overview
Guide completion of development work by presenting clear options and handling chosen workflow.
**Core principle:** Verify tests → Measure diff → Detect environment → Present options → Execute choice → Clean up.
**Announce at start:** "I'm using the finishing-a-development-branch skill to complete this work."
## The Process
### Step 1: Verify Tests
**Before presenting options, verify tests pass:**
```bash
# Run project's test suite
npm test / cargo test / pytest / go test ./...
```
**If tests fail:**
```
Tests failing (<N> failures). Must fix before completing:
[Show failures]
Cannot proceed with merge/PR until tests pass.
```
Stop. Don't proceed to Step 2.
**If tests pass:** Continue to Step 2.
### Step 1b: Measure the Diff
```bash
BASE=$(git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null)
git diff --numstat "$BASE"..HEAD \
| grep -vE '(package-lock\.json|yarn\.lock|pnpm-lock\.yaml|go\.sum|Cargo\.lock|^docs/briefs/|/vendor/)' \
| awk '{ added += $1 } END { print added+0 }'
```
That number is lines added or modified, with generated files, lockfiles,
vendored dependencies and `docs/briefs/` excluded.
**Read it as an upper bound, then adjust.** The grep cannot know what kind of
repository this is, and the plan-time budget in `umbrella:writing-plans`
excludes documentation — READMEs, guides, and the spec and plan documents —
*unless* prose is the deliverable, as in a skills repository or