mcpField
O
ops-revenue

ops-revenue

github.com/davepoon数据与数据库3.7k69 次安装今天更新
代码仓库

关于 ops-revenue

ops-revenue 是用于汇总 AWS 成本及注册项目和已配置外部来源收入数据的 Claude 技能。它可展示支出趋势与预测,并可按成本、额度、收入或资金 runway 查看报告。

主要功能

  1. 01按服务和月份汇总 AWS 成本
  2. 02展示成本趋势和月末预测
  3. 03从注册表读取项目收入阶段
  4. 04可纳入外部项目及 Shopify 收入
  5. 05按成本、额度、收入或 runway 生成报告

适用场景

  1. 01查看当前 AWS 支出和预测
  2. 02比较近几个月的 AWS 成本
  3. 03将项目收入管线与基础设施成本并看
  4. 04检查额度或计算资金 runway

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/ops-revenue确认已加载。

详细介绍

OPS ► 收入与成本

运行时上下文

执行前,加载可用上下文:

  1. 偏好设置:读取 ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json

    • timezone — 正确显示所有时间戳
  2. 守护进程健康状况:读取 ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json

    • 如果 action_needed 不为 null → 在成本报告前显示该内容
  3. 密钥:AWS Cost Explorer 需要凭证。

    密钥解析
    • AWS:检查 $AWS_PROFILE / $AWS_ACCESS_KEY_ID → doppler secrets get AWS_ACCESS_KEY_ID --plain → 使用偏好设置中的 vault 查询命令
    • 如果没有可用凭证,报告 “AWS 成本不可用 — 未配置凭证”,并仅显示注册表中的收入管道

CLI/API 参考

aws CLI(Cost Explorer)
命令用法输出
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 json按服务统计成本成本 JSON
aws ce get-cost-and-usage --time-period Start=<YYYY-MM-DD>,End=<YYYY-MM-DD> --granularity MONTHLY --metrics "UnblendedCost" --output json总成本成本 JSON
aws ce get-cost-forecast --time-period Start=<YYYY-MM-DD>,End=<YYYY-MM-DD> --metric "UNBLENDED_COST" --granularity MONTHLY --output json月末预测预测 JSON
aws ce list-savings-plans-purchase-recommendation --output json节省计划建议JSON

阶段 1 — 并行收集财务数据

AWS 成本(本月)
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 成本(近 3 个月趋势)
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 积分
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 成本预测(月末)
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
项目注册表(收入阶段)
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")}]'
外部项目收入(Shopify、自定义 SaaS)
${CLAUDE_PLUGIN_ROOT}/bin/ops-external 2>/dev/null || echo '[]'

对于显示 status: "healthy" 的 Shopify 项目,通过 Shopify Admin API 获取 GMV:

# 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

在收入管道表格中加入 Shopify GMV,并将 source=shopify。


阶段 2 — 呈现仪表板

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 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]

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

使用批量 AskUserQuestion 调用(每次最多 4 个选项):

AskUserQuestion 调用 1:

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

AskUserQuestion 调用 2(仅当选择 “More...” 时):

  [Update project revenue stage]
  [Set budget alert]

根据 $ARGUMENTS 路由

参数操作
costs仅显示 AWS 成本明细
credits仅显示积分和到期时间
revenue仅显示收入管道
runway计算并显示资金可支撑时长
(empty)显示完整仪表板

仪表板显示后,使用 AskUserQuestion 询问下一步操作。


原生工具用法

WebFetch — 账单 API 后备方案

当 aws ce 命令失败或返回的数据不完整时,使用 WebFetch 直接查询 AWS Cost Explorer API。也可用于获取已配置的 Stripe/账单提供商数据。

Write — 导出报告

当用户选择“导出成本报告”(选项 c)时,使用 Write 将报告保存为带日期的文件:

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

评论

支持 Markdown