linear-batch-close について
linear-batch-closeは、課題ごとのエージェントを使い、複数のLinear課題のマージ後のクローズ処理を調整します。レビュー完了対象の検出と確認、分配、追加質問への対応、結果の集約を行います。
主な機能
- 01レビュー後のクローズ対象を検出
- 02クローズキューの絞り込みと並べ替え
- 03確認と上限付き並列実行
- 04分配前の課題状態の再確認
- 05質問・フィードバック・結果の集約
活用シーン
- 01複数のマージ済み課題の一括クローズ
- 02分配せずに対象課題をプレビュー
- 03ユーザーへの質問で停滞したクローズ作業の調整
MCP 対応
Linear MCPで課題を検索し、分配前および実行直前に課題情報とコメントを再確認します。クローズ変更は個別課題のエージェントが担当し、利用できない書き込み操作や必要な変更はバッチ結果に示します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lkshrk/ linear-ai --skill linear-batch-closeインストール後、Claude Code で/linear-batch-closeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamldocs/agent-required-passes.mdcomment-validation.mdworkflow.mdschemas/linear-ai.claim.v1.schema.yamllinear-ai.dashboard.v1.schema.yamllinear-ai.plan.v1.schema.yamllinear-ai.review-ledger.v1.schema.yamllinear-ai.status.v1.schema.yamlscripts/validate_marked_comments.tsverify_closeout.ts詳細
Linear Batch Close
マージ後のクローズ処理の準備ができた複数の Linear AI issue をオペレーターがクローズする場合に、このスキルを使用します。
これはオーケストレーターです。linear-close ワークフローを重複して実行しないでください。単一 issue 向けのスキルが、issue ごとの永続的な Linear コメント、ワークフローラベル、クローズ処理の変更、マージの証拠、CI の証拠、および issue 固有の解釈を担当します。
ソース契約
以下を読み、従ってください。
skills/linear-close/SKILL.mddocs/workflow.mddocs/agent-required-passes.mddocs/comment-validation.mdscripts/validate_marked_comments.tsscripts/verify_closeout.ts
キューの検出
Linear MCP を使用します。
list_issuesでllm-reviewの issue を検索します。- 必要に応じて、チーム、プロジェクト、担当者、ラベル、ユーザーから指定された明示的な issue ID で絞り込みます。
- 明示的な issue ID が指定されておらず、対象のチームとプロジェクトがセッション内でまだ明確でない場合は、検出の前に、どのチームとプロジェクトの issue を処理するか確認します。
llm-*ワークフローラベルが付いた issue のみをキューに含めます。ユーザーが明示的に指定しない限り、llm-*ラベルのない issue は無視します。get_issueとlist_commentsで、ディスパッチ前に現在のレビュー/PR の証拠を要約します。
すでに in-use クレームラベルが付いている issue は除外します。別のエージェントが作業中です。
明示的なドライランまたは一覧のみのモードに対応します。ドライラン/一覧のみのモードでは、キューを表示し、サブエージェントのディスパッチや Linear の変更を行わずに終了します。
まず Linear の優先度、次に最終更新日時が古い順でキューを並べ替えます。優先度の順序は「緊急」、「高」、「中」、「低」、「優先度なし」です。同じ優先度内では、updatedAt の昇順に並べます。対象を絞ったキューの概要として、issue ID、タイトル、ステータス、プロジェクト、最新のレビュー準備完了の証拠、更新日時、issue が対象となる理由を表示します。
ディスパッチ前に確認を求めます。キューの検出後、ディスパッチ前に、並列実行数の上限を確認します。並列実行数は最大 6 です。
別の issue にフォーカスを移す際は、docs/workflow.md の Ticket Reference Rule に従って、まず短い内容の要約を伝えます。issue ID、正確な issue タイトル、内容を示す 1 行の説明を含めます。
ディスパッチのルール
各 issue をディスパッチする直前に、get_issue と list_comments で issue の状態を再確認します。llm-review が付いていない場合、または in-use クレームラベル(別のエージェントによるクレーム)が新たに付いている場合は、その issue をスキップし、観測した Linear の状態変化を概要に記録します。
issue ごとのサブエージェントを、次の内容でディスパッチします。
$linear-ai:linear-close <ISSUE-ID>
ツールまたはランタイムの障害が発生した場合、該当する issue について 1 回だけ再試行します。再試行も失敗した場合は、その issue のみをバッチ概要で failed とします。
キャンセルされた場合は、新たなディスパッチを停止し、すでに開始した安全な作業の報告を待ってから、完了、ブロック、失敗、スキップ、キャンセル、未開始の issue を含むキャンセル概要を返します。
サブエージェントの構造化結果
すべてのサブエージェントに、構造化されたサブエージェント結果の報告を求めます。
issue: HCL-123
status: completed # completed | blocked | failed | skipped | cancelled
questions:
- question: Concrete question for the user.
recommended_answer: Recommended answer with rationale.
reason: Why this answer is needed.
blocks:
- closeout
feedback:
- summary: Short feedback from the subagent.
severity: info # info | warning | blocker
recommendation: Recommended follow-up.
follow_up: Optional next step.
linear_mutations:
- REQUIRED_LINEAR_MUTATIONS emitted by the single-issue skill, if any.
evidence:
- Merge, CI, mainline, dashboard, status, or Linear state evidence.
error: null
契約違反は、該当する issue のみを失敗とします。
質問とフィードバックの集約
質問には question、recommended_answer、reason、および任意の blocks を含めます。
フィードバックには summary、severity、recommendation、および任意の follow_up を含めます。
各ウェーブの後に、未解決の質問とフィードバックを issue ごとにまとめます。ブロック中または曖昧な作業を続ける前に、必要な入力をユーザーに求めます。回答済みの issue は、新しい linear-close サブエージェントの実行に回します。古いサブエージェントの状態から再開しないでください。
回答のない issue は、次の概要でもブロックまたはスキップのままにします。
概要の形式
最終概要には、以下を含めます。
- 検出した issue
- ディスパッチした issue
- 完了した issue
- ブロック中の issue/質問
- 失敗した issue
- スキップした issue
- キャンセルまたは未開始の issue
- 適用したユーザーの回答
- 正規化された証拠
- 観測した Linear の状態変化
- サブエージェントからの REQUIRED_LINEAR_MUTATIONS
- 次に推奨するアクション
Linear MCP の契約
利用可能な場合は、以下の Linear MCP ツールを使用してください。
list_issuesget_issuelist_comments
バッチオーケストレーターは、linear-close が担当するクローズ処理の変更を実行しないでください。Linear MCP の書き込みツールを利用できない場合、またはサブエージェントが書き込み指示を出した場合は、REQUIRED_LINEAR_MUTATIONS を正確にバッチの概要に記載してください。
停止条件
確認済みのすべてのウェーブが完了した場合、ユーザーの入力が必要な場合、キャンセルが要求された場合、または対象となる課題が残っていない場合に停止してください。