본문으로 건너뛰기
cccskills
무료GitHub에 공개

ops-dash

Interactive pixel-art command center dashboard. Visual business HQ with instant hotkey navigation to all ops commands, live status indicators, fire alerts, C-suite reports, settings, sharing, and FAQ.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md13.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

OPS > DASH — Interactive Command Center

Runtime Context

Before rendering, load available context:

  1. Preferences: Read ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json

    • owner — personalize the dashboard header greeting
    • timezone — display timestamps correctly in status indicators
  2. Daemon health: Read ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json

    • If action_needed is not null → show a warning banner at the top of the dashboard before the menu

CLI/API Reference

bin/ops-dash

CommandUsageOutput
${CLAUDE_PLUGIN_ROOT}/bin/ops-dashRender full pixel-art dashboardFormatted ASCII dashboard
${CLAUDE_PLUGIN_ROOT}/bin/ops-dash 2>/dev/null || echo "DASH_RENDER_FAILED"Render with failure detectionDashboard or DASH_RENDER_FAILED sentinel

The bin script reads preferences.json and daemon-health.json internally. The skill reads these files separately to check for warnings before invoking the script.


Agent Teams support

If CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set, use Agent Teams when loading dashboard 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("dash-team")
Agent(team_name="dash-team", name="infra-loader", prompt="Gather ECS health, Vercel status, and CI pipeline state")
Agent(team_name="dash-team", name="comms-loader", prompt="Gather unread counts across all configured channels")
Agent(team_name="dash-team", name="projects-loader", prompt="Gather GSD phase, git status, and PRs for all projects")
Agent(team_name="dash-team", name="business-loader", prompt="Gather revenue, Linear sprint, and fire alerts")

If the flag is NOT set, use standard fire-and-forget subagents.

Render dashboard instantly

${CLAUDE_PLUGIN_ROOT}/bin/ops-dash 2>/dev/null || echo "DASH_RENDER_FAILED"

Your task

The dashboard has already rendered above via the shell script. Your job is to route user input to the right skill.

Present the dashboard output as-is (it's already formatted). Then immediately use AskUserQuestion:

  Type a number (1-9, 0), letter (a-j), or describe what you need

Routing table

InputRouteDescription
1, go, morning, briefing/ops:ops-goMorning briefing
2, inbox, unread, messages/ops:ops-inboxInbox zero
3, fires, incidents, down/ops:ops-firesFire check
4, projects, portfolio/ops:ops-projectsProject dashboard
5, next, priority, what/ops:ops-nextWhat's next
6, revenue, costs, money/ops:ops-revenueRevenue & costs
7, linear, sprint, board/ops:ops-linearLinear sprint
8, deploy, ship/ops:ops-deployDeploy status
9, triage, issues/ops:ops-triageTriage issues
0, speedup, clean, optimize/ops:ops-speedupSystem speedup
a, yolo/ops:ops-yoloYOLO mode
b, merge, prs/ops:ops-mergeAuto-merge PRs
c, setup, configure/ops:setupSetup wizard
d, send, comms/ops:ops-commsSend message
e, report, csuiteRead latest YOLO reportC-suite report
f, settings, prefs, configSettings sub-menuInteractive config
g, shareShare sub-menuShare your setup
h, faq, help, wiki, ?FAQ sub-menuHelp & FAQ
back, dash, homeRe-render dashboardReturn to dash

C-suite report access (option e)

When user selects e:

  1. Find latest YOLO session: ls -td /tmp/yolo-*/ 2>/dev/null | head -1
  2. If found, show a sub-menu:

Display the C-suite header, then use batched AskUserQuestion (max 4 options per call):

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS > C-SUITE REPORTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

AskUserQuestion call 1:

  [CEO — Strategic analysis]
  [CTO — Technical health]
  [CFO — Financial analysis]
  [More...]

AskUserQuestion call 2 (only if "More..."):

  [COO — Operations review]
  [All — Full Hard Truths report]
  [Back to dashboard]

Read the selected file and display it. After display, offer [Back to dashboard].

  1. If no YOLO reports exist:
No C-suite reports yet. Run /ops:ops-yolo to generate one.

 b) Back to dashboard

Settings sub-menu (option f)

When user selects f, read current preferences and present an interactive config editor.

