finishing-a-development-branch

finishing-a-development-branch is a skill for Claude Code from jnMetaCode/superpowers-zh. It costs 25 tokens per session (2,412 once invoked), scanned A, original, MIT.

A process for finishing a completed development branch. A branch is a separate line of code changes that can later be merged or submitted as a pull request.

In plain words
What is it for?
Use it to run the full test suite, identify the branch setup, choose whether to merge, create a pull request, or leave the branch unchanged, and clean up when appropriate.
Why use it?
It confirms the tests pass and helps choose a safe way to integrate or preserve the completed work.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the superpowers-zh plugin — 20 skills, 1 hook shipped together

Good fit Use it to run the full test suite, identify the branch setup, choose whether to merge, create a pull request, or leave the branch unchanged, and clean up when appropriate.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jnmetacode/superpowers-zh/finishing-a-development-branch
About the project

superpowers-zh is a Chinese community edition of superpowers, a collection of practical skills and development methods for AI coding tools. It helps users apply workflows such as brainstorming, test-driven development, debugging, code review, and other programming tasks across supported coding agents. The catalogue add-ons are the project's translated and original skills, instructions, hook, and plugin components.

jnMetaCode/superpowers-zh · 8,066 stars · on GitHub · sp.aiolaola.com

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jnMetaCode/superpowers-zh --skill finishing-a-development-branch
Clone the repo
git clone --depth 1 https://github.com/jnMetaCode/superpowers-zh

Made for: Claude Code.

Or install superpowers-zh, the plugin that ships this one along with the rest of its 20 skills, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for finishing-a-development-branch

