关于 ops-revenue
ops-revenue 是用于汇总 AWS 成本及注册项目和已配置外部来源收入数据的 Claude 技能。它可展示支出趋势与预测,并可按成本、额度、收入或资金 runway 查看报告。
主要功能
- 01按服务和月份汇总 AWS 成本
- 02展示成本趋势和月末预测
- 03从注册表读取项目收入阶段
- 04可纳入外部项目及 Shopify 收入
- 05按成本、额度、收入或 runway 生成报告
适用场景
- 01查看当前 AWS 支出和预测
- 02比较近几个月的 AWS 成本
- 03将项目收入管线与基础设施成本并看
- 04检查额度或计算资金 runway
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill ops-revenue安装后在 Claude Code 中输入/ops-revenue确认已加载。
详细介绍
OPS ► 收入与成本
运行时上下文
执行前,加载可用上下文:
-
偏好设置:读取
${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.jsontimezone— 正确显示所有时间戳
-
守护进程健康状况:读取
${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json- 如果
action_needed不为 null → 在成本报告前显示该内容
- 如果
-
密钥:AWS Cost Explorer 需要凭证。
密钥解析
- AWS:检查
$AWS_PROFILE/$AWS_ACCESS_KEY_ID→doppler secrets get AWS_ACCESS_KEY_ID --plain→ 使用偏好设置中的 vault 查询命令 - 如果没有可用凭证,报告 “AWS 成本不可用 — 未配置凭证”,并仅显示注册表中的收入管道
- 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