academic-writing
Write or revise thesis and paper prose section by section (abstract, introduction, related work, method, results, discussion,…
Wrap up a completed development branch by verifying tests pass, detecting the workspace state, then presenting clear merge / PR / keep / discard options and executing the chosen one safely, including correct worktree and branch cleanup. Use when implementation is done, tests
Claude Code
$ npx -y skills add KhaledSaeed18/dotclaude --skill finish-branch --agent claude-code
Codex
$ npx skills add KhaledSaeed18/dotclaude --skill finish-branch -a codex -y
Cursor
$ npx skills add KhaledSaeed18/dotclaude --skill finish-branch -a cursor -y
Gemini CLI
$ npx skills add KhaledSaeed18/dotclaude --skill finish-branch -a gemini-cli -y
GitHub Copilot
$ npx skills add KhaledSaeed18/dotclaude --skill finish-branch -a github-copilot -y
OpenCode
$ npx skills add KhaledSaeed18/dotclaude --skill finish-branch -a opencode -y
Windsurf
$ npx skills add KhaledSaeed18/dotclaude --skill finish-branch -a windsurf -y
name: finish-branch description: Wrap up a completed development branch by verifying tests pass, detecting the workspace state, then presenting clear merge / PR / keep / discard options and executing the chosen one safely, including correct worktree and branch cleanup. Use when implementation is done, tests should be green, and you need to integrate or put away the work.
Bring a finished branch to a clean conclusion: confirm the work actually passes, figure out what kind of workspace you're in, offer the user a small set of concrete options, and carry out their choice without losing anything. The shape is always the same: verify, detect, present, execute, clean up.
Run the project's full test suite (`npm test` / `cargo test` / `pytest` / `go test ./...` as appropriate). If anything fails, stop here: show the failures and say the work can't be merged or turned into a PR until they pass. Don't present the options menu over a red suite. (The `verify-completion` skill is the standard: run it, read the output, then proceed.)
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)
Also determine the base branch the work split from:
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
If it's ambiguous, ask: "This branch came off `main`: correct?"
For a normal repo or a named-branch worktree, present exactly these four, with no extra explanation:
Implementation complete. What would you like to do? 1. Merge back into <base> locally 2. Push and open a Pull Request 3. Keep the branch as-is (I'll handle it later) 4. Discard this work Which option?
For a detached HEAD, present the reduced three (no local merge): push as a new branch and open a PR / keep as-is / discard.
**1. Merge locally.** From the main repo root (not inside the worktree), check out the base, pull, and merge the feature branch. Re-run the tests on the merged result. Only after the merge succeeds and tests pass: clean up the worktree (Step 5), then `git branch -d <feature>`.
**2. Push and open a PR.** `git push -u origin <feature>`, then `gh pr create` with a short summary and a test-plan checklist. **Do not clean up the worktree**: the user needs it alive to act on PR feedback.
**3. Keep as-is.** Report the branch name and, if applicable, the preserved worktree path. No cleanup.
**4. Discard.** Confirm first, listing exactly what will be permanently deleted (branch, its commits, the worktree path), and require the user to type `discard` before doing anything. Only then, from the main repo root, clean up the worktree (Step 5) and `git branch -D <feature>`.
Options 2 and 3 always preserve the worktree. For 1 and 4:
WORKTREE_PATH=$(git rev-parse --show-toplevel)
Always `cd` to the main repo root before `git worktree remove`, running it from inside the worktree being removed fails. And always remove the worktree *before* deleting the branch, since the worktree still references it.
Adapted from the `finishing-a-development-branch` entry of [superpowers](https://github.com/obra/superpowers) by Jesse Vincent (MIT). The structure and the core rules are theirs; the wording, the examples, and the integration with this registry's other items are this repository's.
Reusable Claude Code extension registry. skills, subagents, slash commands, and hooks for engineering, git, testing, and security workflows. Distributed as a shadcn GitHub registry and as installable plugins.
Write or revise thesis and paper prose section by section (abstract, introduction, related work, method, results, discussion,…
Report computational benchmarks and experimental comparisons the way examiners and reviewers expect: fair baselines run under the…
Maintain the thesis .bib file as a single source of truth: fetch verified BibTeX from a DOI, arXiv id, or title via CrossRef and…
Expand a set of key papers into the literature around them by walking the citation graph with the Semantic Scholar and OpenAlex…
Audit every citation in a chapter, paper, or proposal against the .bib file and the real world: each cite key must exist, each…
Structure a thesis whose contribution is a built artifact (tool, system, method, model) using design science research: explicit…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.