🧪 Skills
Agent Usage Tracker
Track AI agent token usage, model costs, and budget thresholds with a TypeScript and SQLite workflow. Use when the user wants to instrument agent runs, calcu...
v0.1.0
Description
name: agent-usage-tracker description: Track AI agent token usage, model costs, and budget thresholds with a TypeScript and SQLite workflow. Use when the user wants to instrument agent runs, calculate token spend, enforce per-session or time-window budgets, or analyze usage by model, session, or time range.
Agent Usage Tracker
Use this skill when you need local token accounting for AI agents.
What it provides
- Real-time token usage persistence in SQLite
- Cost calculation based on per-model pricing
- Budget thresholds with persisted warning and blocking states
- Usage statistics grouped by time window, session, or model
Files to use
src/UsageTracker.ts: ingestion, storage, and reportingsrc/CostCalculator.ts: pricing catalog and cost mathsrc/BudgetManager.ts: budget policy evaluationexamples/basic-usage.ts: end-to-end usage exampletests/: reference behavior for tracking, budgeting, and aggregation
Recommended workflow
- Instantiate
UsageTrackerwith a SQLite path or:memory:for tests. - Register model pricing with
CostCalculator. - Record each agent interaction with prompt tokens, completion tokens, session id, and timestamp.
- Save reusable budgets with
BudgetManager.setBudget, then callevaluateBudgetbefore or after new work to warn or stop when a limit is exceeded. - Use
UsageTracker.getUsageSummaryorgetTimeSeriesfor reporting.
Integration notes
- Store token counts at the moment the provider returns usage metadata.
- Keep model ids normalized. Pricing lookup is exact by model id.
- Use
metadatafor provider-specific fields such as request id or tool name. - For sliding-window budgets, query usage by
startTimeandendTimebefore dispatching new work.
Output expectations
This skill ships as a local Node.js package with tests and examples. Extend CostCalculator if your provider pricing changes.
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!