linear-deliver-feature について
linear-deliver-featureは、Linearの課題について状態確認から計画、実装、レビューへの引き継ぎ、完了処理までを調整するスキルです。課題の証拠に基づいて各段階の条件を確認し、満たされた場合にのみ次へ進みます。
主な機能
- 01課題の現在フェーズを検出
- 02最新のLinearメタデータを取得
- 03計画と実装を調整
- 04コメントと課題ダッシュボードを検証
- 05レビューと完了の証拠を確認
活用シーン
- 01既存のLinear課題への対応を再開
- 02実装からレビューまでを調整
- 03課題完了前に証拠を確認
MCP 対応
Linear MCPツールで課題とコメントを読み書きし、ラベルを管理して各ワークフローフェーズを実行します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lkshrk/ linear-ai --skill linear-deliver-featureインストール後、Claude Code で/linear-deliver-featureを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamldocs/superpowers-linear-persistence.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/intake_issue.tslinear_metadata.tsvalidate_marked_comments.ts詳細
Linear Deliver Feature
1 つの Linear 課題のライフサイクル全体を管理するコントローラーとして使用します。各フェーズの実装にはより範囲の狭いスキルを実行しますが、状態遷移はここで管理してください。
ワークフローの状態やコードを変更する前に、docs/superpowers-linear-persistence.md を読んで、その指示に従ってください。
まず、実際の Linear 課題に対して linear-status を実行します。検出されたラベル、ステータス、最新のマーク付きコメント、課題説明のダッシュボードを使って、検出されたフェーズから再開してください。Linear の情報が利用できる場合は、記憶やユーザーの直近のチャットメッセージをもとに開始しないでください。
ライフサイクル状態機械
detect-current-state-linear-statusを実行し、現在のフェーズ、不足している証拠、状態の不一致、推奨される次のスキルを特定します。capture-metadata- Linear のチーム、プロジェクト、ラベルをライブクエリし、scripts/linear_metadata.ts captureで正規化します。create-issue-linear-create-issueを実行し、対象チーム、対象プロジェクト、候補となる一致ラベル/タグ、種別ラベル、LLM 状態ラベル 1 つを指定して、課題を作成または更新します。refine-plan- 課題にplan_status: readyのマーク付き計画コメントが付くか、明示的にブロック済み/不明な状態を受け入れるまで、linear-refineを実行します。implement- ready 状態の計画が存在し、Superpowers のタスクリストが課題説明のダッシュボードに反映され、直接実行と同じ必須の実装者権限コンテキストが渡されているか確認された後に限り、linear-implementを実行します。このコンテキストには、ワークスペースへの書き込みアクセス、パッケージマネージャーと検証コマンドの実行権限、Linear MCP の読み書きツール、ブランチまたは PR 作業が対象となる場合は Git/GitHub ツール、必要なプロジェクト MCP ツールが含まれます。コードを変更し、検証を実行し、トップレベルのタスク間を移る前にダッシュボードを更新してください。マーク付きステータスコメントを投稿するのは、ブロッカー、レビュー準備完了、作業の中止、検証失敗、引き継ぎ、または書き込み不可による変更のみです。validate-comments- ワークフローをレビュー準備完了とする前に、最終的な計画/ステータスコメントと課題説明のダッシュボードに対してscripts/validate_marked_comments.tsを実行します。review-handoff- PR またはパッチの準備ができていること、検証の証拠があること、課題にワークフロー状態ラベルが 1 つだけ付いていることを確認します。レビュー準備完了の場合はllm-review、未完了の場合はllm-blockedです。closeout- レビュー後、PR がマージ済みである場合、課題 ID が直接記載されたコミットの証拠がある場合、または squash/インポートのリリース証拠により、期待されるファイル/内容の証拠が現在の main に含まれ、リリース/main の CI が成功したと確認できる場合に限り、linear-closeを実行します。マージ済み PR、直接コミット、またはリリースの証拠に加えて、mainline と CI の証拠も確認します。その後、課題をDoneに移し、すべてのllm-*ラベルを削除し、累積するsp-*ラベルは保持して、ダッシュボードを更新し、最終クローズの証拠を投稿します。現在の課題 ID とチケットの証拠にある実装済み課題 ID で、別のチームへの移動により Linear のチームプレフィックスが異なる場合は、同じルールに従って古い実装済み ID を手動で確認し、現在の課題をクローズして、クローズの記録に両方の ID を含めます。final-linear-mutations- 書き込みツールが利用可能な場合は Linear MCP で最終ラベル/コメントを適用します。利用できない場合は、変更内容を正確に示したREQUIRED_LINEAR_MUTATIONSを出力します。
現在の状態に必要な証拠が不足している場合は、次のライフサイクル状態に進まないでください。現在の状態で停止し、ブロッカーを記録してください。
ステップ完了時の引き継ぎ
各ライフサイクル状態の完了後、変更内容、現在の状態が満たされていることを示す証拠、現在の Linear ラベル/ステータス、マークされたコメントの改訂内容、および推奨される次のステップを報告します。
このライフサイクル状態について、ほかに追加することがあるか尋ねてください。ある場合は、現在のステップを続け、関連する課題、計画、コード、検証、またはステータスコメントを更新します。ない場合は、次のワークフローステップへの移行を推奨し、次のライフサイクル状態を明示します。
次の形式で回答してください。
- 現在のフェーズ
- 変更内容
- 証拠
- 不足している証拠
- 未解決のブロッカー
- 推奨される次のステップ
- 推奨される次のスキル
- 質問:移行する前に追加することはありますか?
Linear MCP の契約
各フェーズのスキルを通じて Linear MCP を使用します。
linear-statusはget_issueとlist_commentsを使用します。linear-create-issueはlist_teams、list_projects、list_issue_labels、save_issueを使用します。linear-refineはget_issue、list_comments、save_comment、save_issueを使用します。linear-implementはget_issue、list_comments、save_comment、save_issueを使用します。linear-closeはget_issue、list_comments、save_comment、save_issueを使用します。
フェーズ間の検証を省略しないでください。次を使用して、最新のメタデータを取得してください。
scripts/linear_metadata.ts capture --teams linear-teams.json --projects linear-projects.json --labels linear-labels.json
次を使用して、マークされたコメントと、CLI 形式のタスクリストおよび symbol タスクマーカーを含む linear-ai.dashboard.v1 課題の説明ダッシュボードを検証してください。
scripts/validate_marked_comments.ts --description <issue-description-file> <comment-file>
構造化されたインテークのドライランには、次を使用してください。
scripts/intake_issue.ts --metadata <metadata.json> <input.yaml>
エージェントが利用できるローカルの JavaScript パッケージマネージャーまたはランタイムを使用してください。Bun では .ts スクリプトを直接実行できます。Node/npm/pnpm/yarn の環境では、tsx などの TypeScript ランナーを介して実行してください。
停止条件
- Linear MCP の読み取りツールが利用できず、最新のメタデータスナップショットもない場合は、
capture-metadataで停止します。 - ライブメタデータから対象チーム、対象プロジェクト、提案する一致ラベル/タグ、または種別ラベルを選択できない場合は、
create-issueで停止します。 - 必要なプロダクト情報が不足しており、不明点として受け入れられない場合は、
refine-planで停止します。 - 準備完了した計画が満たされたことを検証によって証明できない場合は、
implementで停止します。 - 課題を最終 LLM 状態ラベルのちょうど 1 つに移行できない場合は、
review-handoffで停止します。 - PR のマージ、移行済み旧 ID の実装証拠、スカッシュ/インポートのリリースファイルまたは内容の証拠、メインライン、または CI の証拠が不足している場合は、
closeoutで停止します。クローズアウトが証明されるまではllm-reviewを維持してください。
いずれかのフェーズが、プロダクト情報の不足または書き込み権限の欠如によってブロックされた場合は、推測せず、正確な REQUIRED_LINEAR_MUTATIONS を投稿または出力し、ブロックされた引き継ぎ状態で停止してください。