mcpField
O
ops-revenue

ops-revenue

github.com/davepoonData & databases3.7k69 installsUpdated today
Repository

About ops-revenue

ops-revenue is a Claude skill for reporting AWS costs alongside revenue data from registered projects and configured external sources. It can show spending trends and forecasts, and route the report toward cost, credit, revenue, or runway details.

Key features

  1. 01Collects AWS costs by service and month
  2. 02Shows cost trends and end-of-month forecasts
  3. 03Reads project revenue stages from a registry
  4. 04Can include external project and Shopify revenue
  5. 05Routes reports by costs, credits, revenue, or runway

Use cases

  1. 01Review current AWS spending and forecasts
  2. 02Compare AWS costs across recent months
  3. 03View project revenue pipeline alongside infrastructure costs
  4. 04Check credits or calculate runway

Install

Copy the command and run it in a terminal.

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

After installing, type/ops-revenuein Claude Code to confirm it loaded.

Details

From the project README

OPS ► REVENUE & COSTS

Runtime Context

Before executing, load available context:

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

    • timezone — display all timestamps correctly
  2. Daemon health: Read ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json

    • If action_needed is not null → surface it before the cost report
  3. Secrets: AWS Cost Explorer requires credentials.

    Secret Resolution
    • AWS: check $AWS_PROFILE / $AWS_ACCESS_KEY_ID → doppler secrets get AWS_ACCESS_KEY_ID --plain → vault query cmd from prefs
    • If no credentials available, report "AWS costs unavailable — credentials not configured" and show only the revenue pipeline from registry

CLI/API Reference

aws CLI (Cost Explorer)
CommandUsageOutput
aws ce get-cost-and-usage --time-period Start=<YYYY-MM-DD>,End=<YYYY-MM-DD> --granularity MONTHLY --metrics "UnblendedCost" --group-by "Type=DIMENSION,Key=SERVICE" --output jsonCost by serviceCost JSON
aws ce get-cost-and-usage --time-period Start=<YYYY-MM-DD>,End=<YYYY-MM-DD> --granularity MONTHLY --metrics "UnblendedCost" --output jsonTotal costCost JSON
aws ce get-cost-forecast --time-period Start=<YYYY-MM-DD>,End=<YYYY-MM-DD> --metric "UNBLENDED_COST" --granularity MONTHLY --output jsonEnd-of-month forecastForecast JSON
aws ce list-savings-plans-purchase-recommendation --output jsonSavings plan recommendationsJSON

Phase 1 — Gather financial data in parallel

AWS costs (current month)
aws ce get-cost-and-usage \
  --time-period "Start=$(date +%Y-%m-01),End=$(date +%Y-%m-%d)" \
  --granularity MONTHLY \
  --metrics "UnblendedCost" \
  --group-by "Type=DIMENSION,Key=SERVICE" \
  --output json 2>/dev/null
AWS costs (last 3 months trend)
aws ce get-cost-and-usage \
  --time-period "Start=$(date -v-3m +%Y-%m-01 2>/dev/null || date -d '3 months ago' +%Y-%m-01),End=$(date +%Y-%m-%d)" \
  --granularity MONTHLY \
  --metrics "UnblendedCost" \
  --output json 2>/dev/null
AWS credits remaining
aws ce list-savings-plans-purchase-recommendation --output json 2>/dev/null || echo '{}'
aws ce get-credits --output json 2>/dev/null || echo "credits API unavailable"
AWS cost forecast (end of month)
aws ce get-cost-forecast \
  --time-period "Start=$(date +%Y-%m-%d),End=$(date +%Y-%m-28)" \
  --metric "UNBLENDED_COST" \
  --granularity MONTHLY \
  --output json 2>/dev/null
Project registry (revenue stage)
cat "${CLAUDE_PLUGIN_ROOT}/scripts/registry.json" 2>/dev/null | jq '[.projects[] | {alias, name, stage: (.revenue_stage // .revenue.stage // "pre-revenue"), mrr: (.mrr // 0), source: (.source // "git"), type: (.type // "repo")}]'
External project revenue (Shopify, custom SaaS)
${CLAUDE_PLUGIN_ROOT}/bin/ops-external 2>/dev/null || echo '[]'

For Shopify projects showing status: "healthy", pull GMV via Shopify Admin API:

# For each Shopify project in registry with valid credentials:
STORE_URL="[from project.shopify.store_url]"
TOKEN="[from env var named in project.shopify.credential_key]"
curl -s -H "X-Shopify-Access-Token: $TOKEN" \
  "https://$STORE_URL/admin/api/2024-10/orders.json?status=any&created_at_min=$(date -v-30d +%Y-%m-%dT00:00:00Z 2>/dev/null)&limit=250" 2>/dev/null

Include Shopify GMV in the revenue pipeline table with source=shopify.


Phase 2 — Render dashboard

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS ► REVENUE & COSTS — [month]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

AWS SPEND
 This month to date:  $[X]
 Forecast (EOM):      $[X]
 Last month:          $[X]
 MoM change:          [+/-X%]

 Top services:
 [service]  $[X]  ([%] of total)
 [service]  $[X]
 ...

CREDITS
 AWS credits remaining:  $[X]
 Expires:                [date]
 Burn rate at current:   [N months remaining]

REVENUE PIPELINE
 PROJECT        SOURCE     STAGE           MRR/GMV    STATUS
 ──────────────────────────────────────────────────────────────
 [project]      git        [stage]         $[X]       [status]
 [project]      shopify    [stage]         $[X] GMV   [status]
 [project]      custom     [stage]         $[X]       [status]
 ...
 ──────────────────────────────────────────────────────────────
 TOTAL MRR                                 $[X]
 TOTAL SHOPIFY GMV (30d)                   $[X]

RUNWAY ESTIMATE
 Monthly burn (AWS):  $[X]
 Total MRR:           $[X]
 Net burn:            $[X/month]
 Credits cover:       [N months]
 Cash runway:         [depends on external data]

──────────────────────────────────────────────────────

Use batched AskUserQuestion calls (max 4 options each):

AskUserQuestion call 1:

  [Drill into AWS costs by service]
  [Show cost anomalies (spike detection)]
  [Export cost report]
  [More...]

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

  [Update project revenue stage]
  [Set budget alert]

Route by $ARGUMENTS

ArgumentAction
costsShow only AWS cost breakdown
creditsShow only credits and expiry
revenueShow only revenue pipeline
runwayCalculate and show runway
(empty)Show full dashboard

Use AskUserQuestion after the dashboard for next action.


Native tool usage

WebFetch — billing API fallback

When aws ce commands fail or return incomplete data, use WebFetch to query the AWS Cost Explorer API directly. Also useful for fetching Stripe/billing provider data if configured.

Write — export reports

When user selects "Export cost report" (option c), use Write to save the report as a dated file:

Write(file_path: "/tmp/ops-revenue-[date].md", content: "[formatted report]")

Comments

Markdown supported