adapt-copy
Adapt post copy for every target platform — character limits, hashtag counts and placement, tone, compliance, and the right CTA mechanism per platform…
Feed last month's real numbers into next month's plan: ingest a platform analytics export (CSV from Instagram Insights, LinkedIn analytics, TikTok Studio, X analytics — any export with a post-id column) into per-post performance records, then rank the month's wins with sample
$ npx -y skills add indranilbanerjee/socialforge --skill ingest-performance --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ingest-performanceContext preview
The summary Claude sees to decide when to auto-load this skill.
Feed last month's real numbers into next month's plan: ingest a platform analytics export (CSV from Instagram Insights, LinkedIn analytics, TikTok Studio, X analytics — any export with a post-id column) into per-post performance records, then rank the month's wins with sample
name: ingest-performance description: "Feed last month's real numbers into next month's plan: ingest a platform analytics export (CSV from Instagram Insights, LinkedIn analytics, TikTok Studio, X analytics — any export with a post-id column) into per-post performance records, then rank the month's wins with sample floors and margin rules so ideation compounds measured winners, not remembered ones. Triggers on \"/ingest-performance\", \"here are last month's numbers\", \"import analytics\", \"which posts performed best\", \"engagement report\", \"what worked last month\", or whenever ideate-month needs its wins rung fed. Writes performance.json next to the month's tracker; /socialforge:ideate-month reads it and labels every win measured vs anecdotal." argument-hint: "--brand <name> --month <YYYY-MM> [--csv <export.csv>] [--source <label>]" user-invocable: true
`/socialforge:ideate-month` compounds "what worked last month." Before this skill, that meant whatever someone remembered in the planning call — and memory favors the post that felt good, not the one that performed. This skill turns the platform's own export into the record ideation reads.
Ask the user for the analytics export covering the month. Any CSV works if it has a column identifying the post (`post_id`, `post`, `id`) that matches the calendar's post ids, plus whichever metrics the platform provides (impressions/views, likes/reactions, comments, shares/reposts, saves, clicks, follows — header aliases are normalized automatically). If the export keys posts by URL or caption instead of the calendar id, help the user add a `post_id` column first — matching is by calendar id, deliberately: wins must map back to the topics and pillars that produced them.
python ${CLAUDE_PLUGIN_ROOT}/scripts/ingest_performance.py --action ingest \
--brand {brand} --month {YYYY-MM} --csv {export.csv} --source "{platform} export"`output/{brand}/{month}/performance.json` (repeat ingests append — one CSV per platform is normal).
the user the unmatched list; a typo'd id is data lost from the wins rung.
python ${CLAUDE_PLUGIN_ROOT}/scripts/ingest_performance.py --action wins \
--brand {brand} --month {YYYY-MM}The ranking is deliberately conservative:
win, only noise. Below-floor posts are reported as `unranked` with the reason.
must beat the month, not merely top a flat list.
and the post lands in `unranked`, not at the bottom of the ranking.
Compounding a non-win manufactures a false signal for next month's plan.
Relay the wins output to `/socialforge:ideate-month` (its "last month's results" input). Winners carry their topic, pillar, tier, and `vs_month_median` multiple, so ideation can design follow-ups that compound the validated angle — and label each one `measured` in "What last month validated". Anything the client reports that is NOT in the ranked output is still usable, labeled `anecdotal`.
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.
Adapt post copy for every target platform — character limits, hashtag counts and placement, tone, compliance, and the right CTA mechanism per platform…
Assemble the final month-end delivery manifest — every approved post with its copy, creative files, platform variants, and metadata in one structured JSON…
Set up and manage brand profiles — colors, fonts, logo, voice, pillars, platforms, hashtags, compliance rules, cta_keyword. Triggers on \"/brand-manager\",…
Build the interactive HTML review gallery showing every generated post — image, copy, platform, status — for team or client review in a browser. Triggers on…
Embed C2PA provenance manifests in AI-generated assets — the machine-readable AI disclosure EU AI Act Article 50 expects (enforceable since 2 Aug 2026), plus…
Core creative engine — turns a calendar post into finished images or video using 4 modes (anchor-compose, enhance-extend, style-referenced, pure-creative) with…