Validate SVG inputs and convert svg/png/jpg/jpeg/webp inputs to png/webp/jpg
Translate a user’s natural-language request into a safe invocation of the image-processing CLI.
Prereqs:
out/ paths).image-processing available on PATH (install via brew install nils-cli).Inputs:
convert: --in <path> + --to png|webp|jpg + --out <file>; accepts svg|png|jpg|jpeg|webp inputssvg-validate: exactly one --in <path> + --out <file.svg>--width / --height.--overwrite, --dry-run, --json, --report.Outputs:
out/image-processing/runs/<run_id>/:
summary.json (when --json or --report is used)report.md (when --report is used)Exit codes:
0: success1: failure2: usage errorFailure modes:
image-processing binary).--overwrite.--in / --to / --out--in--out extension mismatch vs --to (.jpeg is valid for --to jpg)--width / --height valuessvg-validate contract:
--in--out--to/--width/--heightconvert or svg-validate.convert): png / webp / jpg.convert): --width, --height.--dry-run, --json, --report, --overwrite.--to jpg): .jpg or .jpeg.If underspecified: ask must-have questions first
skills/workflows/conversation/ask-questions-if-underspecified/SKILL.mdSingle entrypoint (do not bypass)
image-processing (from PATH; install via brew install nils-cli)image-processing CLI itself.Contract gate (exactly one operation path)
convert: require exactly one --in, plus --to and --out.convert: accept svg|png|jpg|jpeg|webp inputs; require --out extension to match --to (.jpeg allowed for --to jpg).svg-validate: require exactly one --in and --out; forbid --to/--width/--height.Completion response (fixed)
skills/tools/media/image-processing/references/ASSISTANT_RESPONSE_TEMPLATE.mdskills/tools/media/image-processing/references/IMAGE_PROCESSING_GUIDE.mdskills/tools/media/image-processing/references/ASSISTANT_RESPONSE_TEMPLATE.md