From ops
Token-efficient morning briefing. Pre-gathers all data via shell scripts, then presents a unified business dashboard with prioritized actions.
npx claudepluginhub auroracapital/claude-opsThis skill is limited to using the following tools:
All data below was collected by shell scripts in <10 seconds:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
All data below was collected by shell scripts in <10 seconds:
${CLAUDE_PLUGIN_ROOT}/bin/ops-infra 2>/dev/null || echo '{"clusters":[],"error":"infra check failed"}'
${CLAUDE_PLUGIN_ROOT}/bin/ops-git 2>/dev/null || echo '[]'
${CLAUDE_PLUGIN_ROOT}/bin/ops-prs 2>/dev/null || echo '[]'
${CLAUDE_PLUGIN_ROOT}/bin/ops-ci 2>/dev/null || echo '[]'
${CLAUDE_PLUGIN_ROOT}/bin/ops-unread 2>/dev/null || echo '{}'
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")
phase=$(grep -m1 'current_phase' "$expanded/.planning/STATE.md" 2>/dev/null | head -1 || echo "unknown")
progress=$(grep -m1 'progress' "$expanded/.planning/STATE.md" 2>/dev/null | head -1 || echo "unknown")
echo "$alias: $phase | $progress"
fi
done
gog calendar list --date "$(date +%Y-%m-%d)" 2>/dev/null | head -20 || echo "calendar unavailable"
Analyze ALL the pre-gathered data above and present it as a morning briefing. Follow the ops-briefing output style.
Format:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS ► MORNING BRIEFING — [DATE]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FIRES (fix now)
[table of production issues, CI failures, broken deploys]
PRs NEEDING ACTION
[table: repo, PR#, title, status, action needed]
PORTFOLIO DASHBOARD
[table: project, phase, branch, uncommitted, CI, next action]
UNREAD
[WhatsApp: N, Email: N, Slack: check MCP, Calendar: N events today]
TODAY'S PRIORITIES (ranked by revenue impact + urgency)
1. [action] — [project] — [why]
2. ...
3. ...
──────────────────────────────────────────────────────
What's next?
──────────────────────────────────────────────────────
a) [highest priority action from analysis]
b) [second priority]
c) [third priority]
d) [fourth priority]
e) /ops-yolo — let me run your business today
→ Type a letter, project alias, or describe what you want
──────────────────────────────────────────────────────
Priority ranking: fires > degraded infra > CI failures > unread comms > ready-to-merge PRs > revenue-generating GSD work > stale projects.
If $ARGUMENTS contains a project alias, focus the briefing on that project only.
After presenting, use AskUserQuestion for the user's choice and route to the appropriate ops skill or project.
For Slack unread counts: if the pre-gathered data shows "count": -1, use mcp__claude_ai_Slack__slack_search_public_and_private with query is:unread to get actual counts. Do this as a parallel tool call while analyzing other data.