indranilbanerjee/socialforge
Social media creative pipeline — 20 skills and 5 agents for platform-ready posts, carousels, image/video assets, and compliance-gated delivery.
Adapt post copy for every target platform — character limits, hashtag counts and placement, tone, compliance, and the right CTA mechanism per platform (comment-keyword or link-in-bio on Instagram/TikTok, direct link elsewhere; the CTA is never dropped). Triggers on "/adapt-copy", "adapt this copy", "platform versions", "rewrite for LinkedIn", "caption for each platform", "cross-post this", or any time one piece of copy needs platform-native variants. Reads the brand profile for voice, hashtags, and cta_keyword.
Assemble the final month-end delivery manifest — every approved post with its copy, creative files, platform variants, and metadata in one structured JSON handoff. Triggers on "/assemble-document", "assemble the delivery", "final document", "package the month", "client handoff file", "delivery manifest", or when all posts are approved and the month needs packaging. Runs after finalize-month; the output is what the client receives.
Set up and manage brand profiles — colors, fonts, logo, voice, pillars, platforms, hashtags, compliance rules, cta_keyword. Triggers on "/brand-manager", "new brand", "set up a brand", "update the brand config", "switch brand", "change brand colors", "add a platform to the brand", or any time brand configuration is created or edited. Every other skill reads this profile — run it before any production.
Build the interactive HTML review gallery showing every generated post — image, copy, platform, status — for team or client review in a browser. Triggers on "/build-review-gallery", "review gallery", "show me the month", "build the gallery", "preview everything", "review page", or after a generation batch completes and someone needs to see it all in one place. Local file, no server, no API cost.
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 the human-approval record for the Article 50(4) exemption. Triggers on "/c2pa-sign", "sign this asset", "provenance", "content credentials", "AI disclosure", "Article 50", "is this compliant to publish", or before any AI-generated asset ships. Pass --reviewed-by and --model-id so the manifest records who approved it and what made it.
Core creative engine — turns a calendar post into finished images or video using 4 modes (anchor-compose, enhance-extend, style-referenced, pure-creative) with brand assets, AI generation, and human approval before credits are spent. Triggers on "/compose-creative", "generate the creative", "make the image for P07", "produce this post", "create the visual", "compose this", or any time a calendar post needs its creative produced. Overlay text follows the pairing rule — it never echoes the caption.
Generate platform-accurate mockup previews — the post as it will actually render on LinkedIn, Instagram, X, TikTok — before anything is published. Triggers on "/create-previews", "preview this post", "how will it look", "platform mockup", "show it on Instagram", "preview batch", or after creative and copy exist and stakeholders need to see the assembled post in context before approval.
Package all approved content into the final delivery folder — files renamed per convention, per-platform copy files, manifest included — ready for client handoff. Triggers on "/finalize-month", "finalize the month", "package everything", "prepare the delivery", "close out the month", "handoff folder", or when every post has cleared its approval queue and the month ships to the client.
Run the complete production pipeline end to end — parse the calendar, match assets, compose creative, adapt copy, build previews, run reviews, finalize delivery — with checkpoints between phases. Triggers on "/full-pipeline", "run the whole month", "produce the month", "end to end", "do everything", "full production run", or when a parsed calendar exists and the whole month should be produced in one supervised pass. Quote costs first via price-check.
Generate short-form video via a 5-stage human-in-the-loop pipeline — concept, first frame, last frame, motion, final render — with approval at every stage before credits are spent. Triggers on "/generate-video", "make a video", "video for P12", "animate this image", "reel from this", "image to video", "video post", or any calendar post whose content_type is video, reel, or story. Models and prices are resolved live, never hardcoded; sound costs extra — quote it first.
Plan next month's content calendar from a theme, raw signals, and last month's results — before any calendar exists. Triggers on "/ideate-month", "/plan-month", "what should we post next month", "plan the calendar", "ideas for next month", "month theme", "content ideas for [brand]", "build a calendar from scratch", or any time a brand needs a month planned and no client calendar has arrived. Outputs a calendar-data.json-compatible draft — series arcs, one-off posts, tiers, platforms — that feeds straight into /socialforge:parse-calendar and the production pipeline. Reads the brand profile for pillars and voice; mines pasted news/trends/notes into on-pillar angles; compounds last month's measured wins (fed by /socialforge:ingest-performance, with anecdotal reports labeled as such) instead of starting from zero.
Index the brand photo and asset library with AI vision — each asset described, tagged, and made searchable so match-assets can pair them with calendar posts. Triggers on "/index-assets", "index the assets", "scan the photo library", "new brand photos", "refresh the asset index", "what assets do we have", or after any batch of brand imagery lands. Run once per brand, re-run on new uploads.
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.
Run the approval workflows — internal review, client review, CEO sign-off, revision requests, reminders — that gate every asset before delivery. Triggers on "/manage-reviews", "send for review", "approval status", "who has not approved", "client feedback", "request revisions", "chase approvals", or any time content is waiting on a human decision. The approver recorded here feeds the c2pa-sign human-oversight record.
Match indexed brand assets to calendar posts and assign each post its creative mode (anchor-compose, enhance-extend, style-referenced, pure-creative). Triggers on "/match-assets", "match assets", "which photos for which posts", "assign creative modes", "pair assets to the calendar", or right after parse-calendar and before compose-creative. Reads the asset index; posts with no suitable asset are flagged rather than force-matched.
Find the model that is currently best for a capability by reading the provider live catalogue, and record it with its source — the code asks for kinds, never hardcoded ids. Triggers on "/model-check", "which model should we use", "best video model right now", "is this model still current", "model staleness", "update the models", or before any production month and whenever a resolve comes back stale. Pairs with price-check — newest is not automatically best or cheapest.
Parse a monthly content calendar from DOCX, XLSX, Notion, or pasted text into structured calendar-data.json — the source of truth every downstream skill reads. Triggers on "/parse-calendar", "parse the calendar", "import this calendar", "here is the month", "load the content plan", "calendar to JSON", or whenever a client calendar arrives in any format. No calendar yet? /socialforge:ideate-month drafts one in this exact shape.
Look up what a generation actually costs right now from the provider live pricing page, record it with its source, and quote a run before spending anything. Triggers on "/price-check", "what will this cost", "quote the month", "price this video", "compare providers", "is sound extra", "cost estimate", or before generate-all and any paid generation. Prices expire after 24h; quotes refuse rather than guess, and a quote is never an approval.
Render multi-slide carousels from HTML templates via Playwright — slide content injected, brand styling applied, assembled to platform-ready images or PDF. Triggers on "/render-carousels", "render the carousel", "carousel for P04", "build the slides", "multi-slide post", "carousel from this outline", or any calendar post whose content_type is carousel. Local rendering, no API cost.
One-time setup for image and video generation APIs — Vertex AI, WaveSpeed, and Higgsfield credentials stored persistently and verified before use. Triggers on "/setup", "set up socialforge", "configure the APIs", "add credentials", "connect vertex", "credential status", or before any creative production on a new machine. Keys live outside the repo; nothing is committed to git.