finish-worktree SKILL.md skillA

finish-worktree from foyzulkarim/skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add foyzulkarim/skills/finish-worktree@git:20260724.cdb1a53

Pins git:20260724.cdb1a53 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
foyzulkarim/skills
Path
dev-pipeline/skills/finish-worktree/SKILL.md
Versions recorded
1
Latest version
git:20260724.cdb1a53, committed Jul 24, 2026
Size
2,360 bytes
Repository stars
43
License
none declared

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.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# 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
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
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add foyzulkarim/skills/finish-worktree@sha256:e4cbb2399cc482ba

The line at the top of this page pins the label git:20260724.cdb1a53, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_j4kkbkaiy6jsqmht.svg)](https://markdownregistry.com/a/art_j4kkbkaiy6jsqmht)

5 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Jul 24, 2026.

versioncommittedcommitsizeaudit
git:20260724.cdb1a53 latest2026-07-24 cdb1a53 2,360 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (2360 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

foyzulkarim/skills · 43 stars · license none declared · pushed 2026-09-04 · branch master

API

GET https://markdownregistry.com/api/v1/artifacts/art_j4kkbkaiy6jsqmht
GET https://markdownregistry.com/api/v1/resolve?ref=foyzulkarim/skills/finish-worktree
GET https://markdownregistry.com/api/v1/blob/e4cbb2399cc482bacf578aed1778548b01cd9980eda5a7b52f57379a9b13f85d

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from foyzulkarim/skills

AGENTS.md AGENTS.md file
foyzulkarim/skills · AGENTS.md
git:20260904.8f83398 · audit B · 43 stars
CLAUDE.md CLAUDE.md file
foyzulkarim/skills · CLAUDE.md
git:20260831.b6940c2 · audit A · 43 stars
archive-issue SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/archive-issue/SKILL.md · Retire a closed issue's working artifacts out of specs/ into the GitHub wiki. Use only when the user asks to archive a…
git:20260823.71acb2d · audit A · 43 stars
commit SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/commit/SKILL.md · One-shot conventional commit; bundled scripts adaptively gather diff context, draft the message, and stage+commit —…
git:20260724.cdb1a53 · audit A · 43 stars
execute-qa SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/execute-qa/SKILL.md · Executes a QA specification (specs/qa/QA-<N>-<slug>.md) written by /plan-qa: drives every step with the plan's drivers…
git:20260831.b6940c2 · audit A · 43 stars
generate-tasks SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/generate-tasks/SKILL.md · Phase 3 of 5 — slices the ARCH doc into verification-ready task specs (tdd/test-after/ui/checklist), emitted as a…
git:20260823.71acb2d · audit A · 43 stars
implement SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/implement/SKILL.md · Phase 4 of 5 — implements tasks from TASKS-<N>-<slug>.md (with ARCH-<N>-<slug>.md as architecture-only context) using…
git:20260823.71acb2d · audit A · 43 stars
move-to-worktree SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/move-to-worktree/SKILL.md · After /start-task: park the current clean, pushed feature branch in its own issue-numbered nested worktree…
git:20260823.71acb2d · audit A · 43 stars
plan-architecture SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/plan-architecture/SKILL.md · Phase 2 of 5 — collaborative system design plus change-footprint mapping; outputs an ARCH doc for generate-tasks. Use…
git:20260823.71acb2d · audit A · 43 stars
plan-qa SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/plan-qa/SKILL.md · Post-implementation QA planning — independent of /review (the developer chooses whether to run them sequentially or in…
git:20260831.b6940c2 · audit A · 43 stars
plan-requirements SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/plan-requirements/SKILL.md · Phase 1 of 5 — Socratic interview capturing WHAT and WHY; outputs a sprint-sized REQ doc for plan-architecture. Use…
git:20260724.cdb1a53 · audit A · 43 stars
release-notes SKILL.md skill
foyzulkarim/skills · dev-pipeline/skills/release-notes/SKILL.md · Draft a changelog for the next release by summarizing git commits since the last tag. Use only when the user asks to…
git:20260724.cdb1a53 · audit A · 43 stars

Every file in foyzulkarim/skills

Browse by kind, by grade A, or by owner.