Trigger Cost Savings

triggerdotdev/skills/trigger-cost-savings

作者 triggerdotdeve0f9f87153d1無授權條款33 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫5 週前更新

Analyze Trigger.dev tasks, schedules, and runs for cost optimization opportunities. Use when asked to reduce spend, optimize costs, audit usage, right-size machines, or review task efficiency. Combines static source analysis with live run analysis via the Trigger.dev MCP tools (list_runs, get_run_details, get_current_worker).

AI 產生的概覽

分析 Trigger.dev 的工作、排程與執行紀錄,找出降低成本的機會並產出依優先順序排列的報告。

功能
此技能引導代理對 Trigger.dev 專案進行成本最佳化審查。它結合工作檔案的靜態原始碼分析(機器規格、maxDuration、重試、防抖、冪等性、輪詢、批次處理、排程頻率)與透過 Trigger.dev MCP 工具進行的即時執行分析。它會產出一份依優先順序排列的成本最佳化報告,包含預估影響與建議的設定變更,並附上機器規格的相對成本表。
適用情境
適用於被要求降低支出、最佳化成本、稽核用量、調整機器規格或審查 Trigger.dev 專案工作效率的情況。既適合審查工作原始碼,也適合審查近期的執行紀錄。
執行需求
即時執行分析需要 Trigger.dev MCP 伺服器工具 list_runs、get_run_details 與 get_current_worker;若無法使用,會提示使用者透過 npx trigger.dev@latest install-mcp 安裝。靜態原始碼分析不需要 MCP 工具即可完成。此外也需要能讀取隨附的 @trigger.dev/sdk 文件檔案。此技能未附帶任何指令碼。

Trigger.dev Cost Savings Analysis

Analyze task runs and configurations to find cost reduction opportunities. This skill pairs static source analysis with live run analysis via the Trigger.dev MCP server.

Before you start: read the canonical guidance

The authoritative, version-pinned cost guidance ships beside this skill. Read it first so your recommendations match the installed SDK version:

  • @trigger.dev/sdk/docs/how-to-reduce-your-spend.mdx — the canonical "reduce your spend" guide (machine sizing, idempotency de-dup, parallelism, retries, maxDuration, checkpointed waits, debounce).
  • Supporting references: @trigger.dev/sdk/docs/machines.mdx, runs/max-duration.mdx, queue-concurrency.mdx, idempotency.mdx, triggering.mdx (debounce + batch), errors-retrying.mdx (AbortTaskRunError).

Prerequisites: MCP tools

Live run analysis needs the Trigger.dev MCP server. Verify these tools are available:

  • list_runs — list runs with filters (status, task, time period, machine size)
  • get_run_details — get run logs, duration, and status
  • get_current_worker — get registered tasks and their configurations

If they're not available, tell the user to install the MCP server:

bash
npx trigger.dev@latest install-mcp

Without the MCP tools you can still do the static source analysis below; do not fabricate run data.

Analysis workflow

Step 1: Static analysis (source code)

Scan task files for:

  1. Oversized machines — tasks on large-1x/large-2x without clear need.
  2. Missing maxDuration — no execution-time limit (runaway-cost risk).
  3. Excessive retries — maxAttempts > 5 without AbortTaskRunError for known-permanent failures.
  4. Missing debounce — high-frequency triggers without debounce.
  5. Missing idempotency — payment/critical tasks without idempotency keys.
  6. Polling instead of waits — setTimeout/setInterval/sleep loops instead of wait.for().
  7. Short waits — wait.for() under 5 seconds (not checkpointed, wastes compute).
  8. Sequential instead of batch — multiple triggerAndWait() calls that could be batchTriggerAndWait().
  9. Over-scheduled crons — schedules firing more often than needed.

Step 2: Run analysis (requires MCP tools)

  • 2a. Expensive tasks — list_runs over period: "30d"/"7d"; find high total compute (duration × count), high failure rates, and large machines with short durations (over-provisioned).
  • 2b. Failure patterns — list_runs with status: "FAILED"/"CRASHED"; separate transient (retryable) from permanent; suggest AbortTaskRunError for the latter; estimate wasted retry compute.
  • 2c. Machine utilization — get_run_details on sample runs; if a large-2x task consistently runs in under a second, or is I/O-bound (API/DB), it's over-provisioned.
  • 2d. Schedule frequency — get_current_worker to list cron patterns; flag schedules that are too frequent for their purpose.

Step 3: Generate recommendations

Present a prioritized report with estimated impact:

markdown
## Cost Optimization Report
### High impact1. **Right-size `process-images`** — currently `large-2x`, average run 2s. `small-2x` could cut this task's cost by ~16x.   `machine: { preset: "small-2x" }`  // was "large-2x"
### Medium impact2. **Debounce `sync-user-data`** — 847 runs/day, often bursty.   `debounce: { key: \`user-${userId}\`, delay: "5s" }`
### Low impact / best practice3. **Add `maxDuration` to `generate-report`** — no timeout configured.   `maxDuration: 300`  // 5 minutes

Machine preset costs (relative)

Larger machines cost proportionally more per second of compute:

PresetvCPURAMRelative cost
micro0.250.25 GB0.25x
small-1x0.50.5 GB1x (baseline)
small-2x11 GB2x
medium-1x12 GB2x
medium-2x24 GB4x
large-1x48 GB8x
large-2x816 GB16x

Key principles

  • Waits > 5 seconds are free — checkpointed, no compute charge.
  • Start small, scale up — the default small-1x is right for most tasks.
  • I/O-bound tasks don't need big machines — API calls and DB queries wait on the network.
  • Debounce saves the most on high-frequency tasks — it consolidates bursts into single runs.
  • Idempotency prevents duplicate billed work — especially for expensive operations.
  • AbortTaskRunError stops wasteful retries — don't pay to retry permanent failures.

Version

This skill is bundled inside @trigger.dev/sdk and read directly from node_modules, so it always matches your installed SDK version (see the adjacent package.json). The full cost documentation ships alongside it under @trigger.dev/sdk/docs/.

來源與署名

來源:triggerdotdev/skills位於trigger-cost-savings提交e0f9f87

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架