Agent Skillstriggerdotdev/trigger.dev › trigger-cost-savings

trigger-cost-savings

GitHub

分析 Trigger.dev 任务配置与运行数据,识别机器过大、重试过多等浪费,提供成本优化建议。

packages/trigger-sdk/skills/trigger-cost-savings/SKILL.md triggerdotdev/trigger.dev

Trigger Scenarios

减少支出 优化成本 审计使用情况 调整机器规格 审查任务效率

Install

npx skills add triggerdotdev/trigger.dev --skill trigger-cost-savings -g -y
More Options

Non-standard path

npx skills add https://github.com/triggerdotdev/trigger.dev/tree/main/packages/trigger-sdk/skills/trigger-cost-savings -g -y

Use without installing

npx skills use triggerdotdev/trigger.dev@trigger-cost-savings

指定 Agent (Claude Code)

npx skills add triggerdotdev/trigger.dev --skill trigger-cost-savings -a claude-code -g -y

安装 repo 全部 skill

npx skills add triggerdotdev/trigger.dev --all -g -y

预览 repo 内 skill

npx skills add triggerdotdev/trigger.dev --list

SKILL.md

Frontmatter
{
    "name": "trigger-cost-savings",
    "type": "core",
    "library": "trigger.dev",
    "sources": [
        "docs\/how-to-reduce-your-spend.mdx",
        "docs\/machines.mdx",
        "docs\/runs\/max-duration.mdx",
        "docs\/queue-concurrency.mdx",
        "docs\/idempotency.mdx",
        "docs\/triggering.mdx",
        "docs\/errors-retrying.mdx",
        "docs\/limits.mdx"
    ],
    "description": "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).\n"
}

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:

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 retriesmaxAttempts > 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 waitssetTimeout/setInterval/sleep loops instead of wait.for().
  7. Short waitswait.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 taskslist_runs over period: "30d"/"7d"; find high total compute (duration × count), high failure rates, and large machines with short durations (over-provisioned).
  • 2b. Failure patternslist_runs with status: "FAILED"/"CRASHED"; separate transient (retryable) from permanent; suggest AbortTaskRunError for the latter; estimate wasted retry compute.
  • 2c. Machine utilizationget_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 frequencyget_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:

## Cost Optimization Report

### High impact
1. **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 impact
2. **Debounce `sync-user-data`** — 847 runs/day, often bursty.
   `debounce: { key: \`user-${userId}\`, delay: "5s" }`

### Low impact / best practice
3. **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:

Preset vCPU RAM Relative cost
micro 0.25 0.25 GB 0.25x
small-1x 0.5 0.5 GB 1x (baseline)
small-2x 1 1 GB 2x
medium-1x 1 2 GB 2x
medium-2x 2 4 GB 4x
large-1x 4 8 GB 8x
large-2x 8 16 GB 16x

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/.

Version History

  • 4474718 Current 2026-08-20 07:40

Same Skill Collection

.claude/skills/span-timeline-events/SKILL.md
.claude/skills/trigger-dev-tasks/SKILL.md
packages/cli-v3/skills/trigger-cost-savings/SKILL.md
.claude/skills/errors-api-e2e/SKILL.md
packages/cli-v3/skills/trigger-authoring-chat-agent/SKILL.md
packages/cli-v3/skills/trigger-authoring-tasks/SKILL.md
packages/cli-v3/skills/trigger-chat-agent-advanced/SKILL.md
packages/cli-v3/skills/trigger-getting-started/SKILL.md
packages/trigger-sdk/skills/trigger-authoring-chat-agent/SKILL.md
packages/trigger-sdk/skills/trigger-authoring-tasks/SKILL.md
packages/trigger-sdk/skills/trigger-chat-agent-advanced/SKILL.md

Metadata

Files
0
Version
4474718
Hash
16305a1f
Indexed
2026-08-20 07:40

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-27 07:59
浙ICP备14020137号-1 $Carte des visiteurs$