Skip to content
cccskills
FreePublished on GitHub

skill-cost-projections

Estimate remaining workflow costs from the average spend of completed steps. Show actual spending and projected totals in the status line, warn about configured budget overruns, and suggest a budget profile when estimated costs are high.

OriginalShow the original description

Project remaining workflow cost from per-phase averages — warns on budget ceiling overruns

See how to install

Good for

  • Estimating remaining costs during a workflow
  • Checking whether projected spending exceeds a budget
  • Displaying spending and estimates in the status line
  • Considering a budget profile when costs rise

Files included (2)

  • SKILL.md6.6 KB
  • agents/openai.yaml175 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

# 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 USD (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 USD, 0.50 USD, 0.40 USD → avg = 1.20 USD / 3 = 0.40 USD/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:

WorkflowTotal StepsExample Phases
embrace4Discover, Define, Develop, Deliver
research3-7Per-agent probe count
review3Fleet, Verifier, Synthesis
debate3Opening, Rebuttal, Synthesis

Step 4: Display in HUD

Format the cost projection for the HUD/statusline display.

Standard display:

💰 Spent: 2.40 USD | Est. remaining: 3.60 USD | Total: ~6.00 USD

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 USD (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} USD — projected to exceed by ${overage} USD"
  fi
fi

Display when over budget:

💰 Spent: 2.40 USD | Est. remaining: 3.60 USD | Total: ~6.00 USD
⚠️ Budget ceiling: 5.00 USD — projected to exceed by 1.00 USD

Display when within budget:

💰 Spent: 2.40 USD | Est. remaining: 3.60 USD | Total: ~6.00 USD
✅ Within budget ceiling: 10.00 USD

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 USD (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 USD | Est. remaining: 3.60 USD | Total: ~6.00 USD
💡 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 USD | Est. remaining: 3.60 USD | Total: ~6.00 USD

Over budget ceiling:

💰 Spent: 2.40 USD | Est. remaining: 3.60 USD | Total: ~6.00 USD
⚠️ Budget ceiling: 5.00 USD — projected to exceed by 1.00 USD
💡 Tip: Switch to OCTO_PROFILE=budget to reduce costs

Early in workflow (insufficient data):

💰 Spent: 0.42 USD (need 2+ steps for projection)

Low cost — no warnings:

💰 Spent: 0.80 USD | Est. remaining: 0.80 USD | Total: ~1.60 USD

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 USD (4 steps)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

council-verdicts

FreeSummary

Interpret the saved results of a completed AI council review. Count verdicts, check whether enough participants responded and whether models are independent, surface substantive dissent, and explain what action the outcome supports.

  • Explain a completed council review
  • Check vote counts and quorum
  • Assess model independence and dissent
nyldn/claude-octopus4.3KUpdated Oct 22, 2026

debate-kickoff

FreeSummary

Turn a technical choice into a structured debate between different AI model families. Assign explicit positions, launch the discussion, and summarize agreement, disagreement, and a recommendation supported by the strongest argument that survives the debate.

  • Compare Redis and Memcached for session storage
  • Debate monorepo versus polyrepo organization
  • Examine a technical choice from opposing positions
nyldn/claude-octopus4.3KUpdated Oct 22, 2026

flow-define

FreeSummary

Clarify a feature’s requirements with multiple AI providers, combining technical constraints with user and business needs. Produce a scoped definition covering priorities, edge cases, exclusions, and a requirements checklist before implementation begins.

  • Defining requirements for a user authentication system
  • Setting boundaries for a notification feature
  • Identifying technical constraints and edge cases
nyldn/claude-octopus4.3KUpdated Oct 22, 2026

flow-deliver

FreeSummary

Review code or documents with available AI providers before delivery. Combine findings into a scored validation report that checks prior requirements and decisions, separates critical issues from warnings, and recommends next steps.

  • Review authentication code before release
  • Check API readiness before deployment
  • Review a PRD for missing requirements
nyldn/claude-octopus4.3KUpdated Oct 22, 2026

flow-develop

FreeSummary

Develop complex features or business documents by gathering approaches from available AI providers. Combine their perspectives with prior project decisions and quality checks to produce a proposed plan, then proceed with implementation after user confirmation.

  • Planning and implementing a complex feature
  • Comparing approaches for an external service integration
  • Developing a product requirements document or strategy
nyldn/claude-octopus4.3KUpdated Oct 22, 2026

flow-discover

FreeSummary

Research technical or business questions through multiple available AI providers, each assigned a different perspective. Combine usable results into a report covering findings, disagreements, evidence gaps, priorities, and recommended next steps.

  • Compare libraries and technical approaches
  • Research markets and competitor strategies
  • Synthesize literature from multiple perspectives
nyldn/claude-octopus4.3KUpdated Oct 22, 2026

See all skills by nyldn

Report a problem with this skill