Costs
by Pedro-Jose-da-Rocha-Mendonca
View cost dashboard and spending analytics (project)
Skill Details
Repository Files
1 file in this skill directory
name: costs description: View cost dashboard and spending analytics (project)
Cost Dashboard Skill
Display Devflow cost tracking and spending analytics by reading session data directly.
Usage
/costs [options]
Options
| Option | Description |
|---|---|
| --period day | Show today's costs only |
| --period week | Show this week's costs |
| --period month | Show this month's costs (default) |
| --history N | Show last N sessions |
| --story KEY | Filter by story key |
Prompt
You are displaying the Devflow cost dashboard.
Arguments: $ARGUMENTS
Step 1: Read Configuration
Read the configuration file:
- Path:
tooling/.automation/costs/config.json
This contains:
budget_dev: Development budget (USD)subscription_plan: Current plan (free/pro)subscription_token_limit: Monthly token limitsubscription_billing_period_days: Days in billing perioddisplay_currencies: Currencies to showcurrency_rates: Exchange rates
Step 2: Find Session Files
Find all session files:
- Path pattern:
tooling/.automation/costs/sessions/*.json
Step 3: Read and Aggregate Session Data
For each session file, extract:
session_id: Session identifierstart_time/end_time: Timestampsstory_key: Associated story (if any)entries[]: Array of cost entries withmodel,input_tokens,output_tokens,cost_usdtotals: Aggregated totals for the session
Identify the most recent session as the "current session".
Step 4: Calculate Metrics
Calculate:
- Current session tokens/cost: From the most recent session
- Cumulative tokens: Sum of all tokens across ALL sessions this billing period
- Cumulative cost: Sum of all
cost_usdacross ALL sessions - Cost by model: Group costs by model (opus, sonnet, haiku)
- Cost by story: Group costs by story_key
- Budget usage: (cumulative_cost / budget_dev) * 100
- Subscription usage: (cumulative_tokens / subscription_token_limit) * 100
- Average cost per session: cumulative_cost / session_count
- Average tokens per session: cumulative_tokens / session_count
- Input/output ratio: total_input_tokens / total_output_tokens
- Days remaining: Calculate from billing period start
- Projected monthly cost: (cumulative_cost / days_elapsed) * 30
- Projected token usage: (cumulative_tokens / days_elapsed) * 30
Step 5: Apply Filters
Based on $ARGUMENTS:
--period day: Filter sessions from today only--period week: Filter sessions from last 7 days--period month: Filter sessions from last 30 days (default)--history N: Show only last N sessions--story KEY: Filter sessions matching story_key
Step 6: Format Output
Display the dashboard using this format:
=================================================================
DEVFLOW COST DASHBOARD
=================================================================
Plan: [plan] | Tokens: [cumulative]/[limit] ([%]%) | [days] days left
This Session: $[current_cost] | Cumulative: $[total_cost]
=================================================================
PERIOD: [period] SESSIONS: [count]
--- TOKEN USAGE ---------------------------------------------
This Session Cumulative
Input: [current_in] [total_in]
Output: [current_out] [total_out]
Total: [current_total] [total_total]
I/O Ratio: [ratio]:1 (higher = more input-heavy conversations)
--- COST BY MODEL -------------------------------------------
[model] $[cost] ([%]%) [bar]
--- COST BY STORY -------------------------------------------
[story-key] $[cost] ([%]%)
(no story) $[cost] ([%]%)
--- BUDGET STATUS -------------------------------------------
Spent: $[total] / $[budget] ([%]%)
[================================--------------------] [%]%
[WARNING] if > 75%: "Approaching budget limit!"
[CRITICAL] if > 90%: "Near budget limit - consider pausing"
--- PROJECTIONS (based on current usage rate) ---------------
Monthly token projection: [projected] / [limit] ([%]%)
Monthly cost projection: $[projected_cost]
Avg cost per session: $[avg_cost]
Avg tokens per session: [avg_tokens]
--- RECENT SESSIONS -----------------------------------------
[session_id] [date] [tokens] $[cost] [story or "-"]
[session_id] [date] [tokens] $[cost] [story or "-"]
[session_id] [date] [tokens] $[cost] [story or "-"]
(show last 5 sessions)
--- CURRENCIES ----------------------------------------------
$[USD] | E[EUR] | L[GBP] | R$[BRL]
=================================================================
Budget Warnings
Display warnings based on config thresholds:
- If budget usage >
warning_percent(75%): Show [WARNING] - If budget usage >
critical_percent(90%): Show [CRITICAL] - If subscription usage > 80%: Show token limit warning
Notes
- Format large numbers with K/M suffixes (e.g., 1.5K, 2.3M)
- Round costs to 2 decimal places
- Show percentages to 1 decimal place
- Use text-based progress bars with = and - characters
- Current session = most recent session file by timestamp
- Cumulative = sum of ALL sessions in the billing period
- If no sessions found, display a message indicating no cost data available
- Calculate days remaining: billing_period_days - days since first session of period
Related Skills
Attack Tree Construction
Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.
Grafana Dashboards
Create and manage production Grafana dashboards for real-time visualization of system and application metrics. Use when building monitoring dashboards, visualizing metrics, or creating operational observability interfaces.
Matplotlib
Foundational plotting library. Create line plots, scatter, bar, histograms, heatmaps, 3D, subplots, export PNG/PDF/SVG, for scientific visualization and publication figures.
Scientific Visualization
Create publication figures with matplotlib/seaborn/plotly. Multi-panel layouts, error bars, significance markers, colorblind-safe, export PDF/EPS/TIFF, for journal-ready scientific plots.
Seaborn
Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures.
Shap
Model interpretability and explainability using SHAP (SHapley Additive exPlanations). Use this skill when explaining machine learning model predictions, computing feature importance, generating SHAP plots (waterfall, beeswarm, bar, scatter, force, heatmap), debugging models, analyzing model bias or fairness, comparing models, or implementing explainable AI. Works with tree-based models (XGBoost, LightGBM, Random Forest), deep learning (TensorFlow, PyTorch), linear models, and any black-box model
Pydeseq2
Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.
Query Writing
For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations
Pydeseq2
Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.
Scientific Visualization
Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.
