mcpField
O
ops-revenue

ops-revenue

github.com/davepoonデータ・データベース3.7k69 回インストール今日更新
リポジトリ

ops-revenue について

ops-revenueは、AWSコストと登録プロジェクトおよび設定済み外部ソースの収益データをまとめるClaudeスキルです。支出の推移や予測を表示し、コスト、クレジット、収益、ランウェイ別のレポートに切り替えられます。

主な機能

  1. 01サービス別・月別のAWSコスト集計
  2. 02コスト推移と月末予測の表示
  3. 03レジストリからプロジェクトの収益段階を取得
  4. 04外部プロジェクトとShopifyの収益を追加可能
  5. 05コスト、クレジット、収益、ランウェイ別の表示

活用シーン

  1. 01現在のAWS支出と予測の確認
  2. 02直近数か月のAWSコストの比較
  3. 03プロジェクトの収益パイプラインとインフラコストの確認
  4. 04クレジットの確認またはランウェイの計算

インストール

コマンドをコピーしてターミナルで実行します。

$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 query cmd
    • 認証情報が利用できない場合は、「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 jsonSavings 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 による振り分け

引数アクション
costsAWS のコスト内訳のみを表示します
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]")

コメント