Skip to content
cccskills
FreePublished on GitHub

finish-worktree

After an issue's PR has squash-merged on GitHub and its issue has closed: fast-forward the default branch, remove the issue-numbered nested worktree (.worktrees/<issue#>), and delete the local feature branch. Use when the user says to finish, tear down, or clean up a lane or worktree for a merged issue.

The English summary is being prepared. Showing the original description.

Works withGitHub
See how to install

Files included (2)

  • SKILL.md2.3 KB
  • finish-worktree.sh5.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Finish-Worktree

Teardown counterpart to /move-to-worktree. Run it in the primary checkout, on the default branch, after you squash-and-merge the issue's PR on github.com. The script uses GitHub's PR and issue state as the authoritative merge guard; remote branch deletion is an additional safety check, not proof of merge by itself.

Run (1 bash call)

bash {base_directory}/finish-worktree.sh <issue-number>

The script:

  1. Hard-stops unless run in the clean primary checkout on the default branch.
  2. Finds exactly one local branch {type}/<issue#>/{slug} and its matching worktree.
  3. Uses gh to verify a PR for that exact head branch is merged, its recorded head commit matches the local branch tip, and issue <issue#> is closed. It also requires the remote feature branch to be gone.
  4. git pull --ff-only on the default branch (brings the squashed work in) + git fetch --prune (clears the stale tracking ref).
  5. git worktree remove .worktrees/<issue#> — never --force: if the worktree has uncommitted work it prints the leftovers and stops.
  6. git branch -D <branch> — capital -D is deliberate: squash-merge means git can't prove the branch merged, so -d always refuses; step 3 already verified the work landed.

Non-zero exit → hard-stop, print stderr verbatim.

Report

What was removed (worktree path, branch), then the standing post-merge hygiene reminder: run /archive-issue <issue#> promptly to retire the issue's specs/ artifacts to the wiki. After any merge, in-flight lanes should sync with the default branch only when they need the merged work; for an already pushed/shared lane, merge the default branch rather than rewriting its history.

You Must NOT

  • Use git worktree remove --force or otherwise discard uncommitted work — surface it and stop.
  • Delete the branch when any merge guard fails.
  • Archive the issue yourself unless asked — remind, don't perform.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Retire a closed issue's working artifacts out of specs/ into the GitHub wiki. Use only when the user asks to archive a finished issue, empty out specs/ for a done task, or move an issue's requirements/architecture/tasks/review/QA docs to the wiki.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

commit

Free

One-shot conventional commit; bundled scripts adaptively gather diff context, draft the message, and stage+commit — pass `ask` to confirm first or add a hint for the title. Use only when the user asks for a commit.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

Executes a QA specification (specs/qa/QA-<N>-<slug>.md) written by /plan-qa: drives every step with the plan's drivers, verifies each Expected line mechanically ([assert]) or by evidence-backed judgment against the plan's written criterion ([judge]), pauses at named operator handoffs, and writes the results artifact QA-RESULTS-<N>-<slug>.md. Use only when the user asks to run or execute a QA plan — never trigger automatically.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

Phase 3 of 5 — slices the ARCH doc into verification-ready task specs (tdd/test-after/ui/checklist), emitted as a separate TASKS-<N>-<slug>.md file alongside ARCH for the implement skill. Use only when the user asks to run Phase 3 or generate tasks from an ARCH doc — never trigger automatically.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

Phase 4 of 5 — implements tasks from TASKS-<N>-<slug>.md (with ARCH-<N>-<slug>.md as architecture-only context) using mode-appropriate verification (tdd, test-after, ui, checklist); pass 'auto' to run without stepping. Use only when the user asks to run Phase 4 or implement tasks from an ARCH doc — never trigger automatically from a coding request.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

After /start-task: park the current clean, pushed feature branch in its own issue-numbered nested worktree (.worktrees/<issue#>) and return the primary checkout to current main, so the next parallel lane can start. Use when the user says to move the branch or task to a worktree or open a parallel lane.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

See all skills by foyzulkarim

Report a problem with this skill