技能 cost Projecti
- 作者仓库星标 3,406
- 作者仓库 claude-octopus
Host: Codex CLI — This skill was designed for Claude Code and adapted for Codex. Cross-reference commands use installed skill names in Codex rather than
/octo:*slash commands. Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it. For host tool equivalents, seeskills/blocks/codex-host-adapter.md.
Cost Projections Skill
Overview
Projects remaining workflow cost based on per-phase averages from completed work. Displays cost data in the HUD/statusline and warns when projected totals exceed a configured budget ceiling.
Minimum data requirement: Needs 2+ completed steps before projecting. With fewer than 2 data points, the average is unreliable — display actual spend only and skip projection.
Step 1: Collect Completed Phase Costs
Read cost data from ~/.claude-octopus/metrics/ or from metrics-tracker.sh output. Each completed phase/step should have an associated cost entry.
# Read metrics from the session metrics directory
METRICS_DIR="$HOME/.claude-octopus/metrics"
SESSION_METRICS="$METRICS_DIR/session-$(date +%Y%m%d).jsonl"
# Each line contains: {"phase": "discover", "cost": 0.42, "tokens_in": 12000, "tokens_out": 3400, "timestamp": "..."}
# Sum costs from completed steps
completed_costs=$(jq -s '[.[].cost]' "$SESSION_METRICS")
completed_count=$(jq -s 'length' "$SESSION_METRICS")
total_spent=$(jq -s '[.[].cost] | add' "$SESSION_METRICS")
Data sources (in priority order):
~/.claude-octopus/metrics/session-*.jsonl— structured per-phase cost entriesmetrics-tracker.shoutput — fallback for legacy sessions- HUD accumulated cost counters — last resort
If fewer than 2 completed steps are available, display only actual spend:
💰 Spent: $0.42 (1 step complete — need 2+ for projection)
Step 2: Compute Average Cost Per Step
Calculate the mean cost across all completed steps.
avg_cost=$(echo "$total_spent / $completed_count" | bc -l)
Formula:
avg_cost = total_cost / completed_steps
Example: If 3 steps cost $0.30, $0.50, $0.40 → avg = $1.20 / 3 = $0.40/step
Step 3: Project Remaining Cost
Multiply the average cost per step by the number of remaining steps.
remaining_steps=$((total_steps - completed_count))
projected_remaining=$(echo "$avg_cost * $remaining_steps" | bc -l)
projected_total=$(echo "$total_spent + $projected_remaining" | bc -l)
Formula:
projected_remaining = avg_cost × remaining_steps
projected_total = total_spent + projected_remaining
Step counts by workflow type:
| Workflow | Total Steps | Example Phases |
|---|---|---|
| embrace | 4 | Discover, Define, Develop, Deliver |
| research | 3-7 | Per-agent probe count |
| review | 3 | Fleet, Verifier, Synthesis |
| debate | 3 | Opening, Rebuttal, Synthesis |
Step 4: Display in HUD
Format the cost projection for the HUD/statusline display.
Standard display:
💰 Spent: $2.40 | Est. remaining: $3.60 | Total: ~$6.00
Format rules:
- All dollar amounts to 2 decimal places
- Projected total prefixed with
~to indicate estimate - Use
💰prefix for the cost line - Show in a single compact line for statusline integration
When insufficient data (< 2 steps):
💰 Spent: $0.42 (need 2+ steps for projection)
Integration: This display line is emitted by the octopus-hud hook and rendered in the statusline alongside phase progress and provider status.
Step 5: Budget Ceiling Warning
If the OCTO_BUDGET_CEILING environment variable is set, compare the projected total against it and warn on overrun.
if [[ -n "${OCTO_BUDGET_CEILING:-}" ]]; then
ceiling="$OCTO_BUDGET_CEILING"
if (( $(echo "$projected_total > $ceiling" | bc -l) )); then
overage=$(echo "$projected_total - $ceiling" | bc -l)
echo "⚠️ Budget ceiling: \$$ceiling — projected to exceed by \$$overage"
fi
fi
Display when over budget:
💰 Spent: $2.40 | Est. remaining: $3.60 | Total: ~$6.00
⚠️ Budget ceiling: $5.00 — projected to exceed by $1.00
Display when within budget:
💰 Spent: $2.40 | Est. remaining: $3.60 | Total: ~$6.00
✅ Within budget ceiling: $10.00
Note: OCTO_BUDGET_CEILING is optional. When unset, no ceiling check is performed.
Step 6: Profile Suggestion
If the projected total is high relative to the task, suggest switching to the budget profile to reduce costs.
# Suggest budget profile when projected total exceeds $5.00 (configurable)
COST_THRESHOLD="${OCTO_COST_THRESHOLD:-5.00}"
if (( $(echo "$projected_total > $COST_THRESHOLD" | bc -l) )); then
echo "💡 Tip: Switch to OCTO_PROFILE=budget to reduce costs"
fi
Display:
💰 Spent: $2.40 | Est. remaining: $3.60 | Total: ~$6.00
💡 Tip: Switch to OCTO_PROFILE=budget to reduce costs
The budget profile (OCTO_PROFILE=budget) routes to cheaper models and reduces agent count to minimize spend.
Complete Display Examples
Normal — within budget, moderate cost:
💰 Spent: $2.40 | Est. remaining: $3.60 | Total: ~$6.00
Over budget ceiling:
💰 Spent: $2.40 | Est. remaining: $3.60 | Total: ~$6.00
⚠️ Budget ceiling: $5.00 — projected to exceed by $1.00
💡 Tip: Switch to OCTO_PROFILE=budget to reduce costs
Early in workflow (insufficient data):
💰 Spent: $0.42 (need 2+ steps for projection)
Low cost — no warnings:
💰 Spent: $0.80 | Est. remaining: $0.80 | Total: ~$1.60
Integration
With octopus-hud hook
The cost projection line is rendered as part of the HUD statusline output, updated after each phase completes.
With metrics-tracker.sh
Reads per-phase cost data written by the metrics tracker. Each completed phase logs cost, token counts, and provider details.
With OCTO_PROFILE
When OCTO_PROFILE=budget is active, the projection accounts for reduced per-step costs from cheaper model routing.
Error Handling
No metrics directory:
💰 Cost projection unavailable — no metrics data found
Corrupted metrics data: Skip malformed entries and project from valid data only. If no valid entries remain, show unavailable message.
Zero remaining steps: When all steps are complete, show final total only:
💰 Final cost: $4.80 (4 steps)- 流狐分类
- AI 智能
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @nyldn · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- Shell 执行
- 读取环境变量
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
# Complete Display Examples
💰 Spent: $2.40 | Est. remaining: $3.60 | Total: ~$6.00 Read cost data from ~/.claude-octopus/metrics/ or from metrics-tracker.sh output. Each completed phase/step should have an associated cost entry. Data sources (in priority order): ~/.claude-octopus/metrics/session-.jsonl — structured per-phase cost entries
Calculate the mean cost across all completed steps. Formula: Example: If 3 steps cost $0.30, $0.50, $0.40 → avg = $1.20 / 3 = $0.40/step
Multiply the average cost per step by the number of remaining steps. Formula: Step counts by workflow type:
Format the cost projection for the HUD/statusline display. Standard display: Format rules:
If the OCTOBUDGETCEILING environment variable is set, compare the projected total against it and warn on overrun. Display when over budget: Display when within budget:
If the projected total is high relative to the task, suggest switching to the budget profile to reduce costs. Display: The budget profile (OCTOPROFILE=budget) routes to cheaper models and reduces agent count to minimize spend.
> **Host: Codex CLI** — This skill was designed for Claude Code and adapted for Codex.
> Cross-reference commands use installed skill names in Codex rather than `/octo:*` slash commands.
> Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it.
> For host tool equivalents, see `skills/blocks/codex-host-adapter.md`.
# Cost Projections Skill
## Overview
Projects remaining workflow cost based on per-phase averages from completed work. Displays cost data in the HUD/statusline and warns when projected totals exceed a configured budget ceiling.
**Minimum data requirement:** Needs **2+ completed steps** before projecting. With fewer than 2 data points, the average is unreliable — display actual spend only and skip projection.
## Step 1: Collect Completed Phase Costs
Read cost data from `~/.claude-octopus/metrics/` or from metrics-tracker.sh output. Each completed phase/step should have an associated cost entry.
```bash
# Read metrics from the session metrics directory
METRICS_DIR="$HOME/.claude-octopus/metrics"
SESSION_METRICS="$METRICS_DIR/session-$(date +%Y%m%d).jsonl"
# Each line contains: {"phase": "discover", "cost": 0.42, "tokens_in": 12000, "tokens_out": 3400, "timestamp": "..."}
# Sum costs from completed steps
completed_costs=$(jq -s '[.[].cost]' "$SESSION_METRICS")
completed_count=$(jq -s 'length' "$SESSION_METRICS")
total_spent=$(jq -s '[.[].cost] | add' "$SESSION_METRICS")
```
**Data sources (in priority order):**
1. `~/.claude-octopus/metrics/session-*.jsonl` — structured per-phase cost entries
2. `metrics-tracker.sh` output — fallback for legacy sessions
3. HUD accumulated cost counters — last resort
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Overview → Step 1: Collect Completed Phase Costs → Step 2: Compute Average Cost Per Step → Step 3: Project Remaining Cost → Step 4: Display in HUD → Step 5: Budget Ceiling Warning
要点 -> Host: Codex CLI · Minimum data requirement · 2+ completed steps · Data sources (in priority order) · Formula · Example · Step counts by workflow type · Standard display
文件/命令 -> /octo: · skills/blocks/codex-host-adapter.md · ~/.claude-octopus/metrics/ · ~/.claude-octopus/metrics/session-.jsonl · metrics-tracker.sh · OCTOBUDGETCEILING · OCTOPROFILE=budget
内容 SHA-256 -> 5a4d32f87b81
方法与流程
适用与边界
原文中的明确线索
/octo:、skills/blocks/codex-host-adapter.md、~/.claude-octopus/metrics/、~/.claude-octopus/metrics/session-.jsonl、metrics-tracker.sh、OCTOBUDGETCEILING、OCTOPROFILE=budget