Run a phased scheduler audit from modules/sd_samplers_diffusers.py and scheduler UI definitions: verify class loadability first, then config validity against scheduler capabilities, then SamplerData correctness and UI option alignment.
60
72%
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-schedulers/SKILL.mdUse modules/sd_samplers_diffusers.py as the starting point and verify that scheduler classes, scheduler config, and SamplerData mappings are coherent and executable.
The audit must explicitly verify all four:
__init__.SamplerData entries and mapping correctness.Primary file:
modules/sd_samplers_diffusers.pyRelated files:
modules/ui_sections.py for scheduler UI definitions in create_sampler_and_steps_selection and create_sampler_optionsscripts/xyz/xyz_grid_classes.py for mirrored scheduler UI values used by the XYZ grid scriptsmodules/sd_samplers_common.py for SamplerData definition and sampler expectationsmodules/sd_samplers.py for sampler selection flow and runtime wiringmodules/schedulers/**/*.py for custom scheduler implementationsmodules/res4lyf/**/*.py for Res4Lyf scheduler classes (if installed/enabled).github/instructions/core.instructions.md for relevant core runtime guidance before proceeding.Treat this as a two-level check:
SamplerData(... DiffusionSampler(..., SchedulerClass, ...)) resolves without missing symbol errors.Notes:
torch.nn.Module schedulers, "compiled" means the scheduler integration path is executable in runtime checks (not necessarily torch.compile).modules/sd_samplers_diffusers.py.samplers_data_diffusers.config.Create a joined table by sampler name with:
Before validating runtime scheduler classes, inspect modules/ui_sections.py and confirm that the UI definitions for scheduler options are consistent with the later scheduler code.
create_sampler_and_steps_selection presents sampler names that exist in the sampler registry and are valid for the downstream selection flowcreate_sampler_options option lists and values match the scheduler runtime option names and accepted values used later in codedefault, karras, betas, exponential, flowmatch, linspace, leading, trailing, and checkbox option labels are consumed correctly by scheduler configuration handlingFor each mapped scheduler class:
Flag missing imports, dead entries, or stale class names.
For each sampler config entry:
__init__ signature and accepted config fieldsSpecial attention:
if 'EDM' in name or name in {'IPNDM', 'CMSI', 'VDM Solver'} in DiffusionSampler: verify whether unsupported keys are removed intentionally before constructor invocationFor each SamplerData entry:
DiffusionSampler with the expected scheduler classFlag mismatches such as wrong display name, wrong class wired to name, or stale aliasing.
If feasible, run lightweight checks:
set_timesteps and a dummy step where possible)If runtime checks are not feasible for some schedulers, mark those explicitly as unverified-at-runtime.
Where scheduler runtime path supports compile-related checks in SD.Next:
Do not mark compile as passed if only static checks were done.
Return findings ordered by severity:
SamplerData mapping inconsistenciesFor each finding include:
Also include summary counts:
SamplerData entries checkedThe check passes only if all are true:
SamplerData entry is correctly mapped and usableIf scope is partial due to environment limitations, report pass with explicit limitations, not a full pass.
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.