From socialforge
Sets up and manages brand profiles controlling visual identity, platform config, compliance rules, and asset sources for SocialForge workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/socialforge:brand-manager [brand-name] [--update] [--switch][brand-name] [--update] [--switch]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up a new brand profile or update an existing one. Brand profiles control visual identity, platform config, compliance rules, approval chains, and asset sources for all SocialForge workflows.
Set up a new brand profile or update an existing one. Brand profiles control visual identity, platform config, compliance rules, approval chains, and asset sources for all SocialForge workflows.
Asset-heavy skill. Grep before Read the asset catalog (${CLAUDE_PLUGIN_DATA}/<brand>/assets/index.json) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.
SocialForge generates AI images for social media posts. Before setting up a brand, check that Google Cloud Vertex AI credentials are configured.
Step 0: Check image API (MANDATORY — do this before anything else)
Run /socialforge:setup to configure Google Cloud Vertex AI credentials. Your admin provides a service account JSON file, which /socialforge:setup stores securely in the plugin data directory.
Alternative providers: Connect fal.ai or Replicate via the Connectors panel.
Without credentials, SocialForge can parse calendars, match assets, adapt copy, and render carousels — but it CANNOT generate new images. STYLE_REFERENCED and PURE_CREATIVE modes will fail. ANCHOR_COMPOSE works for basic Pillow compositing only (no AI scene generation).
If credentials are not configured, warn the user clearly:
WARNING: No image generation API configured.
Vertex AI credentials are not set. AI image generation will FAIL.
To fix: Run /socialforge:setup to configure Google Cloud Vertex AI credentials.
Or connect fal.ai/Replicate via the Connectors panel.
Do you want to:
1. Run /socialforge:setup now (recommended)
2. Continue without image generation (limited functionality)
Wait for user response. If they choose to continue without, log a persistent warning in brand-config.json: "image_api_configured": false.
After confirming the image API, users need these 5 things:
That's it. Run /socialforge:brand-setup [brand-name] and answer these questions. SocialForge creates a working brand profile.
Add more later: Logo files, fonts, visual style, compliance rules, approval chain, posting times, hashtags via /socialforge:brand-setup --update [brand]
Brand name: [required]
Brand slug: [auto-generated from name, e.g., "acme-corp"]
Tagline: [optional]
Industry: [required — select from list]
Website: [optional]
Colors:
Primary: [hex, e.g., #1B4F72] (required)
Secondary: [hex] (required)
Accent: [hex] (optional, defaults to primary)
Background light: [defaults to #FFFFFF]
Background dark: [defaults to #1A1A1A]
Text primary: [defaults to #333333]
Gradient: enabled? start/end/direction (optional)
Logo files:
Primary logo: [file path or "skip for now"]
White/reversed logo: [optional]
Icon version: [optional]
Logo overlay position: bottom-right (default) | bottom-left | top-right | top-left
Logo overlay opacity: 0.7 (default)
Fonts:
Heading font: [filename or Google Font name, defaults to Montserrat-Bold]
Body font: [defaults to OpenSans-Regular]
Style keywords: [e.g., "modern", "clean", "professional", "enterprise"]
Mood keywords: [e.g., "confident", "innovative", "authoritative"]
Photography style: warm natural light | studio professional | candid editorial | corporate clean
Illustration style: flat vector | isometric | hand-drawn | 3D render | minimal line art | none
Color temperature: warm | neutral | cool
Contrast level: high | medium | soft
Image rules (array of custom constraints):
e.g., "Navy should appear in at least 30% of visual area"
e.g., "Avoid generic stock photo aesthetics"
e.g., "Always include subtle brand color accents"
e.g., "No text overlays on product photography"
For each active platform, configure:
Platform: linkedin | instagram | x | facebook | youtube | tiktok | pinterest
Profile type: company | personal | creator
Posting frequency: daily | 3-4/week | 2/week | weekly
Optimal posting times: [day + time + timezone]
Supported formats: static | carousel | video | story | reel | short | text_only
Content mix: video % | carousel % | static % | text_only %
Cross-posting: from which platform? (e.g., LinkedIn -> Facebook)
Banned phrases: [list of phrases that must never appear in copy]
Required disclaimers: [triggers and disclaimer text per platform]
Data claim rules: require source verification? max claim age?
Platform-specific rules: link policy, max hashtags, forbidden content types
If user skips: Log warning — "Compliance rules empty. Copy will not be checked for restricted content."
Content tiers:
HERO (flagship content): Who reviews? Client approval required?
HUB (regular series): Who reviews?
HYGIENE (routine posts): Auto-approve or light review?
Escalation: Reminder after N days? Auto-publish without client approval after N days?
If user skips: Default to single-tier (all content requires user approval before finalization).
Where are your brand photos stored?
Local folder — Provide the full path (e.g., /Users/photos/acme-corp/) Works in: Claude Code (persistent) | Cowork (session-only, re-provide each session)
Google Drive folder — Provide the Drive folder URL Works in: Cowork (via Settings -> Integrations -> Google Drive) | Claude Code (download first or mount) In Cowork: Claude reads Drive files directly through platform integration In Claude Code: Download the folder locally, then index with --source /local/path
I'll add later — Start with no assets (PURE_CREATIVE mode only)
The asset source is saved in asset-source.json. You can change it anytime.
Recommended for agencies: Use Google Drive as the source of truth. Each brand gets a Drive folder. SocialForge indexes the photos and stores the index in persistent plugin storage (survives sessions).
Style reference photos:
Select 2-8 photos that represent the brand's visual DNA.
These guide AI generation in STYLE_REFERENCED mode.
For each active platform configured in Step 4:
Platform: [platform name]
Display name: [brand name as it appears on the platform]
Handle: [@handle or username]
Avatar: [file path to avatar/profile photo — used in preview rendering]
Profile headline: [bio or tagline shown on the platform]
Profile URL: [full URL to the profile page]
This data powers preview rendering (showing exactly how posts look on each platform).
If user skips: Previews will use brand name and placeholder avatar. Recommend filling in for accurate mockups.
Primary language: [e.g., en-US, hi-IN, es-MX]
Secondary languages: [list, e.g., es-MX, fr-FR]
Bilingual config:
Mode: separate_posts | bilingual_single_post | language_per_platform
Primary ratio: [percentage of content in primary language, e.g., 80]
Do-not-translate terms: [brand names, product names, taglines to keep in original language]
Translation service preference: manual | ai_with_review | ai_auto
Always include (every post):
e.g., #BrandName, #BrandTagline
Campaign hashtags (active campaigns only):
Campaign name: [hashtag list + start/end dates]
e.g., "Summer Launch": ["#SummerWithBrand", "#LaunchDay"] (2026-06-01 to 2026-08-31)
Platform-specific hashtag rules:
LinkedIn: max 3-5 hashtags, professional tone
Instagram: up to 15-20, mix of branded + discovery
X: max 2-3, integrated into copy
TikTok: trending + branded mix
Creates these files in ~/socialforge-workspace/brands/{brand-slug}/:
brand-config.json — Core identity, colors, fonts, visual style, logo, hashtagsplatform-config.json — Active platforms, posting times, content mix, cross-postingapproval-chain.json — Review tiers, escalation rulescompliance-rules.json — Banned phrases, disclaimers, platform rulesasset-source.json — Where assets livestyle-references/ — Style reference photos (copied or linked)Before any SocialForge workflow starts, the brand profile is validated:
/socialforge:setup or MCP connector)Missing fields trigger a warning with options to continue or fix.
/socialforge:brand-setup [brand], detect the partial profile and ask: "Resume setup from Step {N}? Or start fresh?"~/socialforge-workspace/brands/{slug}/brand-config.partial.json and inform user./socialforge:brand-setup --switch [brand-name]
Instantly reloads the brand context. All subsequent commands use the switched brand.
npx claudepluginhub indranilbanerjee/socialforgeBuilds AI-native brand asset systems with prompt libraries, visual style anchors, and voice training for consistent AI-generated content across channels.
Set up or update a brand profile interactively. Use for new brand onboarding, client setup, brand switching, or context updates.
Extracts and applies CMS brand guidelines (voice, tone, style, colors) to generated content. Activates when users request branded content.