brand-setup
CommandCreate or update a brand profile: colors, fonts, logo, voice, platforms. \"set up a new client brand\"
Report this month's generation cost by provider and post. \"what have we spent so far\"
$ npx -y skills add indranilbanerjee/socialforge --agent claude-code
description: "Report this month's generation cost by provider and post. \"what have we spent so far\"" argument-hint: "--brand <name> --month <YYYY-MM>"
> **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skills/`. Run them with Python 3.10 or newer: `python`, or `python3` where `python` is not found (macOS, many Linux systems).
Display the API cost breakdown from cost-log.json.
Both `--brand` and `--month` are required. The skill runs:
python "${CLAUDE_PLUGIN_ROOT}/scripts/cost_tracker.py" --action report --brand <name> --month <YYYY-MM>The script returns JSON — `total_cost_usd`, `total_api_calls`, `by_operation`, `by_post` (top 10), `unpriced_calls`, `totals_complete` and, when something is unpriced, a `note`. Render it for the user as below, with the figures from the JSON and none from memory.
Cost Report — <brand> / <month>
Total: <total_cost_usd> across <total_api_calls> API calls
By Operation:
<operation>: <amount>
<local operation>: free (runs locally)
By Post (top 10):
<post id>: <amount>
...
Unpriced calls: <unpriced_calls> — every total above is a LOWER BOUNDOperation names come straight from the cost log. Local operations (compositing, background removal, resizing, carousel rendering) cost nothing. Paid work carries a figure only when it was logged with the real invoiced amount (`--cost`) or with `--model`, `--provider` and `--units`, which asks `price_book.py` for a live, sourced quote — there is no built-in price table. A call logged without either is `unpriced`: when `unpriced_calls` is above zero (`totals_complete` is false) show the `note`, say the totals are a lower bound, and point to `/socialforge:price-check` to record the missing prices. Unpriced is not free.
Your client wants 30 days of social content across six platforms with brand-faithful imagery, AI-generated video, and provenance signed for EU markets. You have five days.
Create or update a brand profile: colors, fonts, logo, voice, platforms. \"set up a new client brand\"
Check pending approvals and send reminders where overdue. \"who still owes an approval\"
Send internally approved posts to the client by Slack or email with reminders; internal pass -> review. \"send these to the…
Edit a generated image: background, lighting, colors or composition. \"change the background on this image\"
Edit an existing post's copy, visual direction or metadata. \"tweak the copy on P07\"
Finalize the month and package approved content for delivery. \"close out the month\"
Run a paid-ads (ROAS) workflow: audience segments, account structure, ad creative, experiment design, pre-launch signal QA + the…
Run the readiness doctor: which audit and launch actions are live or blocked. \"why is this action blocked\"