Brand manager
Set up and manage brand profiles. Use when: configuring a new brand, updating brand config, or switching brands.From its SKILL.md
npx -y skills add indranilbanerjee/socialforge --skill brand-managerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- runs commandsInstructs the agent to run 5 commands, including `Run `/socialforge:setup`` and 4 more.
SKILL.md
9.9 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it
/socialforge:brand-setup — Brand Manager
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.
Context efficiency
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.
Pre-Requisite: Image Generation API
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.
Quick Start (5-10 minutes)
After confirming the image API, users need these 5 things:
- Brand name — Your company or client name
- Industry — pharma, bfsi, real-estate, saas, retail, healthcare, edtech, legal, manufacturing, hospitality, automotive, media, other
- Brand colors — Primary (hex), secondary (hex), accent (hex)
- Active platforms — Which social media platforms (LinkedIn, Instagram, X, Facebook, YouTube, etc.)
- Asset source — Where are brand photos? (Google Drive folder URL, local path, or "I'll add later")
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]
Full Setup
Step 1: Core Identity
Brand name: [required]
Brand slug: [auto-generated from name, e.g., "acme-corp"]
Tagline: [optional]
Industry: [required — select from list]
Website: [optional]
Step 2: Visual Identity
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]
Step 3: Visual Style (For AI Generation)
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"
Step 4: Platform Configuration
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)
Step 5: Compliance Rules
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."
Step 6: Approval Chain
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).
Step 7: Asset Source
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.
Step 8: Social Profiles
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.
Step 9: Languages
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
Step 10: Brand Hashtags
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
Output
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)
Pre-Flight Validation
Before any SocialForge workflow starts, the brand profile is validated:
- Image generation API configured (Vertex AI via
/socialforge:setupor MCP connector) - Brand name and slug set
- At least one platform configured
- Colors (primary + secondary) set
- Asset source configured (or explicitly skipped)
Missing fields trigger a warning with options to continue or fix.
Timeout & Interruption Handling
- If user closes or interrupts during multi-step setup: save whatever was collected so far. On next
/socialforge:brand-setup [brand], detect the partial profile and ask: "Resume setup from Step {N}? Or start fresh?" - Each step saves incrementally — no data is lost on interruption.
- If brand-config.json write fails: retry once, then save to
~/socialforge-workspace/brands/{slug}/brand-config.partial.jsonand inform user.
Switching Brands
/socialforge:brand-setup --switch [brand-name]
Instantly reloads the brand context. All subsequent commands use the switched brand.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most marketing audience skills give in ~2.3k tokens
Counted across 690 of the 894 authors here whose files we hold, read 2026-08-07
- Apply Poppins font to headingsin 41 of 690, across 6 files
- Apply Lora font to body textin 41 of 690, across 6 files
- Use Arial fallback for headingsin 39 of 690, across 4 files
- Use Georgia fallback for body textin 39 of 690, across 4 files
- Maintain text hierarchy and formattingin 39 of 690, across 4 files
- Use accent colors for non-text shapesin 38 of 690, across 3 files
- Use RGB values for precise color matchingin 38 of 690, across 3 files
- Use brand colors for primary text and backgroundsin 36 of 690, across 1 file
- Read product marketing context file before asking questions, starting, or auditingin 35 of 690, across 23 files
- Use active voice instead of passive voicein 26 of 690, across 10 files
- Implement or generate appropriate JSON-LD structured datain 24 of 690, across 17 files
- Prioritize clarity over clevernessin 22 of 690, across 8 files
Said here and by no other author read
- grep asset index before reading
- never list the asset directory
- reference generated images by path
- warn user if credentials are missing
- save partial data on interruption
- retry failed writes once
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.