What is finishing-a-development-branch?
'.
event4u-app/agent-config
Use when the feature is implementation-complete and the next step is 'ship it' — verifies, cleans up, and routes to merge/PR/park/discard — even when the user just says 'I'm done, what now?'.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/finishing-a-development-branch"Quick start
Install it or open the source, trigger it with a clear task, then follow the source workflow.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/finishing-a-development-branch"Use finishing-a-development-branch to help me with: [describe your task]. Before you begin, tell me what input you need, the steps you will follow, and the expected output.
No structured workflow was detected; follow the original SKILL.md below.
Continue to the workflowDirect answers
'.
It is relevant to workflows involving Testing, Engineering.
SkillSignal detected this source-specific command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/finishing-a-development-branch". Inspect the repository and command before running it.
The upstream source does not declare a dedicated Agent platform.
Static analysis detected exec-script signals. Review the cited source lines before installing; these signals are not a security audit.
This page combines upstream documentation with deterministic repository, quality, and static-risk signals. It is not described as a manual test or security review.
SkillSignal brief
'.
Useful in these contexts
Core capabilities
Distilled from the source
About 6 min · 11 sections
Implementation of a feature or bug fix is complete on a development branch
All planned commits are in, the user is ready to hand off
You are about to say "done" and suggest the next action
The branch has been idle and the user wants to decide its fate
What happened — single sentence ("PR 123 opened", "Merged
Evidence — exit codes / PR URL / commit SHA
Cleanup state — worktree removed / kept, branch deleted /
Presenting three options and phrasing the fourth as "or we can
Running the full gate inside this skill and at the start of
Merging local + opening PR at the same time — pick one
Asking "ready to ship?" without listing the four concrete options
Quality breakdown
Based on traceable docs and repository signals; stars are not treated as quality.
Compare before choosing
These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
Use BEFORE writing/changing tests, adding mocks, or test-only methods on production classes — vs mocking-the-mock, production pollution, partial mocks, and overfit/tautological assertions
Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
Use when writing, generating, or improving Pest tests for Laravel — clear intent, good coverage, maintainable structure, and alignment with project testing conventions.
Use when asking for a review or creating a PR — self-review first, frame the right context, test plan included — even when the user just says 'open a PR' or 'ready to merge'.
Do NOT use when:
receiving-code-reviewRoute a finished branch to its next state with evidence — merged, pushed for PR, parked, or discarded. Never let a half-verified branch become a PR. Never destroy work without explicit confirmation.
NO MERGE, NO PR, NO DISCARD WITHOUT VERIFIED TESTS + EXPLICIT CHOICE.
Skipping verification because "it worked a minute ago" is how broken
main happens. Discarding because "I assumed the user meant it" is
how work gets lost.
Before presenting any options, gather context. Do not assume — check:
git status — clean, or still dirty?git log --oneline <base>..HEAD — what commits are actually on this
branch?git branch --show-current — the branch name you will be operating onIf a PR already exists for this branch, stop — this is not a
finishing step, route to receiving-code-review
or fix-pr-comments instead.
Run the end-of-work gate before presenting any options — see
verify-before-complete.
Steps 1–3 run only when quality.local_auto_run: true; under the
default (false / missing) skip them without asking — the user runs
quality tools manually, remote CI on the PR is the authoritative gate,
and the readiness report says "quality gates delegated to remote CI"
instead of claiming them green:
git status clean — nothing unstaged, no stray filesIf any executed step fails → stop. Report the failure, do not present ship options. Fixing the failure comes first.
# Default: main
BASE=main
# Stacked PR: parent branch
BASE=$(git config branch.$(git branch --show-current).merge | sed 's|refs/heads/||')
If ambiguous, ask: "This branch splits from <guess> — correct?"
before presenting options.
Ask the user exactly one question:
Implementation is verified. What now?
1. Open a Pull Request on <base-branch>
2. Merge locally into <base-branch> (for projects without a PR flow)
3. Keep the branch as-is — I'll handle it later
4. Discard all work on this branch
Do not add recommendations unless the user asks. Each option leads to a different sub-procedure (steps 5a–5d).
prepare-for-reviewreview-changescreate-pr-descriptioncreate-prSee requesting-code-review for
the surrounding discipline.
Use only when the project policy is "no PR required" (solo repos, spike branches, private tooling). For team repos, default to Option 1.
git checkout <base-branch>
git pull --ff-only
git merge --no-ff <feature-branch>
# Re-run the full test suite on the merged tree
<test command>
# Only if green:
git branch -d <feature-branch>
If the post-merge test run fails → git reset --hard ORIG_HEAD, fix
on the feature branch, restart from Option 1/2.
Confirmation gate — require a typed answer, not "y":
This will permanently remove:
- Local branch <name>
- Remote branch <name> (if pushed)
- Commits: <list of SHAs + subjects>
Type "discard <name>" to confirm.
Only on exact match:
git checkout <base-branch>
git branch -D <feature-branch>
# Remove remote only if the user confirms a second time
git push origin --delete <feature-branch>
Log the discarded SHAs so the work can be recovered via git reflog
within the reflog TTL if needed.
If the branch lives in a git worktree:
git worktree remove <path> after the branch
terminal stateAfter the chosen option completes, report:
abcdef", "Branch discarded")git branch -d vs -D — lowercase -d refuses unmerged branches,
uppercase -D forces; only use -D inside the confirmed discard
flowmain — opening a PR to main
invalidates the stackcreate-pr — duplicates work. Trust the gate result if nothing
changed in betweenverify-before-completeprepare-for-reviewcommit,
conventional-commits-writingreview-changescreate-prreceiving-code-reviewBefore reporting "done" after this skill runs:
quality.local_auto_run: true — under the default false
the report states "quality gates delegated to remote CI" instead