Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
AI-powered brand identity skill for generating cohesive brand guidelines, color palettes, and visual identity.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/asset-organization.md
1# Asset Organization Guide23Guidelines for organizing marketing assets in a structured, searchable system.45## Directory Structure67```8project-root/9├── .assets/ # Git-tracked metadata10│ ├── manifest.json # Central asset registry11│ ├── tags.json # Tagging system12│ ├── versions/ # Version history13│ │ └── {asset-id}/14│ │ └── v{n}.json15│ └── metadata/ # Type-specific metadata16│ ├── designs.json17│ ├── banners.json18│ ├── logos.json19│ └── videos.json20├── assets/ # Raw files21│ ├── designs/22│ │ ├── campaigns/ # Campaign-specific designs23│ │ ├── web/ # Website graphics24│ │ └── print/ # Print materials25│ ├── banners/26│ │ ├── social-media/ # Platform banners27│ │ ├── email-headers/ # Email template headers28│ │ └── landing-pages/ # Hero/section images29│ ├── logos/30│ │ ├── full-horizontal/ # Full logo with wordmark31│ │ ├── icon-only/ # Symbol only32│ │ ├── monochrome/ # Single color versions33│ │ └── variations/ # Special versions34│ ├── videos/35│ │ ├── ads/ # Promotional videos36│ │ ├── tutorials/ # How-to content37│ │ └── testimonials/ # Customer videos38│ ├── infographics/ # Data visualizations39│ └── generated/ # AI-generated assets40│ └── {YYYYMMDD}/ # Date-organized41```4243## Naming Convention4445### Format46```47{type}_{campaign}_{description}_{timestamp}_{variant}.{ext}48```4950### Components51| Component | Format | Required | Examples |52|-----------|--------|----------|----------|53| type | lowercase | Yes | banner, logo, design, video |54| campaign | kebab-case | Yes* | claude-launch, q1-promo, evergreen |55| description | kebab-case | Yes | hero-image, email-header |56| timestamp | YYYYMMDD | Yes | 20251209 |57| variant | kebab-case | No | dark-mode, 1x1, mobile |5859*Use "evergreen" for non-campaign assets6061### Examples62```63banner_claude-launch_hero-image_20251209_16-9.png64logo_brand-refresh_horizontal-full-color_20251209.svg65design_holiday-campaign_email-hero_20251209_dark-mode.psd66video_product-demo_feature-walkthrough_20251209.mp467infographic_evergreen_pricing-comparison_20251209.png68```6970## Metadata Schema7172### Asset Entry (manifest.json)73```json74{75"id": "uuid-v4",76"name": "Campaign Hero Banner",77"type": "banner",78"path": "assets/banners/landing-pages/banner_claude-launch_hero-image_20251209.png",79"dimensions": { "width": 1920, "height": 1080 },80"fileSize": 245760,81"mimeType": "image/png",82"tags": ["campaign", "hero", "launch"],83"status": "approved",84"source": {85"model": "imagen-4",86"prompt": "...",87"createdAt": "2025-12-09T10:30:00Z"88},89"version": 2,90"createdBy": "agent:content-creator",91"approvedBy": "user:john",92"approvedAt": "2025-12-09T14:00:00Z"93}94```9596### Version Entry (versions/{id}/v{n}.json)97```json98{99"version": 2,100"previousVersion": 1,101"path": "assets/banners/landing-pages/banner_claude-launch_hero-image_20251209_v2.png",102"changes": "Updated CTA button color to match brand refresh",103"createdAt": "2025-12-09T12:00:00Z",104"createdBy": "agent:ui-designer"105}106```107108## Tagging System109110### Standard Tags111| Category | Values |112|----------|--------|113| status | draft, review, approved, archived |114| platform | instagram, twitter, linkedin, facebook, youtube, email, web |115| content-type | promotional, educational, brand, product, testimonial |116| format | 1x1, 4x5, 9x16, 16x9, story, reel, banner |117| source | imagen-4, veo-3, user-upload, canva, figma |118119### Tag Usage120- Each asset should have: status + platform + content-type121- Optional: format, source, campaign122123## File Organization Best Practices1241251. **One file per variant** - Don't combine dark/light in one file1262. **Source files separate** - Keep .psd/.fig in same structure1273. **AI assets timestamped** - Auto-organize by generation date1284. **Archive don't delete** - Move to `archived/` with date prefix1295. **Large files external** - Videos > 100MB use cloud storage links130131## Search Patterns132133### By Type134```bash135# Find all banners136ls assets/banners/**/*137```138139### By Campaign140```bash141# Find all assets for specific campaign142grep -l "claude-launch" .assets/manifest.json143```144145### By Status146```bash147# Find approved assets only148jq '.assets[] | select(.status == "approved")' .assets/manifest.json149```150151## Cleanup Workflow1521531. Run `extract-colors.cjs` on new assets1542. Validate against brand guidelines1553. Update manifest.json with new entries1564. Tag appropriately1575. Remove duplicates/outdated versions158