PREFS="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"
cat "$PREFS" 2>/dev/null || echo '{}'
cat "${CLAUDE_PLUGIN_ROOT}/scripts/registry.json" 2>/dev/null || echo '{}'

Display the full settings menu as text (for reference), then use batched AskUserQuestion calls (max 4 options each) to let the user pick a category:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS > SETTINGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 PROFILE:       Owner=[value] | TZ=[value] | Style=[value]
 CHANNELS:      Email=[✓/✗] | WA=[✓/✗] | Slack=[✓/✗] | Telegram=[✓/✗]
 INTEGRATIONS:  AWS=[value] | Sentry=[value] | Linear=[value]
 PROJECTS:      [N] registered
 PLUGIN:        v[version]
──────────────────────────────────────────────────────

Use AskUserQuestion (max 4 options):

What would you like to configure?
  [Profile (name/timezone/style)]
  [Channels (email/WA/slack/telegram)]
  [Integrations & Projects]
  [Back to dashboard]

On "Profile": use AskUserQuestion with [Owner name], [Timezone], [Briefing style], [Back]. On "Channels": use AskUserQuestion with the 4 channel names (fits in one call). On "Integrations & Projects": use AskUserQuestion with [AWS/Sentry/Linear], [View registry], [Add/remove project], [Update plugin / Re-run setup].

For each option, use AskUserQuestion to get the new value, then write to preferences.json or registry.json.

Writing preferences:

PREFS="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json"
# Read existing, merge update, write back
jq --arg key "owner" --arg val "$NEW_VALUE" '.[$key] = $val' "$PREFS" > "${PREFS}.tmp" && mv "${PREFS}.tmp" "$PREFS"

After each change, confirm success and return to the settings menu. User can keep making changes or press b to go back.


Share sub-menu (option g)

When user selects g, generate a shareable summary of their ops setup:

Display the share header, then use batched AskUserQuestion (max 4 options per call):

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS > SHARE YOUR SETUP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

AskUserQuestion call 1:

  [Share on X (Twitter)]
  [Share via Slack]
  [Share via Email]
  [More...]

AskUserQuestion call 2 (only if "More..."):

  [Copy to clipboard]
  [Export setup guide (markdown)]
  [Back to dashboard]

Share content generation

Generate a share-ready message. Never include secrets, tokens, or private project names. Only share:

  • Plugin version
  • Number of integrations configured
  • Number of projects managed
  • OS and system info
  • Feature highlights used

Template:

I'm running my business from Claude Code with claude-ops v0.3.1

Setup: [N] projects | [N] channels | [OS]
Features: Morning briefing, inbox zero, fire alerts, C-suite AI analysis, system optimizer

Try it: /plugin marketplace add ops-marketplace

#ClaudeCode #DevOps #AI

Share actions

OptionAction
X/TwitterCopy text to clipboard + open https://twitter.com/intent/tweet?text=... via open (macOS) or xdg-open (Linux)
SlackSend via /ops:ops-comms slack with generated message
EmailDraft via gog gmail send or copy to clipboard
Clipboardpbcopy (macOS) / xclip -selection clipboard (Linux) / clip.exe (WSL)
ExportWrite a ~/.claude-ops-setup.md file with full (sanitized) setup guide for sharing with teammates

FAQ sub-menu (option h)

When user selects h:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS > HELP & FAQ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 QUICK START
 1) What is claude-ops?
 2) How do I set up channels?
 3) How does YOLO mode work?
 4) What data does ops collect?

 COMMANDS
 5) Full command reference
 6) Keyboard shortcuts

 TROUBLESHOOTING
 7) MCP server disconnected
 8) WhatsApp not connecting
 9) Telegram auth issues
 10) Channel not showing unread

 LINKS
 w) Wiki — github.com/Lifecycle-Innovations-Limited/claude-ops/wiki
 r) README — github.com/Lifecycle-Innovations-Limited/claude-ops
 i) Issues — github.com/Lifecycle-Innovations-Limited/claude-ops/issues
 c) Changelog

──────────────────────────────────────────────────────
 b) Back to dashboard
──────────────────────────────────────────────────────

FAQ answers

