AgentStack
SKILL verified MIT Self-run

Photo Review Workflow

skill-kilimiaosix-agent-skills-photo-review-workflow · by KilimiaoSix

Use when organizing a camera photo folder and reviewing JPGs aesthetically: separate RAW files and videos into subfolders, score original JPG photos with one fixed vision-model prompt, export CSV/XLSX/PDF review artifacts, and copy full-quality JPGs into rating folders without modifying originals.

No reviews yet
0 installs
6 views
0.0% view→install

Install

$ agentstack add skill-kilimiaosix-agent-skills-photo-review-workflow

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Photo Review Workflow? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Photo Review Workflow

What This Skill Does

Use this skill for photo-shoot folders that contain original camera JPGs plus RAW/video sidecars. It preserves originals, organizes non-JPG files, evaluates only original JPG files with a fixed multimodal prompt, exports review tables, and optionally copies full-quality JPGs into rating folders for Finder browsing.

The bundled script is:

scripts/llm_photo_review.py

Default Workflow

  1. Resolve the real photo directory. On macOS, Finder "图片" is usually ~/Pictures.
  2. Create raw/ and move RAW extensions there: .RAF, .RAW, .CR2, .CR3, .NEF, .ARW, .DNG, .RW2, .ORF, .SRW.
  3. Create 视频/ and move .MOV files there.
  4. Score only original JPG files, normally DSCF*.JPG; ignore generated contact sheets, CSV/XLSX/PDF files, RAW, and videos.
  5. Use one fixed prompt for every image. Do not tune the prompt per image or per scene.
  6. Export:
  • llm_aesthetic_review.csv
  • llm_aesthetic_review.xlsx
  • llm_aesthetic_review_top_200.pdf
  • llm_aesthetic_review_summary.txt
  • llm_aesthetic_review.status.json
  1. Copy full-quality JPGs into rating folders only after scoring is complete.

Scoring Command

Use any Python 3 interpreter that has Pillow, ReportLab, and pandas/openpyxl-style dependencies installed:

PY=python3

For an OpenAI-compatible endpoint:

OPENAI_API_KEY="..." \
OPENAI_BASE_URL="https://your-openai-compatible-endpoint/v1" \
OPENAI_MODEL="gpt-5.4-mini" \
$PY scripts/llm_photo_review.py \
  --photos-dir /path/to/photos \
  --output-prefix llm_aesthetic_review \
  --max-side 384 \
  --jpeg-quality 70 \
  --workers 4 \
  --timeout 120 \
  --max-retries 3

Notes:

  • Include /v1 in OPENAI_BASE_URL for OpenAI-compatible endpoints.
  • If large image requests disconnect, reduce --max-side to 384 and --jpeg-quality to 70.
  • The script supports resume by default: existing CSV rows are skipped.
  • --no-resume forces a fresh run.
  • --skip-errors skips files listed in the errors CSV.
  • --pdf-only regenerates CSV/PDF artifacts from existing rows without API calls.

Fixed Prompt Intent

The script asks the model to act as a strict photography editor for street, travel documentary, and everyday images. Scores are aesthetic selection scores, not technical quality scores.

Core dimensions:

  • subject and reason to look
  • composition and visual form
  • moment and story
  • light and color
  • editing/cropping potential
  • technical floor, without over-rewarding sharp ordinary photos

Expected scoring is strict. A folder may have no A/B images; still use relative rank for selection.

Rating Folder Copy

After scoring, copy originals by file copy, not image re-encoding. Use a folder such as 按评分分类/ under the photo directory.

Recommended folder grouping:

按评分分类/
  C_可留/
  C_一般/
  D_一般/
  D_淘汰/
  E_淘汰/

Recommended filename:

999-score_scoreXXX_rankXXXX_GRADE_ORIGINAL.JPG

Example:

925_score074_rank0001_C_DSCF1568.JPG

999-score makes Finder name-sort place higher scores first while preserving the original filename for lookup.

Validation

Before final response, verify:

  • source original JPG count equals scored row count
  • no missing source files
  • copied JPG count equals scored row count when rating folders are requested
  • status JSON shows pending: 0
  • unresolved errors are zero or clearly reported

Do not report API keys in final output or save them into skill files.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.