Agent Skillsnyldn/claude-octopus › skill-cost-projections

skill-cost-projections

GitHub

基于已完成步骤的平均成本预测工作流剩余费用,并在HUD中展示。当预估总成本超过预算上限时发出警告,需至少2个完成步骤以保证预测可靠性。

.claude/skills/skill-cost-projections/SKILL.md nyldn/claude-octopus

Trigger Scenarios

需要预测工作流剩余成本时 检查是否超出预算上限时

Install

npx skills add nyldn/claude-octopus --skill skill-cost-projections -g -y
More Options

Non-standard path

npx skills add https://github.com/nyldn/claude-octopus/tree/main/.claude/skills/skill-cost-projections -g -y

Use without installing

npx skills use nyldn/claude-octopus@skill-cost-projections

指定 Agent (Claude Code)

npx skills add nyldn/claude-octopus --skill skill-cost-projections -a claude-code -g -y

安装 repo 全部 skill

npx skills add nyldn/claude-octopus --all -g -y

预览 repo 内 skill

npx skills add nyldn/claude-octopus --list

SKILL.md

Frontmatter
{
    "name": "skill-cost-projections",
    "paths": [
        "**\/.claude-octopus\/**",
        "**\/analytics\/**"
    ],
    "effort": "low",
    "aliases": [
        "cost-projections",
        "cost-forecast",
        "budget-projection"
    ],
    "trigger": "EXPLICITLY USE when user asks about workflow costs:\n- \"cost projection\", \"estimate remaining cost\"\n- \"budget forecast\", \"how much will this cost\"\n- \"project cost\", \"cost estimate\", \"spending forecast\"\n- \"what's the cost so far\", \"am I over budget\"\n\nDO NOT activate for:\n- General pricing questions about API models\n- One-time cost lookups unrelated to a running workflow\n- Provider availability or configuration questions\n",
    "description": "Project remaining workflow cost from per-phase averages — warns on budget ceiling overruns",
    "disable-model-invocation": true
}

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):

  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

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)

Version History

  • 242e51d Current 2026-08-20 09:29

Same Skill Collection

.claude/skills/extract-skill/SKILL.md
.claude/skills/flow-deliver/SKILL.md
.claude/skills/flow-parallel/SKILL.md
.claude/skills/flow-spec/SKILL.md
.claude/skills/skill-agent-topology/SKILL.md
.claude/skills/skill-architecture/SKILL.md
.claude/skills/skill-audit/SKILL.md
.claude/skills/skill-authoring/SKILL.md
.claude/skills/skill-claw/SKILL.md
.claude/skills/skill-code-review/SKILL.md
.claude/skills/skill-content-pipeline/SKILL.md
.claude/skills/skill-context-detection/SKILL.md
.claude/skills/skill-copilot-provider/SKILL.md
.claude/skills/skill-coverage-audit/SKILL.md
.claude/skills/skill-debate/SKILL.md
.claude/skills/skill-debug/SKILL.md
.claude/skills/skill-decision-support/SKILL.md
.claude/skills/skill-deck/SKILL.md
.claude/skills/skill-deep-research/SKILL.md
.claude/skills/skill-design-lineage/SKILL.md
.claude/skills/skill-doc-delivery/SKILL.md
.claude/skills/skill-doc-sync/SKILL.md
.claude/skills/skill-doctor/SKILL.md
.claude/skills/skill-factory/SKILL.md
.claude/skills/skill-finish-branch/SKILL.md
.claude/skills/skill-intake/SKILL.md
.claude/skills/skill-intent-contract/SKILL.md
.claude/skills/skill-issues/SKILL.md
.claude/skills/skill-iterative-loop/SKILL.md
.claude/skills/skill-knowledge-work/SKILL.md
.claude/skills/skill-meta-prompt/SKILL.md
.claude/skills/skill-native-escalation-routing/SKILL.md
.claude/skills/skill-parallel-agents/SKILL.md
.claude/skills/skill-prd/SKILL.md
.claude/skills/skill-pressure-test/SKILL.md
.claude/skills/skill-quick/SKILL.md
.claude/skills/skill-resume/SKILL.md
.claude/skills/skill-review-response/SKILL.md
.claude/skills/skill-rollback/SKILL.md
.claude/skills/skill-security-audit/SKILL.md
.claude/skills/skill-security-framing/SKILL.md
.claude/skills/skill-ship/SKILL.md
.claude/skills/skill-staged-review/SKILL.md
.claude/skills/skill-status/SKILL.md
.claude/skills/skill-task-management-v2/SKILL.md
.claude/skills/skill-tdd/SKILL.md
.claude/skills/skill-thought-partner/SKILL.md
.claude/skills/skill-ui-ux-design/SKILL.md
.claude/skills/skill-verification-gate/SKILL.md

Metadata

Files
0
Version
242e51d
Hash
d10fae67
Indexed
2026-08-20 09:29

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-21 04:43
浙ICP备14020137号-1 $방문자$