#QuestionAnswer
1What is claude-ops?Business operations OS for Claude Code. Manages inbox, fires, deploys, PRs, revenue, and can run your business autonomously via YOLO mode.
2Channel setupRun /ops:setup — interactive wizard detects installed CLIs and walks you through each channel.
3YOLO modeSpawns 4 AI agents (CEO, CTO, CFO, COO) to analyze your business. Type YOLO to hand over controls — it processes inbox, fixes fires, merges PRs, and advances GSD phases.
4Data collectionAll data stays local. No telemetry. Registry and preferences are gitignored. Tokens stored in macOS keychain or env vars.
5Command referenceList all /ops:* commands with descriptions
6Shortcuts1-9, 0 for actions, a-h for power/comms/settings, b always goes back, q exits
7MCP disconnectedWait 5s and retry (auto-reconnect hook). After 3 fails, falls back to CLI tools.
8WhatsAppFirst check ~/.wacli/.health — if status is not connected, surface the auth warning before running wacli doctor. Check wacli doctor. If 405 error: rebuild from source. If store locked: kill $(pgrep wacli).
9TelegramNeeds user-auth (not bot). Run /ops:setup → Telegram section. API ID + hash from my.telegram.org.
10UnreadChannel must be configured in /ops:setup. Check ops-unread script output for errors.

For links (w, r, i): open in browser via open (macOS) or xdg-open (Linux).

For changelog (c): read and display ${CLAUDE_PLUGIN_ROOT}/CHANGELOG.md.

After each FAQ answer, offer b) Back to dashboard or h) Back to FAQ.


Return-to-dash loop

After ANY skill completes and returns control, re-render the dashboard by running the bin script again and re-entering the routing loop. This creates the "app within an app" experience — the user always comes back to the command center.

To re-render:

${CLAUDE_PLUGIN_ROOT}/bin/ops-dash 2>/dev/null

Then AskUserQuestion again for the next action.

Exception: If user types q, quit, or exit, end the session gracefully:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS > SESSION ENDED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

If $ARGUMENTS is back

Re-render the dashboard and enter routing loop.

If $ARGUMENTS is settings

Jump directly to settings sub-menu (skip dashboard render).

If $ARGUMENTS is share

Jump directly to share sub-menu.

If $ARGUMENTS is faq

Jump directly to FAQ sub-menu.

Setup gate

If the dashboard script outputs DASH_RENDER_FAILED or the preferences file doesn't exist, show:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS > SETUP REQUIRED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 Run /ops:setup to configure your integrations first.

Then invoke /ops:setup directly.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davepoon/buildwithclaude3.7천2026년 10월 19일 업데이트

Pull the ads a competitor is running right now on Meta (Facebook/Instagram) and Google, then extract the hooks, offers, CTAs and landing pages worth modelling. Use when writing ad copy, planning creative tests, choosing a landing page angle, or when the user asks "what is X advertising", "what ads does X run", "find competitor ad hooks". Reads live Ad Library and Ads Transparency data through the Tracetify MCP; falls back to a manual Ad Library walkthrough when the connector is absent.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davepoon/buildwithclaude3.7천2026년 10월 19일 업데이트

Analytics your AI agent can actually use. Track, analyze, run A/B experiments, and optimize across all your projects via CLI. Includes a growth playbook so your agent knows HOW to grow, not just what to track.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davepoon/buildwithclaude3.7천2026년 10월 19일 업데이트

Teaches when to recall from long-term memory before acting and when to save durable decisions, corrections and failures afterwards. Use when a memory tool or MCP memory server is connected but the agent is not using it consistently, when the user complains that the assistant forgets preferences, conventions or past decisions between sessions, or when setting up persistent memory for a project. Works with any memory backend: a folder of Markdown files, a local MCP server, or a managed service.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davepoon/buildwithclaude3.7천2026년 10월 19일 업데이트

Audit local AI coding-agent sessions with agenttrace for cost, tokens, tool failures, latency, anomalies, health, diffs, and CI gates.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davepoon/buildwithclaude3.7천2026년 10월 19일 업데이트

Checks which private files (.env, keys, secrets) Claude Code and its subagents reached in this project, whether a value came into an agent's context, and which key to change, by running the open source agentwhy CLI over the session records Claude Code already keeps on disk. Use when the user asks whether the agent or a subagent read their .env or other secrets, which private files a session touched, whether a key leaked into the conversation, or which key to rotate. Runs locally and never prints a secret value.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davepoon/buildwithclaude3.7천2026년 10월 19일 업데이트

davepoon의 스킬 모두 보기

이 스킬의 문제 신고