mcpField
O
ops-next

ops-next

github.com/davepoon生産性3.7k69 回インストール今日更新
リポジトリ

ops-next について

ops-nextは、運用状況とプロジェクト作業を確認し、次の行動を提案するClaudeスキルです。インフラやCIの障害、緊急メッセージ、マージ可能なPR、スプリント課題、進行中のフェーズを優先順位付けします。

主な機能

  1. 01設定、デーモンの状態、運用メモの読み込み
  2. 02インフラとCIの障害確認
  3. 03未読メッセージとオープンPRの確認
  4. 04スプリント課題とGSDフェーズの優先順位付け
  5. 05選択した行動を別のスキルに引き継ぎ

活用シーン

  1. 01最優先で対応する運用上の問題の特定
  2. 02レビュー可能なPRの確認
  3. 03優先度の高いスプリントまたはプロジェクト課題の選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davepoon/buildwithclaude --skill ops-next

インストール後、Claude Code で/ops-nextを入力して読み込まれたか確認します。

詳細

ランタイムコンテキスト

提案する前に、以下を読み込んでください。

  1. 設定:cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json — owner、primary_project、default_channels を読み取ります
  2. デーモンの健全性:cat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json — action_needed があれば優先事項として扱います
  3. Ops のメモリー:進行中の作業コンテキストについて、${CLAUDE_PLUGIN_DATA_DIR}/memories/topics_active.md を確認します

OPS ► 次のアクション

CLI/API リファレンス

gh CLI(GitHub)
コマンド用途出力
gh pr list --state open --json number,title,statusCheckRollup,reviewDecisionCI/レビュー状況を含むオープン PRJSON 配列

Agent Teams のサポート

CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 が設定されている場合、優先度の高いデータを並行して収集する際に Agent Teams を使用します。これにより、次のことが可能になります。

  • エージェントがコンテキストを共有し、処理中に連携できます
  • 優先順位をリアルタイムで調整できます
  • エージェントは完了した時点で進捗を報告します

チームのセットアップ(フラグが有効な場合のみ):

TeamCreate("next-team")
Agent(team_name="next-team", name="fires-checker", prompt="Check infra health and CI for production fires")
Agent(team_name="next-team", name="comms-checker", prompt="Check unread messages across all channels")
Agent(team_name="next-team", name="prs-checker", prompt="Find PRs ready to merge — CI green, reviews approved")
Agent(team_name="next-team", name="sprint-checker", prompt="Check Linear sprint for highest-priority in-progress issues")

フラグが設定されていない場合は、通常のファイア・アンド・フォーゲット方式のサブエージェントを使用します。

事前収集データ

インフラストラクチャと緊急事態
${CLAUDE_PLUGIN_ROOT}/bin/ops-infra 2>/dev/null || echo '{"clusters":[]}'
Git と PR
${CLAUDE_PLUGIN_ROOT}/bin/ops-prs 2>/dev/null || echo '[]'
CI の状態
${CLAUDE_PLUGIN_ROOT}/bin/ops-ci 2>/dev/null || echo '[]'
未読メッセージ
${CLAUDE_PLUGIN_ROOT}/bin/ops-unread 2>/dev/null || echo '{}'
GSD のアクティブなフェーズ
for d in $(jq -r '.projects[] | select(.gsd == true) | .paths[]' "${CLAUDE_PLUGIN_ROOT}/scripts/registry.json" 2>/dev/null); do
  expanded="${d/#\~/$HOME}"
  if [ -f "$expanded/.planning/STATE.md" ]; then
    alias=$(basename "$expanded")
    cat "$expanded/.planning/STATE.md" 2>/dev/null | head -30
    echo "---NEXT---"
  fi
done

タスク

優先順位に従って、事前収集したすべてのデータを確認します。

優先度 1 — 緊急事態

インフラデータで、健全でない ECS タスク、停止したサービス、失敗したデプロイを確認します。 CI で、main または dev ブランチの障害を確認します。 緊急事態があれば、直ちに /ops-fires を推奨します。

優先度 2 — 緊急の連絡

未読件数を確認します。WhatsApp またはメールに、自動送信ではない人からの未読メッセージがある場合:

  • 送信者やプレビューがあれば、緊急度を推定します
  • 緊急の連絡があれば、/ops-inbox [channel] を推奨します
優先度 3 — マージ可能な PR

PR について、CI が成功していること、未解決のレビューコメントがないこと、ドラフトではないことを確認します。 該当するものがあれば、その PR を今すぐレビューするよう推奨します。 確認:gh pr list --state open --json number,title,statusCheckRollup,reviewDecision 2>/dev/null

優先度 4 — LINEAR のスプリント

現在のスプリントの課題を取得します。現在のサイクルで絞り込んだ mcp__linear__list_issues を使用します(必要に応じて、サイクルのクエリには Linear GraphQL のフォールバックを使用します)。 進行中または未着手の課題のうち、最も優先度の高いものを見つけます。

優先度 5 — GSD の作業

GSD の状態から、すべてのプロジェクトを対象に、収益への影響が最も大きいアクティブなフェーズを見つけます。 収益の重み付け:scripts/registry.json から revenue.stage と priority を読み取ります。優先度の数値が小さく(優先度が高く)、収益ステージが growth または active のプロジェクトは、pre-launch または development よりも優先されます。同じ優先度の区分では、完了に最も近いフェーズを優先します。


出力形式

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS ► NEXT ACTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 TOP PRIORITY: [fires|comms|PR|sprint|gsd]
 ▶ [specific action in one sentence]

 WHY: [1-2 sentence rationale]

──────────────────────────────────────────────────────
 Full priority stack:
 1. [action] — [why] → [/skill or command]
 2. [action] — [why] → [/skill or command]
 3. [action] — [why] → [/skill or command]
 4. [action] — [why] → [/skill or command]
 5. [action] — [why] → [/skill or command]

──────────────────────────────────────────────────────
 a) Do #1 now
 b) Do #2 now
 c) Show me everything (/ops-go)
 d) I'll decide — just show the briefing

 → Pick or describe what you want
──────────────────────────────────────────────────────

AskUserQuestion を使用します。ユーザーが選択肢を選んだら、対応するスキルの説明はせず、直接呼び出して実行します。

$ARGUMENTS にコンテキスト(例:「 に集中」)が含まれている場合は、そのコンテキストに分析対象を限定します。


ネイティブツールの使用

タスク — アクションの追跡

ユーザーがアクションを選択した後、TaskCreate を使用して追跡します。対応するスキルに処理を引き継ぐ際、タスクはユーザーが重点的に取り組むと選択した内容を思い出すためのリマインダーとして保持されます。

WebFetch — 情報補完のフォールバック

事前収集データが古い、または不完全な場合は、WebFetch を使用して API(Linear GraphQL、Sentry、GitHub)から最新データを直接取得します。

コメント