Run a phased processing-workflow audit from UI submit bindings to backend execution: map workflow paths first, then validate parameter, type, and initialization correctness.
60
71%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.github/skills/check-processing/SKILL.mdPerform a detailed step-by-step trace of generation workflows from UI definitions and submit bindings to backend execution, then validate that parameters are passed, typed, and initialized correctly.
.github/instructions/core.instructions.md for relevant core runtime guidance before proceeding.Run workflow coverage in this order to keep checks focused and complete:
txt2img: modules/ui_txt2img.py -> modules/txt2img.py -> modules/processing.py:process_images -> modules/processing_diffusers.py:process_diffusersimg2img: modules/ui_img2img.py -> modules/img2img.py -> modules/processing.py:process_images -> modules/processing_diffusers.py:process_diffuserscontrol/process: modules/ui_control.py -> modules/control/run.py (and related control processing entrypoints) -> modules/processing.py:process_images -> modules/processing_diffusers.py:process_diffuserscaption/process: modules/ui_caption.py -> caption handler module(s) -> modules/processing.py:process_images and/or postprocess/caption execution module(s), depending on selected caption backendvideo: modules/ui_video.py -> modules/video_models/video_run.py -> modules/processing.py:process_images and/or postprocess/video execution module(s), depending on implementationAlso validate script hooks when present:
modules/scripts_manager.py (run, before_process, process, process_images, after)modules/ui_txt2img.pymodules/txt2img.pymodules/ui_img2img.pymodules/img2img.pymodules/ui_control.pymodules/control/run.pymodules/ui_caption.pymodules/ui_video.pymodules/video_models/video_run.pymodules/processing.pymodules/processing_diffusers.pymodules/scripts_manager.pyFor each covered workflow, verify all three dimensions:
None handling, fallback logic, and object state)For each workflow (txt2img, img2img, control, caption, video):
inputs=[...] list order and target function (fn=...).call_queue.wrap_gradio_gpu_call, queued wrappers) to actual function signatures.processing.process_images, then process_diffusers when applicable).Produce a table per workflow with standardized columns and consistent formatting:
For each submit path:
inputs order against function positional parameter order.*args and script arguments.state, task id, mode flags, and tab selections align with function signatures.Check that semantically related parameters remain coherent across layers:
sampler_index, hr_sampler_index, sampler name conversion)Flag mismatches such as:
Audit type compatibility from UI component to processing target:
gr.Image/gr.File/gr.Video outputs vs expected Python types (PIL.Image, bytes, list, path-like, etc.)int vs float) and conversion pointsNone) and .name/attribute access safetyFlag ambiguous or unsafe assumptions, especially for optional file inputs and mixed scalar/list values.
In target modules (txt2img.py, img2img.py, control/run.py, processing classes):
Include checks for common regressions:
None passed into required processing fieldsWhere script systems are involved:
scripts_*.run(...) fallback behavior to processing.process_images(...)scripts_*.after(...) receives compatible processed objectsetup_ui(...) orderIf feasible, run lightweight smoke validation for each workflow:
Use very small dimensions/steps to limit runtime. If runtime checks are not feasible, explicitly report static-only limitations.
Return findings by severity:
For each finding include:
txt2img | img2img | control | caption)ui -> handler, handler -> processing, processing -> diffusers)Also include summary counts:
A full pass requires all of the following:
processing.process_images is coherentIf only part of the workflow scope was checked, report partial pass with explicit exclusions.
058a7f0
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.