ops-next
How to Install
Claude Code:
git clone --depth 1 https://github.com/davepoon/buildwithclaude.git && cp buildwithclaude/plugins/claude-ops/skills/ops-next ~/.claude/skills/ops-next -r---
name: ops-next
description: Business-level "what should I do next". Priority stack — fires > unread comms > ready-to-merge PRs > Linear sprint > revenue-generating GSD work. Uses pre-gathered data and routes to the right skill.
argument-hint: "[context]"
allowed-tools:
- Bash
- Read
- Grep
- Glob
- Skill
- Agent
- TeamCreate
- SendMessage
- AskUserQuestion
- TaskCreate
- TaskUpdate
- WebFetch
- mcp__linear__list_issues
- mcp__claude_ai_Slack__slack_search_public_and_private
effort: low
maxTurns: 15
---
## Runtime Context
Before advising, load:
1. **Preferences**: `cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json` — read `owner`, `primary_project`, `default_channels`
2. **Daemon health**: `cat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json` — flag any action_needed as priority
3. **Ops memories**: Check `${CLAUDE_PLUGIN_DATA_DIR}/memories/topics_active.md` for ongoing work context
# OPS ► NEXT ACTION
## CLI/API Reference
### gh CLI (GitHub)
| Command | Usage | Output |
|---------|-------|--------|
| `gh pr list --state open --json number,title,statusCheckRollup,reviewDecision` | Open PRs with CI/review status | JSON array |
---
## Agent Teams support
If `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` is set, use **Agent Teams** when gathering priority data in parallel. This enables:
- Agents share context and can coordinate mid-flight
- You can steer priorities in real-time
- Agents report progress as they complete
**Team setup** (only when flag is enabled):
```
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")
```
If the flag is NOT set, use standard fire-and-forget subagents.
## Pre-gathered data
### Infrastructure & fires
```!
${CLAUDE_PLUGIN_ROOT}/bin/ops-infra 2>/dev/null || echo '{"clusters":[]}'
```
### Git & PRs
```!
${CLAUDE_PLUGIN_ROOT}/bin/ops-prs 2>/dev/null || echo '[]'
```
### CI status
```!
${CLAUDE_PLUGIN_ROOT}/bin/ops-ci 2>/dev/null || echo '[]'
```
### Unread messages
```!
${CLAUDE_PLUGIN_ROOT}/bin/ops-unread 2>/dev/null || echo '{}'
```
### GSD active phases
```!
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
```
---
## Your task
Apply the priority stack to all pre-gathered data:
### Priority 1 — FIRES
Check infra data for: unhealthy ECS tasks, stopped services, failed deployments.
Check CI for: broken `main` or `dev` branches.
If any fires exist → **recommend `/ops-fires` immediately**.
### Priority 2 — URGENT COMMS
Check unread counts. If WhatsApp or email has unread messages from humans (not automated):
- Estimate urgency from sender/preview if available
- If urgent comms → **recommend `/ops-inbox [channel]`**
### Priority 3 — READY-TO-MERGE PRs
Check PRs for: CI green + no unresolved review comments + not draft.
If any ready → **recommend reviewing that PR now**.
Check: `gh pr list --state open --json number,title,statusCheckRollup,reviewDecision 2>/dev/null`
### Priority 4 — LINEAR SPRINT
Fetch current sprint issues: use `mcp__linear__list_issues` filtered to current cycle (use Linear GraphQL fallback for cycle queries if needed).
Find highest-priority issue that is in progress or unstarted.
### Priority 5 — GSD WORK
From GSD state, find the highest revenue-impact active phase across all projects.
Revenue weighting: read `revenue.stage` and `priority` from `scripts/registry.json` — projects with lower priority numbers (higher priority) and revenue stage of `growth` or `active` outrank `pre-launch` or `development`. Within the same tier, prioritize closest-to-done phases.
---
## Output format
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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
──────────────────────────────────────────────────────
```
Use AskUserQuestion. When user selects an option, invoke the corresponding skill directly — don't describe it, do it.
If `$ARGUMENTS` contains context (e.g., "focus on "), constrain the analysis to that context.
---
## Native tool usage
### Tasks — action tracking
After the user selects an action, use `TaskCreate` to track it. When routing to the corresponding skill, the task persists as a reminder of what the user chose to focus on.
### WebFetch — enrichment fallback
When pre-gathered data is stale or incomplete, use `WebFetch` to pull fresh data from APIs (Linear GraphQL, Sentry, GitHub) directly.
Details
| Category | Data → data_proc |
| Source | davepoon/buildwithclaude |
| SKILL.md | View on GitHub → |
| Repo Stars | ★ 3.1K |
| Est. per Skill | 21 (shared across 142 skills from this repo) |
| Difficulty | Intermediate |
| Risk Level | Safe |
Related Skills
fp-data-transforms
Practical Data Transformations This skill covers the data transformations you do every day: working
mathguard
mathguard — Math-Heavy Optimization for AI Code lemmaly makes you pick the right classical algorithm
options-flow-analyzer
Options Flow Analyzer Analyze options chain data with real vs lottery call separation — the key insi
form-cro
Form Conversion Rate Optimization (Form CRO) You are an expert in form optimization and friction red
Works Well With
Skills from the same repository — often designed to work together
.Claude Plugin
{"name":"marketplace.json","path":".claude-plugin/marketplace.json","sha":"20a6f60ee1d9980002f14900b
Ag2 Agent Builder
{"name":"plugin.json","path":"plugins/ag2-agent-builder/.claude-plugin/plugin.json","sha":"46bd820c0
Agent Triforce
{"name":"plugin.json","path":"plugins/agent-triforce/.claude-plugin/plugin.json","sha":"feb952271078