$npx -y skills add indranilbanerjee/socialforge --skill brand-managerSet up and manage brand profiles. Use when: configuring a new brand, updating brand config, or switching brands.
| 1 | # /socialforge:brand-setup — Brand Manager |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | ## Context efficiency |
| 6 | |
| 7 | 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. |
| 8 | |
| 9 | ## Pre-Requisite: Image Generation API |
| 10 | |
| 11 | SocialForge generates AI images for social media posts. Before setting up a brand, check that Google Cloud Vertex AI credentials are configured. |
| 12 | |
| 13 | **Step 0: Check image API (MANDATORY — do this before anything else)** |
| 14 | |
| 15 | 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. |
| 16 | |
| 17 | **Alternative providers:** Connect fal.ai or Replicate via the Connectors panel. |
| 18 | |
| 19 | **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). |
| 20 | |
| 21 | **If credentials are not configured, warn the user clearly:** |
| 22 | ``` |
| 23 | WARNING: No image generation API configured. |
| 24 | Vertex AI credentials are not set. AI image generation will FAIL. |
| 25 | |
| 26 | To fix: Run /socialforge:setup to configure Google Cloud Vertex AI credentials. |
| 27 | Or connect fal.ai/Replicate via the Connectors panel. |
| 28 | |
| 29 | Do you want to: |
| 30 | 1. Run /socialforge:setup now (recommended) |
| 31 | 2. Continue without image generation (limited functionality) |
| 32 | ``` |
| 33 | |
| 34 | Wait for user response. If they choose to continue without, log a persistent warning in brand-config.json: `"image_api_configured": false`. |
| 35 | |
| 36 | ## Quick Start (5-10 minutes) |
| 37 | |
| 38 | After confirming the image API, users need these 5 things: |
| 39 | |
| 40 | 1. **Brand name** — Your company or client name |
| 41 | 2. **Industry** — pharma, bfsi, real-estate, saas, retail, healthcare, edtech, legal, manufacturing, hospitality, automotive, media, other |
| 42 | 3. **Brand colors** — Primary (hex), secondary (hex), accent (hex) |
| 43 | 4. **Active platforms** — Which social media platforms (LinkedIn, Instagram, X, Facebook, YouTube, etc.) |
| 44 | 5. **Asset source** — Where are brand photos? (Google Drive folder URL, local path, or "I'll add later") |
| 45 | |
| 46 | That's it. Run `/socialforge:brand-setup [brand-name]` and answer these questions. SocialForge creates a working brand profile. |
| 47 | |
| 48 | **Add more later:** Logo files, fonts, visual style, compliance rules, approval chain, posting times, hashtags via `/socialforge:brand-setup --update [brand]` |
| 49 | |
| 50 | ## Full Setup |
| 51 | |
| 52 | ### Step 1: Core Identity |
| 53 | |
| 54 | ``` |
| 55 | Brand name: [required] |
| 56 | Brand slug: [auto-generated from name, e.g., "acme-corp"] |
| 57 | Tagline: [optional] |
| 58 | Industry: [required — select from list] |
| 59 | Website: [optional] |
| 60 | ``` |
| 61 | |
| 62 | ### Step 2: Visual Identity |
| 63 | |
| 64 | ``` |
| 65 | Colors: |
| 66 | Primary: [hex, e.g., #1B4F72] (required) |
| 67 | Secondary: [hex] (required) |
| 68 | Accent: [hex] (optional, defaults to primary) |
| 69 | Background light: [defaults to #FFFFFF] |
| 70 | Background dark: [defaults to #1A1A1A] |
| 71 | Text primary: [defaults to #333333] |
| 72 | Gradient: enabled? start/end/direction (optional) |
| 73 | |
| 74 | Logo files: |
| 75 | Primary logo: [file path or "skip for now"] |
| 76 | White/reversed logo: [optional] |
| 77 | Icon version: [optional] |
| 78 | Logo overlay position: bottom-right (default) | bottom-left | top-right | top-left |
| 79 | Logo overlay opacity: 0.7 (default) |
| 80 | |
| 81 | Fonts: |
| 82 | Heading font: [filename or Google Font name, defaults to Montserrat-Bold] |
| 83 | Body font: [defaults to OpenSans-Regular] |
| 84 | ``` |
| 85 | |
| 86 | ### Step 3: Visual Style (For AI Generation) |
| 87 | |
| 88 | ``` |
| 89 | Style keywords: [e.g., "modern", "clean", "professional", "enterprise"] |
| 90 | Mood keywords: [e.g., "confident", "innovative", "authoritative"] |
| 91 | Photography style: warm natural light | studio professional | candid editorial | corporate clean |
| 92 | Illustration style: flat vector | isometric | hand-drawn | 3D render | minimal line art | none |
| 93 | Color temperature: warm | neutral | cool |
| 94 | Contrast level: high | medium | soft |
| 95 | |
| 96 | Image rules (array of custom constraints): |
| 97 | e.g., "Navy should appear in at least 30% of visual area" |
| 98 | e.g., "Avoid generic stock photo aesthetics" |
| 99 | e.g., "Always include subtle brand color accents" |
| 100 | e.g., "No text overlays on product photography" |
| 101 | ``` |
| 102 | |
| 103 | ### Step 4: Platform Configuration |
| 104 | |
| 105 | ``` |
| 106 | For each active platform, configure: |
| 107 | Platform: linkedin | instagram | x | facebook | youtube | tiktok | pinterest |
| 108 | Profile type: company | personal | creator |
| 109 | Posting frequency: daily | 3-4/week | 2/week | weekly |
| 110 | Optimal posting times: [day + time + timezone] |
| 111 | Supported formats: static | carousel | video | sto |