README.md
[![agentmods](https://agentmods.dev/badge/skills/jnmetacode/superpowers-zh/finishing-a-development-branch/github.svg)](https://agentmods.dev/skills/jnmetacode/superpowers-zh/finishing-a-development-branch)
Your own site
<a href="https://agentmods.dev/skills/jnmetacode/superpowers-zh/finishing-a-development-branch"><img src="https://agentmods.dev/badge/skills/jnmetacode/superpowers-zh/finishing-a-development-branch/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for finishing-a-development-branch

Your own site · 80×15
<a href="https://agentmods.dev/skills/jnmetacode/superpowers-zh/finishing-a-development-branch"><img src="https://agentmods.dev/badge/skills/jnmetacode/superpowers-zh/finishing-a-development-branch.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 25 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,412 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket pass 12 May 2026
  • Snyk pass 12 May 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00025 $0.02412
Opus 5 $0.00013 $0.01206
Sonnet 5 $0.00005 $0.00482
Haiku 4.5 $0.00003 $0.00241

Measured 4d ago against content hash 1038c93b17fc, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

finishing-a-development-branch scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/finishing-a-development-branch/SKILL.md · 210 lines

How it starts

The opening of the file, as written. The whole thing — 210 lines — stays where its author put it; the contents beside it link to each section on GitHub.

收尾一个开发分支

概述

核心原则: 验证测试 → 检测环境 → 展示选项 → 执行选择 → 清理。

开始时宣告: "我正在使用 finishing-a-development-branch 技能来收尾这份工作。"

步骤 1:验证测试

运行项目的完整测试套件(npm test / cargo test / pytest / go test ./...)。

如果测试失败,报告失败并停下——菜单是在测试全绿之后才出现的:

测试失败(<N> 个)。完成之前必须先修:

[展示失败详情]

如果测试通过: 继续步骤 2。

步骤 2:检测环境

GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
# 现在就捕获 —— 此刻还在工作区里面。步骤 5 会切换目录,
# 而清理(步骤 6)需要这个值
WORKTREE_PATH=$(git rev-parse --show-toplevel)

这决定了展示哪种菜单、以及清理方式:

状态 菜单 清理
GIT_DIR == GIT_COMMON(普通仓库) 标准 3 个选项 无 worktree 可清理
GIT_DIR != GIT_COMMON,命名分支 标准 3 个选项 按来源判断(见步骤 6)
GIT_DIR != GIT_COMMON,分离 HEAD 收敛为 2 个选项(不含合并) 由外部管理——原地别动

步骤 3:确定基础分支

基础分支就是这份工作从哪儿分出来的那个——通常在计划里、对话里,或者分支的 upstream 里已经写明了。如果还不知道,就问:"这个分支是从 <你的最佳猜测> 分出来的,对吗?"合并之前先确认:合并到错误的基础分支,代价很高。

步骤 4:展示选项

普通仓库和命名分支 worktree——精确展示这 3 个选项:

实现已完成。你想怎么做?

1. 本地合并回 <base-branch>
2. 推送并创建 Pull Request
3. 保留分支不动(我稍后自己处理)

选哪个?

分离 HEAD——精确展示这 2 个选项:

实现已完成。你当前处于分离 HEAD(由外部管理的工作区)。

1. 作为新分支推送并创建 Pull Request
2. 保持原样(我稍后自己处理)

选哪个?

照原文展示菜单——简洁,每个选项都来自上面的列表。丢弃工作只在你的人类伙伴明确提出时才发生(见下方"如果你的人类伙伴要求丢弃这份工作")。等他们回答;集成与否是他们的决定。

步骤 5:执行选择

选项 1:本地合并

# 切到主仓库根目录,保证 CWD 安全
MAIN_ROOT=$(git -C "$(git rev-parse --git-common-dir)/.." rev-parse --show-toplevel)
cd "$MAIN_ROOT"

# 先合并 —— 在删除任何东西之前先验证合并成功
git checkout <base-branch>
git pull
git merge <feature-branch>

# 在合并结果上验证测试
<测试命令>

如果测试在合并结果上失败:停下,把 worktree 和分支原地留着,去排查——什么都还没推送,所以这次合并是本地的、可恢复的。

一旦合并结果全绿:清理 worktree(步骤 6),然后删除分支:

git branch -d <feature-branch>

选项 2:推送并创建 PR

git push -u origin <feature-branch>
# 从分离 HEAD 出发时,在远端指定新分支名:
# git push origin HEAD:refs/heads/<new-branch>

然后用代码托管平台(forge)的工具针对 创建 pull/merge request——有 CLI 就用它,没有就用推送时大多数平台会打印出来的创建 URL——遵循仓库里已有的 PR 模板与约定(如果有),并把 URL 报告给你的人类伙伴。

Read the full file on GitHub · 210 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed · +21 lines 1038c93b17fc
  2. 12d ago First seen · 189 lines · 25 tokens per session scan A 6e891b011534

Subscribe to this mod's changes

finishing-a-development-branch is a skill published in the GitHub repository jnMetaCode/superpowers-zh (8,066 stars, last pushed 2d ago), licensed MIT. It adds 25 tokens to every session and 2,412 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

git-workflow-and-versioning

Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving conflicts, splitting uncommitted work in a messy working tree into clean atomic commits, opening or reviewing a pull request (PR), pushing to a remote, or when you need to organize work across multiple…

addyosmani/agent-skills · 89 tokens

skillshare-changelog

Generate CHANGELOG.md entry from recent commits in conventional format. Also syncs the website changelog page. Use this skill whenever the user asks to: generate a changelog, document what changed between tags, or create a new CHANGELOG entry. If you see requests like "write the changelog for v0.17", "what changed…

runkids/skillshare · 134 tokens

skillshare-release

End-to-end release workflow for skillshare. Runs tests, generates changelog (via /changelog), optionally writes local RELEASENOTES, updates version numbers, commits, and drafts announcements. Use when the user says "release", "prepare release", "cut a release", "release v0.19", or any request to publish a new version.…

runkids/skillshare · 87 tokens

release-archivist

Close out a spec-superflow change with verification, summary, and archive readiness. Invoke when implementation is complete, verification is underway, or the user asks for a final wrap-up.

MageByte-Zero/spec-superflow · 42 tokens

release-notes

Draft user-facing release notes from a git log range. Trigger when the user asks for "release notes", "changelog entry", or "what shipped this week" with a git ref range. Output is markdown sections grouped by Features / Fixes / Breaking with PR links.

jnMetaCode/ai-coding-guide · 59 tokens

ijfw-ship

Use when the user says 'ship it', 'ship this', 'release', 'publish', 'launch', 'deploy', 'go live', 'wrap this up', 'time to ship', or invokes '/ijfw-ship'. Domain-aware release — software (test → tag → push → publish), book (final edit → format → KDP / agent / Substack), campaign (review → schedule → launch →…

FerroxLabs/ijfw · 139 tokens