.claude/skills/heygen-cost-tracker/SKILL.md
Budget management and cost tracking for HeyGen video production. Maintains a cost ledger, provides forecasts, and enforces monthly budget caps. Use when: checking HeyGen spend, forecasting batch costs, or reviewing production history.
npx skillsauth add CleanExpo/CCW-CRM heygen-cost-trackerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
heygen_settings.py)HEYGEN_MONTHLY_BUDGET_USD, default 50)data/heygen/cost-ledger.json
{
"video_id": "abc123def456",
"module": "products",
"video_type": "walkthrough",
"avatar_id": "josh_lite3_20230714",
"voice_id": "2d5b0e6cf36f460aa7fc47e3eee4ba54",
"duration_seconds": 118,
"cost_usd": 0.14,
"quality_verdict": "PASS",
"youtube_id": null,
"timestamp": "2026-03-31T22:15:00Z"
}
Calculate estimated cost for a production run:
cost = modules × (avg_duration / 60) × $0.07 × 1.1
Full suite estimates: | Tier | Videos | Duration | Cost | |------|--------|----------|------| | 1 — Core | 14 | ~23.5 min | ~$1.65 | | 2 — Secondary | 6 | ~6.0 min | ~$0.42 | | 3 — Overview | 4 | ~8.5 min | ~$0.60 | | All | 24 | ~38 min | ~$2.94 |
Append an entry to the cost ledger after each video completion.
Aggregate cost data:
Compare cumulative month-to-date spend against cap:
UNDER_BUDGET — proceed normallyAPPROACHING — >80% of cap used, warn before continuingOVER_BUDGET — halt all production, require manual overrideapps/backend/src/config/heygen_settings.py — cost_per_minute_usd = 0.07data/heygen/cost-ledger.json — the ledger file.claude/skills/heygen-production-orchestrator/SKILL.md — reads budget statuscontent-media
Autonomously uploads CCW HeyGen demo videos to YouTube as Unlisted, collects video IDs, and patches DemoVideoBanner.tsx + video-registry.json. One-time OAuth setup required. Handles resume, retries, and ID propagation.
data-ai
Clear the freeze boundary set by /freeze, allowing edits to all directories again. Use when you want to widen edit scope without ending the session. Use when asked to "unfreeze", "unlock edits", "remove freeze", or "allow all edits". (gstack)
tools
# Spec Interview Skill **Name:** spec-interview **Triggers:** `/spec-interview`, when requirements unclear **Version:** 1.0.0 --- ## Purpose Interviews user to gather complete requirements before planning. --- ## Interview Questions When requirements are unclear, ask: ### 1. Feature Clarity **Question:** "What is this feature supposed to do?" **Why:** Need clear objective ### 2. User Impact **Question:** "Who will use this and why?" **Why:** Understand user needs ### 3. Success Criteri
development
Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR. Use when asked to "ship", "deploy", "push to main", "create a PR", "merge and push", or "get it deployed". Proactively invoke this skill (do NOT push/PR directly) when the user says code is ready, asks about deploying, wants to push code up, or asks to create a PR. (gstack)