photo-composition-critic — Claude Code skill: photo critique
A skill that critiques photographs: composition, colour harmony and aesthetic scoring, with concrete fixes. Useful when you need a read on an image, not a retouch.
npx skills add curiositech/some_claude_skills --skill photo-composition-critic -a claude-codeWhat photo-composition-critic does
The skill walks an image through six stages: first impression, technical scan for exposure and focus, compositional analysis, aesthetic evaluation, genre context, then actionable recommendations. Composition is judged through visual weight, Gestalt principles, dynamic symmetry and arabesque rather than a single rule. You get back specific notes on cropping, post-processing and alternative crops.
Bundled references cover composition theory (Arnheim, Hambidge), colour (Itten, Albers) and ML aesthetics: AVA, NIMA, LAION-Aesthetics, VisualQuality-R1. Colour harmony comes with scores — complementary 0.9, monochromatic 0.85, analogous 0.8. Model scores are read on a scale where 7.0 and above is rare and 5.0–5.5 is most images.
The skill is not for generating images, retouching, or plain image similarity; the description points to other tools for those. It is allowed Read, Write, Edit, Bash and mcp__firecrawl__firecrawl_search, so NIMA and LAION access only appears if Hugging Face MCP is configured in your environment. Without it, the critique stays theoretical.
What it helps with
- get a composition breakdown with fixes for a shot
- compare several crop options for one frame
- find what is off with visual weight and balance
- judge colour harmony and whether it fits the genre
- read an NIMA or LAION score without overtrusting it
Example prompts for the agent
- Critique the composition of this photo — where does my eye go and what crowds the frame?
- Compare these two crops and tell me which one holds the balance better
- Score the colour harmony here and suggest what to fix in post
How to install photo-composition-critic
1Skills CLI (Vercel)
npx skills add curiositech/some_claude_skills --skill photo-composition-critic -a claude-code2Manually: put the files in place
~/.claude/skills/photo-composition-critic/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/photo-composition-critic/
1Skills CLI (Vercel)
npx skills add curiositech/some_claude_skills --skill photo-composition-critic -a codex2Manually: put the files in place
.agents/skills/photo-composition-critic/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add curiositech/some_claude_skills --skill photo-composition-critic -a cursor2Manually: put the files in place
.cursor/skills/photo-composition-critic/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install curiositech/some_claude_skills photo-composition-critic2Manually: put the files in place
.github/skills/photo-composition-critic/SKILL.md1Skills CLI (Vercel)
npx skills add curiositech/some_claude_skills --skill photo-composition-critic -a gemini-cli2Platform CLI
gemini skills install https://github.com/curiositech/some_claude_skills --path .claude/skills/photo-composition-criticManually: put the files in place
.devin/skills/photo-composition-critic/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add curiositech/some_claude_skills --skill photo-composition-critic -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about photo-composition-critic
How do I install photo-composition-critic in Claude?
Run npx skills add curiositech/some_claude_skills --skill photo-composition-critic -a claude-code. The skill file then lands at ~/.claude/skills/photo-composition-critic/SKILL.md.
What does photo-composition-critic do?
It reviews a photograph in stages: first impression, technical scan, composition, aesthetics and genre context. The output is concrete advice on cropping and post-processing.
Do I need the NIMA and LAION models for it to work?
They are reached through Hugging Face MCP when that is configured. Without it the skill leans on composition and colour theory instead of model scores.
Source text
SKILL.md · MIT
---
name: photo-composition-critic
description: Expert photography composition critic grounded in graduate-level visual aesthetics education, computational aesthetics research (AVA, NIMA, LAION-Aesthetics, VisualQuality-R1), and professional
image analysis with custom tooling. Use for image quality assessment, composition analysis, aesthetic scoring, photo critique. Activate on "photo critique", "composition analysis", "image aesthetics",
"NIMA", "AVA dataset", "visual quality". NOT for photo editing/retouching (use native-app-designer), generating images (use Stability AI directly), or basic image processing (use clip-aware-embeddings).
allowed-tools: Read,Write,Edit,Bash,mcp__firecrawl__firecrawl_search
metadata:
category: Design & Creative
pairs-with:
- skill: color-theory-palette-harmony-expert
reason: Color analysis of photos
- skill: collage-layout-expert
reason: Quality photos for collages
tags:
- photography
- composition
- aesthetics
- nima
- critique
---
# Photo Composition Critic
Expert photography critic with deep grounding in graduate-level visual aesthetics, computational aesthetics research, and professional image analysis.
## When to Use This Skill
**Use for:**
- Evaluating image composition quality
- Aesthetic scoring with ML models (NIMA, LAION)
- Photo critique with actionable feedback
- Analyzing color harmony and visual balance
- Comparing multiple crop options
- Understanding photography theory
**Do NOT use for:**
- Generating images → use **Stability AI** directly
- Photo editing/retouching → use **native-app-designer**
- Simple image similarity → use **clip-aware-embeddings**
- Collage creation → use **collage-layout-expert**
## MCP Integrations
| MCP | Purpose |
|-----|---------|
| **Firecrawl** | Research latest computational aesthetics papers |
| **Hugging Face** (if configured) | Access NIMA, LAION aesthetic models |
## Quick Reference
### Compositional Frameworks
| Framework | Key Points |
|-----------|------------|
| **Visual Weight** | Size, color warmth, isolation, intrinsic interest, position |
| **Gestalt** | Proximity, similarity, continuity, closure, figure-ground |
| **Dynamic Symmetry** | Root rectangles (√2, √3, φ), baroque/sinister diagonals |
| **Arabesque** | S-curve, spiral, diagonal thrust - eye flow through frame |
### Color Harmony Types
| Type | Score | Notes |
|------|-------|-------|
| Complementary | 0.9 | High visual interest |
| Monochromatic | 0.85 | Safe, cohesive |
| Triadic | 0.85 | Balanced, vibrant |
| Analogous | 0.8 | Natural, harmonious |
| Achromatic | 0.7 | B&W or desaturated |
| Complex | 0.6 | May be chaotic or intentional |
### ML Model Score Interpretation
| Score Range | Meaning |
|-------------|---------|
| 7.0+ | Exceptional (top ~1%) |
| 6.5+ | Great (top ~5%) |
| 5.0-5.5 | Mediocre (most images) |
| <5.0 | Below average |
## Analysis Protocol
```
1. FIRST IMPRESSION (2 seconds)
└── Where does the eye go? Emotional hit? Anything "off"?
2. TECHNICAL SCAN
└── Exposure, focus, noise, color, artifacts
3. COMPOSITIONAL ANALYSIS
└── Subject clarity, structure, balance, flow, depth, edges
4. AESTHETIC EVALUATION
└── Light quality, color harmony, decisive moment, story
5. CONTEXTUAL ASSESSMENT
└── Genre success, photographer intent, audience fit
6. ACTIONABLE RECOMMENDATIONS
└── Specific improvements, post-processing, alt crops
```
## Anti-Patterns
### "Just use rule of thirds"
| What it looks like | Why it's wrong |
|--------------------|----------------|
| Blindly placing subjects on thirds intersections | Oversimplification ignores visual weight, gestalt, dynamic symmetry |
| **Instead**: Analyze visual weight center, consider multiple frameworks |
### "Higher NIMA score = better photo"
| What it looks like | Why it's wrong |
|--------------------|----------------|
| Using ML score as sole quality metric | Models trained on averages, miss artistic intent, polarizing works |
| **Instead**: Use ML as one input alongside theoretical analysis |
### "Color harmony means matching colors"
| What it looks like | Why it's wrong |
|--------------------|----------------|
| Recommending monochromatic or matchy palettes | Ignores Itten's contrasts, Albers' interaction effects |
| **Instead**: Evaluate harmony type AND contextual appropriateness |
### Ignoring genre context
| What it looks like | Why it's wrong |
|--------------------|----------------|
| Applying portrait criteria to documentary | Different genres have different quality signals |
| **Instead**: Assess against genre-appropriate standards |
## Reference Files
Load these for detailed implementations:
| File | Contents |
|------|----------|
| `references/composition-theory.md` | Arnheim visual weight, Gestalt, Dynamic Symmetry, Arabesque |
| `references/color-theory.md` | Albers interaction, Itten's 7 contrasts, harmony detection algo |
| `references/ml-models.md` | AVA dataset, NIMA, LAION-Aesthetics, VisualQuality-R1 |
| `references/analysis-scripts.md` | PhotoCritic class, MCP server implementation |
## Key Sources
**Theory**: Arnheim (1974), Hambidge (1926), Itten (1961), Albers (1963), Freeman (2007)
**Research**: AVA dataset (Murray 2012), NIMA (Talebi 2018), LAION-5B (Schuhmann 2022), Q-Instruct (Wu 2024)
© curiositech · MIT · curiositech/some_claude_skills