com um clique
clean-branch
Use when マージ済みの不要ブランチを一括削除したいとき。「ブランチ整理」「マージ済み削除」「branch 掃除」「ブランチ一覧きれいにして」など、ブランチの整理に関わる場面で使用すること
Menu
Use when マージ済みの不要ブランチを一括削除したいとき。「ブランチ整理」「マージ済み削除」「branch 掃除」「ブランチ一覧きれいにして」など、ブランチの整理に関わる場面で使用すること
GitHub Release に紐付くリリース告知ツイート(X / Bluesky / Mastodon 等、長文 SNS 向け)の草案を生成するスキル。 `/release-tweet` または `/release-tweet <tag>` で起動し、`gh release view` で最新もしくは指定タグのリリースノートを取得して、 takt 作者風のフォーマット(テーマ絵文字 + 機能ごとの散文 + 末尾の bug-fix 箇条書き)にリライトする。 「リリース告知ツイート」「リリースのツイート文作って」「X 告知文」「Bluesky 用に書いて」などで発動する。 注意: 投稿自体は行わない。草案を会話に提示するだけ。 注意: GitHub Release が 1 件もないリポジトリ(タグだけある状態)では起動しない。
takt の workflow で GitHub issue を実行するスキル。`takt add` → `takt run` 経路で worktree を作成し、 長時間 workflow を background 実行 + `tasks.yaml` poll ループで完了検知、完了後の PR 化(takt CLI の postExecutionFlow に委譲)と積み上げ・クリーンアップまでを統一手順で行う。 「takt で issue 対応」「takt で #N を進めて」「takt 回して」など、takt 経由で issue を実装する意図が読み取れる発話で発動する。
Node.js / npm リポジトリ向けに GitHub Release の作成をリリース PR 経由で実行するスキル。 `/release` 1 コマンドでリポジトリの状態を自動判定し、 前半(prepare: バージョン判定 → リリースブランチ → PR 作成)または 後半(publish: GitHub Release 作成 → ブランチ削除)を実行する。 「リリースして」「リリース作って」「バージョン上げて」「npm に公開して」 「新しいバージョン出して」「/release」で発動。 注意: リリースの閲覧・削除は対象外。新規リリース作成のみ。 注意: `package.json` を持たないリポジトリでは起動しない(Cargo.toml / pyproject.toml / go.mod 等は対象外)。
AI に色々作業させていると溜まりがちな「残骸」をリポジトリ全体から検出するスキル。 過剰な防御・半端な実装、ドキュメントの陳腐化、スキル記述と実装の乖離、意味のない後方互換維持 — この 4 カテゴリを `git ls-files` 基点で走査し、検出結果をユーザーに確認させた上で 1 件ずつ `issue` スキルに委譲して GitHub issue を起票する。 「AI の残骸チェック」「リポジトリの健康診断」「ドキュメントと実装ずれてへん?」 「棚卸しして」「お掃除したい」「AI くさい書き方残ってない?」 「deprecated の掃除」「後方互換残ってない?」「/repo-audit」で発動。 自然文でも積極的に発動すること。特に「このリポジトリ全体を見て」「定期点検」 「リポジトリに溜まってるゴミ」のような広い言い回しでもこのスキルを使う。 注意: 自動修正はしない。検出と issue 起票のみ。差分ベースのレビューは built-in の `/review`、 脆弱性の深掘りは built-in の `/security-review`(手動実行)の責務。
takt CLI(タスク登録・workflow 駆動・worktree 自動生成・catalog 機構)のコマンドリファレンス。 本文に記載のあるコマンド・設定ファイル・workflow 概要に限定し、未収録のサブコマンド挙動は保証しない。 「takt の使い方」「takt のコマンド教えて」「default と default-mini の違い」 「takt catalog って何」「workflow を eject したい」「tasks.yaml の見方」など、 takt 本体の仕様・コマンド・設定に関わる場面で発動すること。 issue → PR の一連のワークフロー実行は takt-issue スキルを使う(本 skill はその補助参照)。
cmux で複数の Claude Code セッションを並列起動し、git worktree で分離して同一リポジトリの複数タスクを同時進行する。起動後はメインエージェントが各 pane の画面を監視し、進捗集約・エラー検知・完了判定まで自動で行う。「並列で」「同時に」「cmux で分割」「複数タスク」「並行して進めたい」「まとめて実装」「オーケストレーション」「監視付きで並列実行」「進捗集約」など、1 つのリポジトリで複数の独立したタスクを並行作業したい場面で使用すること。タスクの分割・同時実行・並列進捗管理について言及があればこのスキルの出番
| name | clean-branch |
| description | Use when マージ済みの不要ブランチを一括削除したいとき。「ブランチ整理」「マージ済み削除」「branch 掃除」「ブランチ一覧きれいにして」など、ブランチの整理に関わる場面で使用すること |
不要になったローカル・リモートブランチを検出し、一括削除する。
重要: マージ判定は git branch --merged ではなく PR の state を真実とする。GitHub が squash / rebase マージを使う場合、マージ済みブランチでも git branch --merged には現れない(tip コミットが main から到達不能なため)。--merged だけに頼ると squash マージ済みブランチを「未マージ=作業中」と誤判定して取りこぼす。
git branch の一覧を整理したいときgit fetch --prune --tags
# 全 PR を 1 回で取得(API 節約)
gh pr list --state all --limit 800 --json number,state,headRefName,mergedAt > /tmp/all_prs.json
# 対象ブランチ(local + remote, main/HEAD 除外)
{ git branch --format='%(refname:short)'
git branch -r --format='%(refname:short)' | sed 's#^origin/##'; } \
| grep -vE '^(origin/?|main|HEAD)$' | grep -v ' -> ' | sort -u > /tmp/branches.txt
各ブランチを headRefName で PR に紐づけ、state で分類する(MERGED > OPEN > CLOSED の優先で代表 state を採用):
| 分類 | 意味 | 安全性 |
|---|---|---|
| MERGED | PR がマージ済み(squash 含む) | 安全(成果は main にある) |
| CLOSED | PR が未マージで close | 概ね安全(人間が意図的に close。GitHub PR ページから復元可) |
| OPEN | PR がオープン中 | 削除しない(レビュー中) |
| NO_PR | 紐づく PR が無い | 要個別調査(一度もレビューされていない。ローカルのみなら復元は reflog ~90日) |
--merged で「未マージ」に見えても実体はマージ済みのことが多い。NO_PR・CLOSED は誤削除を避けるため個別に確認:
# main より先行しているユニークコミットと最終更新日
git log --oneline main..<branch>
git log -1 --format='%ci %s' <branch>
# 紐づく issue の open/closed
gh issue view <N> --json state,title
git worktree list # prunable 表示と各ブランチの checkout 先を確認
git worktree prune -v # 実体ディレクトリが消えた登録(prunable)を掃除
git branch -d できない。先に git worktree remove <path> するgit worktree remove --force分類(MERGED / CLOSED / NO_PR)ごとに件数と一覧を提示し、スコープを確認してから削除する。リスクの低い MERGED と、復元しにくい NO_PR は分けて確認するとよい。
# ローカル: MERGED でも squash の場合 -d は「未マージ」と拒否するため -D を使う
git branch -D <branch>
# リモート: 複数を 1 コマンドで一括削除できる
git push origin --delete <branch1> <branch2> <branch3> ...
削除した件数・分類別内訳を表示し、復元方法を添える:
git reflog から約 90 日間(削除時 SHA はログに残る)git branch --merged は squash マージを取りこぼすため補助的にしか使わない)git worktree remove してから削除するgit branch --merged の罠: squash / rebase マージ済みブランチは「未マージ」と表示される。マージ済みか否かは必ず gh pr の state で確認するgit branch -d が拒否する: squash マージ済みブランチは未マージ扱いなので -d が失敗する。PR state で MERGED 確認済みなら -D で削除してよいmapfile は使えない(bash 専用)。配列は arr=("${(@f)$(cmd)}") で行分割、要素は "${arr[@]}" で展開。for x in $var は zsh では単語分割されない("${(@f)var}" か配列を使う)git push origin --delete b1 b2 b3 と複数 ref をまとめて渡せる(push 回数を減らせる)