一键导入
photo-cull-retouch
Select the best photos from an input folder, prepare Codex imagegen portrait-retouch tasks, and finalize edited outputs.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Select the best photos from an input folder, prepare Codex imagegen portrait-retouch tasks, and finalize edited outputs.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | photo-cull-retouch |
| description | Select the best photos from an input folder, prepare Codex imagegen portrait-retouch tasks, and finalize edited outputs. |
Use this skill when the user wants to process a folder of photos, select the strongest candidates, and produce final retouched outputs.
Default route: use local scoring/culling, then use CosKit workflow concepts with Codex imagegen for the actual image edit. Do not call CosKit's Gemini/OpenAI image APIs in this skill.
This skill is portable. Resolve all commands relative to the directory containing this SKILL.md; do not use machine-specific absolute paths.
.jpg, .jpeg, .png, .webp, .tif, .tiff, .bmp.Given an input folder:
/path/to/parent/input-folder
The skill writes:
/path/to/parent/output/
The output folder contains:
edited/: selected and retouched final JPG images. In Codex imagegen mode, this is filled after imagegen returns final images.selected_originals/: copies of the selected source images.score_report.csv: all source images with component scores.manifest.json: machine-readable run metadata and selected files.contact_sheet.jpg: visual overview of selected outputs when possible.imagegen_tasks.json and imagegen_instructions.md: Codex imagegen tasks when using the default route.If output/ already exists, create a timestamped run folder inside it unless the user explicitly requests overwrite.
./install.sh
Use heavier optional setup only when needed:
./setup_local_engines.sh --with-shuttersift --with-onnx-export
./run.sh "/path/to/input-folder"
imagegen_tasks.json and invoke Codex imagegen for each selected image.edited/:./scripts/finalize_imagegen_outputs.py "/path/to/output" "~/.codex/generated_images/.../generated-1.png"
Pass generated image paths in the same order as imagegen_tasks.json.
Score each photo on a 100-point rubric:
The default selection keeps the strongest 20% of images, with a minimum of 1 and a maximum of 30. The user can override this with --keep-count, --keep-ratio, or --min-score.
The default retouching is visible but identity-preserving, using Codex imagegen with a CosKit-inspired portrait workflow:
Local baseline and onnx-skin engines remain available for fully local tests, but they are not the preferred beauty-retouch route.
./run.sh "/path/to/raw-shoot"
./run.sh "/path/to/raw-shoot" --keep-count 12 --imagegen-style clean
./run.sh "/path/to/raw-shoot" --keep-ratio 0.1 --min-score 62 --output-name output
run.sh for normal execution. It prefers the local .venv created by install.sh, then falls back to python3.--cull-engine shuttersift uses vendored ShutterSift scoring formulas in fast lite mode by default.--shuttersift-mode cli uses the full vendored ShutterSift CLI and its results.json scores. This can be much slower because it initializes pyiqa/MUSIQ and MediaPipe.--retouch-engine codex-imagegen creates CosKit-inspired imagegen tasks and is the default.--retouch-engine onnx-skin uses the vendored skin-retouching-onnxruntime pipeline for local-only tests.--retouch-engine baseline uses deterministic local Pillow/OpenCV edits for local-only tests.model.onnx, retouch_generator.onnx, and face_detector.onnx in the skin model directory. Local blemish removal also needs local_detection.onnx and local_inpainting.onnx.Use the default local culling route and Codex imagegen retouching route:
./run.sh "/path/to/input-folder" --imagegen-style beauty
After optional ShutterSift setup, enhanced culling can be requested:
./run.sh "/path/to/input-folder" --cull-engine shuttersift --imagegen-style beauty
Use this for normal high-quality portrait output, and especially when the user says image creation or image reading must use Codex imagegen.
output/selected_originals/, imagegen_tasks.json, and reports:./run.sh "/path/to/input-folder" --imagegen-style beauty
output/imagegen_tasks.json or output/imagegen_instructions.md.output/edited/ if the environment exposes a generated file path. Generated images are normally under ~/.codex/generated_images/../scripts/finalize_imagegen_outputs.py "/path/to/output" "~/.codex/generated_images/.../image-1.png"
If imagegen only returns the image in chat, return it to the user and state that the local file was not automatically written.
Do not use CosKit's own image API in this mode. Use CosKit's workflow/prompt concepts and Codex imagegen for the actual image creation.