pick-issuelisted
Install: claude install-skill kompiro/hane
# Pick Next Issue Skill
open な Issue から「いま着手できる」ものを選び出してユーザーに提示する。
複数の Claude Code セッションを並行運用するとき、**別セッションが作業中の Issue を
重複して掴まない**ことを最優先の目的とする。ユーザーが 1 件選んだら、そのまま
`start-dev` ワークフローへ引き継いで開発を開始する。
## 前提条件
- `gh auth status` で GitHub 認証済みであること
## ホスト repo に依存する慣習について
本 skill は `status: *` ラベル運用(`status: ready / blocked / implementing /
designing / designed / in-review`)があれば最大限活用するが、**ラベルが無い repo
でも動く**ように設計する。ラベルが定義されていない場合は、assignee と紐付く
open PR の有無だけで「作業中かどうか」を判定する(後述の手順 2)。
## 着手可否の判定基準
| 分類 | 条件 | 候補に含めるか |
|---|---|---|
| 作業中(別セッションが動いている可能性大) | `status: implementing` / `status: designing` | **除外** |
| レビュー中(作業はほぼ完了) | `status: in-review` | **除外** |
| 着手不可(依存待ち) | `status: blocked` | **除外** |
| 保留(塩漬け) | `status: on-hold` | **除外** |
| 着手準備完了 | `status: ready` | **含める**(最優先) |
| 設計完了・実装待ち | `status: designed` | **含める** |
| ラベル無し | `status: *` ラベルがどれも付いていない open Issue | **含める**(label 運用が無い repo のフォールバックも兼ねる) |
加えて、ラベルに関わらず以下のいずれかに当てはまる Issue は「作業中」とみなして
**除外**する(label 運用が無い repo での主たる作業中検出手段):
- **assignee が付いている** — 誰か(別セッション含む)が着手済みとみなす
- **open な linked PR / ブランチ���ある** — 本文に `Closes #N` / `Refs #N` を含む
open PR が存在する、または Issue 番号に対応するブランチが push されている
## 手順
### 1. open Issue の取得
引数で対象を絞れる場合はそれを尊重する(例: ラベル指定 `/pick-issue area:core`)。
無ければ全 open Issue を取得する。
```
gh issue list --state open --limit 100 \
--json number,title,labels,assignees,updatedAt,url
```
### 2. 作業中・着手不可を除外する
「着手可否の判定基準」表に従って候補を絞る。
1. ラベルベースの除外: `status: implementing` / `status: designing