/index-assets
Index brand photo library using AI vision. Use when: setting up assets, adding new photos, or refreshing the index.
$ npx -y skills add indranilbanerjee/socialforge --skill index-assets --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/index-assets
Context preview
The summary Claude sees to decide when to auto-load this skill.
Index brand photo library using AI vision. Use when: setting up assets, adding new photos, or refreshing the index.
SKILL.md
index-assets.SKILL.mdname: index-assets
description: "Index brand photo library using AI vision. Use when: setting up assets, adding new photos, or refreshing the index."
argument-hint: "<brand-name> [--source <path>] [--refresh]"
effort: high
user-invocable: true
/socialforge:index-assets — Asset Indexer
Scan a brand's photo library and create an AI-powered asset index. Each image is analyzed by Gemini Vision to understand what's in it, what mood it conveys, what posts it's suitable for, and how it can be cropped for different platforms.
Context efficiency
Asset-heavy skill. **Grep before Read** the asset catalog (`${CLAUDE_PLUGIN_DATA}/socialforge/brands/<brand>/asset-index.json`) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.
How It Works
1. **Locate assets** — Read asset-source.json for the brand's photo library location 2. **Scan files** — Find all .jpg, .jpeg, .png, .webp files in the source 3. **AI analysis** — For each image, use Gemini Vision (the registry alias `latest-vision-google`) to generate:
- Natural language description of the image
- Tags (categories, subjects, setting, mood)
- Dominant colors detected
- Lighting and composition assessment
- What types of social media posts this image suits
- Whether background is removable (for compositing)
- Platform crop feasibility (can this be cropped to 1:1, 4:5, 16:9 without losing key content?)
4. **Build index** — Create asset-index.json with all analyzed assets 5. **Identify style references** — Suggest 2-8 images as style reference candidates (best represent the brand's visual DNA)
Pre-Flight Check
Before indexing, verify:
- Brand profile exists for the specified brand
- Asset source is configured (Google Drive URL or local path)
- If Google Drive: verify Drive MCP is connected or platform integration is available
If asset source is not configured:
⚠️ No asset source configured for brand "{brand}".
Run /socialforge:brand-setup {brand} --update to add an asset source.
Or provide a path now: /socialforge:index-assets {brand} --source /path/to/photosProgress Updates
[1/4] Scanning asset source...
Found: 47 images (32 .jpg, 12 .png, 3 .webp)
[2/4] Analyzing images with AI Vision...
Analyzed: 12/47 (25%) — ~3 min remaining
Analyzed: 24/47 (51%) — ~2 min remaining
Analyzed: 47/47 (100%) ✓
[3/4] Building asset index...
Tags generated: 184 unique tags across 47 assets
Platform crops: 47 images × 6 platforms = 282 crop assessments
[4/4] Identifying style reference candidates...
Top 8 candidates selected based on visual consistency and quality
Output
Asset Index Complete: acme-corp
Total assets: 47
Categories: people (12), products (8), office (6), events (5), lifestyle (9), graphics (7)
Background-removable: 23 assets (suitable for ANCHOR_COMPOSE mode)
Style reference candidates: 8 images suggested
Saved: ${CLAUDE_PLUGIN_DATA}/socialforge/brands/acme-corp/asset-index.json
Would you like to:
- Review style reference candidates? (I'll show all 8 with descriptions)
- Start monthly production? (/socialforge:new-month)
- Update specific assets? (/socialforge:index-assets acme-corp --source /path/to/photos --refresh)Timeout & Fallback
- Per-image AI analysis: 15-second timeout. If an image times out, mark as `analysis_pending` and continue.
- Large libraries (100+ images): Process in batches of 20. Show progress after each batch.
- If AI Vision is unavailable: Create basic index from file metadata only (dimensions, filename, folder) — flag as `ai_analysis_missing`.
Refresh Mode
`/socialforge:index-assets [brand] --source <path> --refresh`
`--source` is required even in refresh mode. Only re-analyzes new or modified images since last index. Compares file timestamps with `indexed_at` in asset-index.json.
Cost Awareness
Each image analysis costs approximately $0.002-0.005 (Gemini Vision). For a 50-image library, expect ~$0.10-0.25 total.
Show estimated cost before starting: "Indexing 47 images will cost approximately $0.12 in Gemini Vision API calls. Proceed?"
Read more
name: index-assets description: "Index brand photo library using AI vision. Use when: setting up assets, adding new photos, or refreshing the index." argument-hint: "<brand-name> [--source <path>] [--refresh]" effort: high user-invocable: true
/socialforge:index-assets — Asset Indexer
Scan a brand's photo library and create an AI-powered asset index. Each image is analyzed by Gemini Vision to understand what's in it, what mood it conveys, what posts it's suitable for, and how it can be cropped for different platforms.
Context efficiency
Asset-heavy skill. **Grep before Read** the asset catalog (`${CLAUDE_PLUGIN_DATA}/socialforge/brands/<brand>/asset-index.json`) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.
How It Works
1. **Locate assets** — Read asset-source.json for the brand's photo library location 2. **Scan files** — Find all .jpg, .jpeg, .png, .webp files in the source 3. **AI analysis** — For each image, use Gemini Vision (the registry alias `latest-vision-google`) to generate:
- Natural language description of the image
- Tags (categories, subjects, setting, mood)
- Dominant colors detected
- Lighting and composition assessment
- What types of social media posts this image suits
- Whether background is removable (for compositing)
- Platform crop feasibility (can this be cropped to 1:1, 4:5, 16:9 without losing key content?)
4. **Build index** — Create asset-index.json with all analyzed assets 5. **Identify style references** — Suggest 2-8 images as style reference candidates (best represent the brand's visual DNA)
Pre-Flight Check
Before indexing, verify:
- Brand profile exists for the specified brand
- Asset source is configured (Google Drive URL or local path)
- If Google Drive: verify Drive MCP is connected or platform integration is available
If asset source is not configured:
⚠️ No asset source configured for brand "{brand}".
Run /socialforge:brand-setup {brand} --update to add an asset source.
Or provide a path now: /socialforge:index-assets {brand} --source /path/to/photosProgress Updates
[1/4] Scanning asset source... Found: 47 images (32 .jpg, 12 .png, 3 .webp) [2/4] Analyzing images with AI Vision... Analyzed: 12/47 (25%) — ~3 min remaining Analyzed: 24/47 (51%) — ~2 min remaining Analyzed: 47/47 (100%) ✓ [3/4] Building asset index... Tags generated: 184 unique tags across 47 assets Platform crops: 47 images × 6 platforms = 282 crop assessments [4/4] Identifying style reference candidates... Top 8 candidates selected based on visual consistency and quality
Output
Asset Index Complete: acme-corp
Total assets: 47
Categories: people (12), products (8), office (6), events (5), lifestyle (9), graphics (7)
Background-removable: 23 assets (suitable for ANCHOR_COMPOSE mode)
Style reference candidates: 8 images suggested
Saved: ${CLAUDE_PLUGIN_DATA}/socialforge/brands/acme-corp/asset-index.json
Would you like to:
- Review style reference candidates? (I'll show all 8 with descriptions)
- Start monthly production? (/socialforge:new-month)
- Update specific assets? (/socialforge:index-assets acme-corp --source /path/to/photos --refresh)Timeout & Fallback
- Per-image AI analysis: 15-second timeout. If an image times out, mark as `analysis_pending` and continue.
- Large libraries (100+ images): Process in batches of 20. Show progress after each batch.
- If AI Vision is unavailable: Create basic index from file metadata only (dimensions, filename, folder) — flag as `ai_analysis_missing`.
Refresh Mode
`/socialforge:index-assets [brand] --source <path> --refresh`
`--source` is required even in refresh mode. Only re-analyzes new or modified images since last index. Compares file timestamps with `indexed_at` in asset-index.json.
Cost Awareness
Each image analysis costs approximately $0.002-0.005 (Gemini Vision). For a 50-image library, expect ~$0.10-0.25 total.
Show estimated cost before starting: "Indexing 47 images will cost approximately $0.12 in Gemini Vision API calls. Proceed?"
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.
Other skills on socialforge.
- /adapt-copy
Adapt post copy per platform — character limits, hashtags, CTAs, tone, and compliance checking.
Open skill - /assemble-document
Assemble the final calendar delivery manifest (structured JSON) with all posts, copy, and metadata.
Open skill - /brand-manager
Set up and manage brand profiles. Use when: configuring a new brand, updating brand config, or switching brands.
Open skill - /build-review-gallery
Build an interactive HTML review gallery with all generated posts for team review.
Open skill - /c2pa-sign
Embed C2PA (Content Authenticity Initiative) provenance manifests into SocialForge AI-generated assets — images, video, audio. Use when: preparing AI-generated social posts for EU markets to comply with EU AI Act Article 50 (applicable 2 Aug 2026); making AI generation
Open skill - /compose-creative
Core creative engine. Generates images and video using 4 modes with brand assets, AI compositing, and platform resizing.
Open skill

