手順
引数の確認
$ARGUMENTSからIssue番号を取得する(スペース区切り、#プレフィックスは除去)- 引数未指定時は「Issue番号を指定してください」と報告して終了
各Issueについて情報取得(可能な限り並列実行)
githubスキル(issue-get.sh)でIssueの内容(タイトル、本文、ラベル、状態)を取得githubスキル(issue-sub-issues.sh)でサブIssueの有無を確認
対応要否の判定 各Issueについて、まずIssueが既にクローズされているか確認します。クローズ済みの場合、その旨を報告してこのIssueの処理を終了します。 オープンなIssueについては、以下の基準で対応の必要性を判定します。
判定基準:
対応必要(後続のstory/task判定へ進む):
- 具体的な変更内容や改善要望がIssue本文に記載されている
- バグ報告が含まれている
- 実装すべき機能が記述されている
対応不要(クローズ対象):
- Issue本文に「既に実装済み」「問題が解決済み」などクローズ条件を満たす記載がある
- 重複Issueであることが本文やコメントで明示されている
- 対象となる機能やファイルがコードベースに存在しないことが明らか
- Issue本文が空または意図不明で判断材料が不足している
対応不要と判定した場合の処理:
githubスキル(issue-add-comment.sh)で対応不要の理由を日本語でコメント追加- コメント例: 「このIssueは既に対応済みのため、クローズします。」
- 理由を具体的に記載すること
githubスキル(issue-update.sh)の--state closed --state-reason completedまたは--state closed --state-reason not_plannedでIssueをクローズ- 実装済み・解決済みの場合:
--state-reason completed - 重複・対象不在・意図不明の場合:
--state-reason not_planned
- 実装済み・解決済みの場合:
- 以降の構造的判定はスキップ
対応必要と判定した場合:
- 次の手順(構造的判定)へ進む
各Issueの構造的判定 以下の基準で story/task を判定する。
ラベルの定義:
storyラベルは、ストーリー(親Issue)にのみ付与する- ユーザーの要望やユーザーに提供する価値が記載されているIssue(WHYが中心)
taskラベルは、タスクIssue(サブIssue)にのみ付与する- 作業者に依頼できるくらいに実装方法が具体化されているIssue(HOWが中心)
構造的な判定基準:
story候補の条件:
- サブIssueが1つ以上存在する
- 本文がユーザーストーリー形式(「〜として、〜したい」等)で記述されている
- 受け入れ条件セクションがある
task候補の条件: サブIssueを持たないIssueであり、かつ以下のいずれかの条件を満たすもの:
- 本文に「親ストーリー」セクションまたは親Issueへの参照(
#数字形式でのリンク)がある - 具体的な実装内容・完了条件が記述されている
判定結果:
- story候補のみ満たす →
storyラベル付与、taskラベル削除 - task候補のみ満たす →
taskラベル付与、storyラベル削除 - 両方満たす(矛盾) → 両ラベル削除、エラー表示
- どちらも満たさない → ラベル変更なし、判定不能を報告
ラベル操作
githubスキル(issue-update.sh)の--add-label/--remove-labelを使用- story/task以外のラベルは一切変更しない
- 既に正しいラベルが付与されている場合は変更不要
結果報告 処理結果を一覧形式でユーザーに報告する:
- Issue番号、タイトル、トリアージ結果(対応必要/対応不要)
- 対応不要の場合: クローズ理由とstate-reason
- 対応必要の場合: 構造的判定結果(story/task/矛盾/判定不能)と実行したラベル操作
Converted and distributed by TomeVault — claim your Tome and manage your conversions.