mcpField
L
linear-batch-close

linear-batch-close

github.com/lkshrkエージェントワークフロー141 回インストール4 週間前に更新
リポジトリ

linear-batch-close について

linear-batch-closeは、課題ごとのエージェントを使い、複数のLinear課題のマージ後のクローズ処理を調整します。レビュー完了対象の検出と確認、分配、追加質問への対応、結果の集約を行います。

主な機能

  1. 01レビュー後のクローズ対象を検出
  2. 02クローズキューの絞り込みと並べ替え
  3. 03確認と上限付き並列実行
  4. 04分配前の課題状態の再確認
  5. 05質問・フィードバック・結果の集約

活用シーン

  1. 01複数のマージ済み課題の一括クローズ
  2. 02分配せずに対象課題をプレビュー
  3. 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.yaml
docs/
agent-required-passes.md
comment-validation.md
workflow.md
schemas/
linear-ai.claim.v1.schema.yaml
linear-ai.dashboard.v1.schema.yaml
linear-ai.plan.v1.schema.yaml
linear-ai.review-ledger.v1.schema.yaml
linear-ai.status.v1.schema.yaml
scripts/
validate_marked_comments.ts
verify_closeout.ts

詳細

Linear Batch Close

マージ後のクローズ処理の準備ができた複数の Linear AI issue をオペレーターがクローズする場合に、このスキルを使用します。

これはオーケストレーターです。linear-close ワークフローを重複して実行しないでください。単一 issue 向けのスキルが、issue ごとの永続的な Linear コメント、ワークフローラベル、クローズ処理の変更、マージの証拠、CI の証拠、および issue 固有の解釈を担当します。

ソース契約

以下を読み、従ってください。

  • skills/linear-close/SKILL.md
  • docs/workflow.md
  • docs/agent-required-passes.md
  • docs/comment-validation.md
  • scripts/validate_marked_comments.ts
  • scripts/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_issues
  • get_issue
  • list_comments

バッチオーケストレーターは、linear-close が担当するクローズ処理の変更を実行しないでください。Linear MCP の書き込みツールを利用できない場合、またはサブエージェントが書き込み指示を出した場合は、REQUIRED_LINEAR_MUTATIONS を正確にバッチの概要に記載してください。

停止条件

確認済みのすべてのウェーブが完了した場合、ユーザーの入力が必要な場合、キャンセルが要求された場合、または対象となる課題が残っていない場合に停止してください。

コメント