By chufucious
AI-assisted photo gallery creation with Smith/Colberg/Szarkowski-informed layout curation. Orchestrates EXIF extraction, image review, and Astro page generation.
npx claudepluginhub joshuarweaver/cascade-content-creation-misc-1 --plugin chufucious-chu-gallery-pluginExtract EXIF metadata from images to JSON. Works with any image folder. Outputs structured data including dimensions, orientation, and timestamps.
Create photo galleries with AI-assisted layout curation. Orchestrates atomic scripts and sub-agents. Use when user wants to create a gallery from photos, mentions "/gallery", or asks about photo layout and sequencing.
Generate Astro page files from an existing gallery manifest. Internal step of /gallery workflow - use directly only to regenerate from completed manifests.
Review a batch of images and output layout suggestions to an isolated batch file. Designed for parallel execution - each batch writes to its own file.
Upload files to Cloudflare R2 storage. Supports images and videos with optional optimization. Returns public URLs.
AI-assisted photo gallery creation with Smith/Colberg/Szarkowski-informed layout curation.
This plugin applies principles from masters of photo sequencing:
"The individual pages have to give up their independence in order to form a union." — Keith Smith
See docs/photo-layout-principles.md for the complete philosophy guide.
# Add as a marketplace
/plugin marketplace add ericchu/chu-gallery-plugin
# Install the plugin
/plugin install chu-gallery
Clone to your plugins directory:
git clone https://github.com/ericchu/chu-gallery-plugin ~/.claude/plugins/chu-gallery
| Skill | Trigger | Purpose |
|---|---|---|
gallery | /gallery, "create gallery" | Orchestrates the full workflow |
review-image-batch | (sub-agent) | Reviews images and suggests layouts |
generate-astro-gallery | /generate-astro-gallery | Generates Astro pages from manifest |
extract-exif | /extract-exif | Extracts EXIF metadata to JSON |
upload-to-r2 | /upload-to-r2 | Uploads videos to Cloudflare R2 |
/gallery cabo-2025 "CABO 2025" cabo
This:
# Extract EXIF from any folder
/extract-exif ./photos output.json
# Regenerate pages from existing manifest
/generate-astro-gallery src/data/gallery-manifests/cabo-2025.json
# Upload videos to R2
/upload-to-r2 ./videos/ cabo-2025/ --optimize
| Component | Images | Purpose |
|---|---|---|
| FullBleed | 1 | Hero shots, climactic moments (max 2-4/gallery) |
| WideImage | 1 | Strong standalone shots — DEFAULT |
| OffsetImage | 1 | Verticals, quiet moments |
| InsetImage | 1 | Maximum restraint, intimate moments |
| Spacer | 0 | Visual pause between sections |
| TwoUp | 2 | Pairs with visual connection (max 2-3/gallery) |
| ThreeUp | 3 | Sequences, triptychs (max 1-2/gallery) |
| SplitLayout | 2 | Asymmetric pairs (max 1-2/gallery) |
| FourUp | 4 | Detail collections (max 0-1/gallery) |
| Chapter | 0 | Start new page section |
80%+ of layouts should be single-image (WideImage, OffsetImage, FullBleed).
Multi-image layouts are rare exceptions, not defaults.
Only use TwoUp when pairing creates meaning beyond either image alone:
Vary intensity like music:
LOUD → medium → quiet → LOUD → soft → pause → medium...
Never create monotonous sequences of same-weight layouts.
Assess images using the Five Characteristics:
Helper scripts for the workflow (require bun):
| Script | Purpose |
|---|---|
init-gallery-manifest.ts | Create manifest from EXIF |
merge-gallery-batches.ts | Combine batch review files |
validate-gallery-manifest.ts | Fix common errors |
generate-gallery-files.ts | Generate Astro pages |
optimize-videos.sh | Optimize videos for web |
chu-gallery-plugin/
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ ├── gallery/
│ │ └── SKILL.md
│ ├── review-image-batch/
│ │ ├── SKILL.md
│ │ └── references/
│ │ └── layout-guide.md
│ ├── generate-astro-gallery/
│ │ └── SKILL.md
│ ├── extract-exif/
│ │ └── SKILL.md
│ └── upload-to-r2/
│ └── SKILL.md
├── scripts/
│ ├── init-gallery-manifest.ts
│ ├── merge-gallery-batches.ts
│ ├── validate-gallery-manifest.ts
│ ├── generate-gallery-files.ts
│ └── optimize-videos.sh
├── docs/
│ └── photo-layout-principles.md
└── README.md
MIT
Team-oriented workflow plugin with role agents, 27 specialist agents, ECC-inspired commands, layered rules, and hooks skeleton.
UI/UX design intelligence. 67 styles, 161 palettes, 57 font pairings, 25 charts, 15 stacks (React, Next.js, Vue, Svelte, Astro, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Nuxt, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Comprehensive startup business analysis with market sizing (TAM/SAM/SOM), financial modeling, team planning, and strategic research
This skill should be used when users need to generate ideas, explore creative solutions, or systematically brainstorm approaches to problems. Use when users request help with ideation, content planning, product features, marketing campaigns, strategic planning, creative writing, or any task requiring structured idea generation. The skill provides 30+ research-validated prompt patterns across 14 categories with exact templates, success metrics, and domain-specific applications.