hunk-commentslisted
Install: claude install-skill yktsnet/dotfiles-public
# hunk-comments
別ペインの Hunk で user が残した指摘を拾い、対応する。
想定する状況は、この場(B)で作成・修正したファイルを、user が別ペイン(A)の
`hunk diff --watch` で確認し、気になる行に `c` + `Ctrl+S` で指摘を書いた直後。
## 前提として外せない2点
**コメントは Hunk プロセスと寿命を共にする。** A を閉じた後では取得できない。
取れなかったときに `git diff` から推測で代替しない。何が指摘されたか分からないまま
直すことになるため、user に「A を開いたまま再度コメントしてほしい」と伝えて止まる。
**`--type` を省略すると agent 自身が付けたコメントしか返らない。** user が書いたものを
拾うには `--type user`(agent 分も併せて見るなら `--type all`)を必ず指定する。
## 手順
### 1. 対象セッションが自分の作業対象か確かめる
```bash
git rev-parse --show-toplevel # 自分が編集しているリポのルート
hunk session list # 稼働中の Hunk セッション
hunk session get --repo . # うち、このリポに対応するもの
```
`--repo .` は「repo root が一致する live session」を指す。`issue()` 起動時の Hunk は
worktree 側で動いており root が別なので、本体リポのセッションとは混ざらない。
確認するのは次の2つ。
- **リポが一致するか**。`hunk session get --repo .` が何も返さなければ、このリポで Hunk は
開かれていない。user に伝えて止まる
- **セッションの対象が作業ツリーか**。`hunk show <sha>` のように過去のコミットを開いている
場合、そこに付いた指摘は自分の編集への指摘ではない。その旨を伝えて確認を取る
### 2. コメントとパッチを取得する
```bash
hunk session review --repo . --include-notes --include-patch
```
コメントと該当��所のパッチが一度に取れる。どの行の話かを調べるために diff を取り直さない。
コメントだけを構造化して扱いたい場合は次を使う。
```bash
hunk session comment list --repo . --type user --json
```
### 3. 対応する
各コメントについて、指摘された箇所を直す。A は `--watch` なので、直せば user の画面に
即座に反映される。
判断を仰ぎたいもの、直さない方がよいと考えたものは、直さずに理由を述べる。
黙って飛ばさない。
### 4. 報告する
コメントごとに、直した・直していない(理由つき)のどちらかを1行で述べる。
## コメントは消さない
`hunk session comment rm` は使わない。user は必要に応じて A を閉じて開き直す運用をしており、
そのとき全コメントが消えて初期状態に戻る。後始末は Hunk の寿命に任せる方が状態が単純になる。
例外