Skip to content
Back to skills

Output Dev Workflow Cost

ASecurity

Calculate and display the cost of an Output SDK workflow execution run. Use when checking LLM token costs, API service costs, or total spend for a specific workflow run.

  • 440 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aibashapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add growthxai/output --skill output-dev-workflow-cost --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Output Dev Workflow Cost?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Output Dev Workflow Cost
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/growthxai-output-dev-workflow-cost/badge)](https://www.skillsdirectory.com/skills/growthxai-output-dev-workflow-cost)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: output-dev-workflow-cost
description: Calculate and display the cost of an Output SDK workflow execution run. Use when checking LLM token costs, API service costs, or total spend for a specific workflow run.
allowed-tools: [Bash]
---

# Workflow Run Cost

## Overview

This skill helps you calculate the cost of a completed workflow execution using the Output CLI. It breaks down costs by LLM model (token usage) and external API service calls.

## When to Use This Skill

- Checking how much a workflow run cost in LLM tokens
- Analyzing API service spend per workflow execution
- Comparing costs between workflow runs
- Presenting cost data during a demo or review

---

## Step 1: Get a Workflow Run ID

The `workflow cost` command requires a **workflow run ID** — not the workflow name.

A run ID looks like: `process_transcripts_2026-03-23T19:35:17.000Z_c2biRk_F9rYktF-wagBf5`

### If you already have a run ID, skip to Step 2.

### If you don't have a run ID:

**Option A — List recent runs** (use skill: `output-workflow-runs-list`):
```bash
npx output workflow runs list <workflowName> --limit 5
```
Copy the run ID from the most recent completed run.

**Option B — Run the workflow now and capture the ID:**

If you know the input, run it synchronously and the run ID will be in the output:
```bash
npx output workflow run <workflowName> --input '{"key": "value"}'
```

Or asynchronously (use skill: `output-workflow-start`):
```bash
npx output workflow start <workflowName> --input '{"key": "value"}'
# Returns: Workflow ID: <runId>
```

If you don't know the input, check for a scenario file (use skill: `output-dev-scenario-file`) or the workflow's `inputSchema` in its `types.ts`.

> **Note:** The workflow **name** (e.g. `process_transcripts`) identifies the workflow type. The workflow **run ID** (e.g. `process_transcripts_2026-03-23T19:35:17.000Z_abc123`) identifies a specific execution. `workflow cost` requires the run ID.

---

## Step 2: Calculate the Cost

### Basic usage (text output):
```bash
npx output workflow cost <runId>
```

### With a local trace file:
```bash
npx output workflow cost <runId> path/to/trace.json
```

### JSON output (for programmatic use or display):
```bash
npx output workflow cost <runId> --json
```

### Verbose — show per-call breakdown:
```bash
npx output workflow cost <runId> --verbose
```

### All flags:

| Flag | Description | Default |
|------|-------------|---------|
| `--json` | Output machine-readable JSON instead of the text report | `false` |
| `--verbose` | Show detailed per-LLM-call breakdown | `false` |

---

## Understanding the Output

### Text format example:

> Pricing values are illustrative — the model and per-token rates shown below were current as of 2026-05-04. Live pricing comes from [models.dev](https://models.dev). For current model IDs, see [`output-dev-model-selection`](../output-dev-model-selection/SKILL.md).

Costs come in two figures per row: **Original** is the as-charged cost recorded
in the trace attributes (`llm:generation:cost` / `http:request:cost`, with
`llm:generation:usage` and legacy `llm:usage` fallbacks), and **Adjusted** is
the cost after applying any `costs.yml` override (equal to Original when no
override applies). The bottom line and JSON `totalCost` are the Adjusted total.

```
Workflow: process_transcripts
Duration: 12.3s

LLM Costs:
  Model              | Calls | Original | Adjusted
  claude-sonnet-4-6  |     3 |  $0.0123 |  $0.0123
  Subtotal           |     3 |  $0.0123 |  $0.0123

API Costs:
  Host       | Calls | Original | Adjusted
  r.jina.ai  |     2 |  $0.0040 |  $0.0040
  Subtotal   |     2 |  $0.0040 |  $0.0040

TOTAL ESTIMATED COST (adjusted)   $0.0163
As-charged (from trace)           $0.0163
```

API Costs only include calls where the client attached a dollar amount with `addRequestCost` (see `output-dev-http-client-create`, "Attaching Request Cost (Paid APIs)"). An HTTP call that never calls `addRequestCost` is still traced but contributes nothing here — that's expected for free or internal services, and a gap to fix for paid ones.

### JSON format fields:
```json
{
  "workflowName": "process_transcripts",
  "durationMs": 12300,
  "llmOriginalCost": 0.0123,
  "llmAdjustedCost": 0.0123,
  "totalInputTokens": 1234,
  "totalOutputTokens": 567,
  "httpCosts": [{ "host": "r.jina.ai", "originalTotalCost": 0.004, "adjustedTotalCost": 0.004 }],
  "httpOriginalCost": 0.004,
  "httpAdjustedCost": 0.004,
  "originalTotalCost": 0.0163,
  "totalCost": 0.0163
}
```

Per-call entries in `llmCalls` and `httpCosts[].calls` carry `originalCost` and
`adjustedCost`. (Older releases exposed `llmTotalCost`, `services[]`,
`serviceTotalCost`, and `unknownModels` — replaced by the fields above.)

---

## Examples

**Get cost of the last run:**
```bash
# First get the run ID
npx output workflow runs list process_transcripts --limit 1 --json

# Then get the cost
npx output workflow cost process_transcripts_2026-03-23T19:35:17.000Z_abc123
```

**Get cost as JSON and extract total:**
```bash
npx output workflow cost <runId> --json | jq '.totalCost'
```

**Show full per-call breakdown:**
```bash
npx output workflow cost <runId> --verbose
```

---

## Related Skills

- `output-workflow-runs-list` — Find run IDs from execution history
- `output-workflow-start` — Start a workflow and capture its run ID
- `output-workflow-run` — Run a workflow synchronously
- `output-dev-scenario-file` — Create or find scenario files for workflow input

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.