ops-revenue について
ops-revenueは、AWSコストと登録プロジェクトおよび設定済み外部ソースの収益データをまとめるClaudeスキルです。支出の推移や予測を表示し、コスト、クレジット、収益、ランウェイ別のレポートに切り替えられます。
主な機能
- 01サービス別・月別のAWSコスト集計
- 02コスト推移と月末予測の表示
- 03レジストリからプロジェクトの収益段階を取得
- 04外部プロジェクトとShopifyの収益を追加可能
- 05コスト、クレジット、収益、ランウェイ別の表示
活用シーン
- 01現在のAWS支出と予測の確認
- 02直近数か月のAWSコストの比較
- 03プロジェクトの収益パイプラインとインフラコストの確認
- 04クレジットの確認またはランウェイの計算
インストール
コマンドをコピーしてターミナルで実行します。
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.jsonを読み込みますtimezone— すべてのタイムスタンプを正しく表示します
-
デーモンの健全性:
${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 query cmd - 認証情報が利用できない場合は、「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 | Savings Plan の推奨 | 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(「その他...」の場合のみ):
[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]")