L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

modular-pipelines

modular-pipelines

Create, customize, debug, and test Diffusers Modular Pipeline blocks, states, component managers, sequential/loop blocks, and custom-block CLI packaging.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: modular-pipelines description: "Create, customize, debug, and test Diffusers Modular Pipeline blocks, states, component managers, sequential/loop blocks, and custom-block CLI packaging." disable-model-invocation: true metadata: disco-role: operating license: Apache 2.0

Modular Pipelines

Use this sub-skill for Diffusers Modular Pipeline work: ModularPipeline, ModularPipelineBlocks, SequentialPipelineBlocks, LoopSequentialPipelineBlocks, AutoPipelineBlocks, ConditionalPipelineBlocks, PipelineState, BlockState, ComponentsManager, custom block packaging, and modular pipeline tests.

Route by task

  • Design or edit blocks, state keys, component specs, and workflow maps: read references/block-workflows.md.
  • Build, package, load, or insert custom blocks: read references/custom-blocks.md and use scripts/modular_block_skeleton.py.
  • Diagnose missing components, state mismatches, optional dependency failures, local/offline loading, dtype/device issues, and workflow selection bugs: read references/troubleshooting.md.
  • Add or adapt tests for modular families: read references/testing.md.
  • Check installed modular imports or diffusers-cli custom_blocks parser shape: run python sub-skills/modular-pipelines/scripts/modular_import_check.py.

Boundaries

  • Stay here for modular definitions, block composition, custom blocks, component sharing/offload, and modular test patterns.
  • Route classic DiffusionPipeline inference, non-modular pipeline call behavior, and end-user generation examples to pipelines-and-inference.
  • Route scheduler choice, scheduler configs, and sampling algorithm comparison to schedulers unless the scheduler is only being wired as a modular component.

Quick checklist

  • Every block declares all read values as InputParam and all written values as OutputParam in intermediate_outputs or final outputs.
  • Leaf blocks use block_state = self.get_block_state(state), write declared fields, call self.set_block_state(state, block_state), and return (components, state).
  • Loop sub-blocks receive a shared BlockState, not a PipelineState, and return (components, block_state) from each loop iteration.
  • Sequential and auto blocks have clear description text, ordered block_classes/block_names, and _workflow_map entries for supported public workflows.
  • Component work uses ComponentSpec, ConfigSpec, load_components, update_components, get_component_spec, and ComponentsManager rather than ad hoc attributes.
  • Custom blocks ship their Python module plus modular_config.json; remote custom code loads only with explicit trust_remote_code=True.

Useful scripts

  • scripts/modular_block_skeleton.py prints or writes a minimal custom block module with valid naming and state-update structure.
  • scripts/modular_import_check.py verifies core modular imports and confirms custom_blocks CLI arguments are registered.
Skills enregistrées