building-langflow-componentslisted
Install: claude install-skill Cristhianzl/claude-skills-czl
# Building Langflow Components
A Langflow Component is a Python class that becomes a draggable node in the visual flow editor. Every component is a contract between the flow JSON (which references the class by name) and the runtime (which loads and executes it). Get the contract right and the component lasts forever; get it wrong and you break saved flows for every user who ever used it.
## Read first (always)
List `learnings/` and read every file relevant to the current component (provider, bundle, AI runtime, etc.). Project-specific naming conventions, banned dependencies, icon rules, or provider-specific patterns live there and override the defaults in this SKILL.md. If a learning conflicts with this file, **the learning wins** — mention it to the user.
Also read `AGENTS.md` at the Langflow repo root — it's canonical and may have evolved.
## Tradeoff — when to apply, when to lighten up
Apply the full discipline (immutable name, full test suite with `ComponentTestBaseWith[out]Client`, ADR for non-obvious design, BUNDLE_API changelog when relevant) for **every new component that ships**.
Lighten formality for: throwaway experiments, components behind `LFX_DEV=...,my_local_only` that will never enter `__init__.py`, internal sandbox tests. Even then, follow the class structure — it's how the framework discovers the component at all.
## The non-negotiable rule
> **A component's class name is its identity in every saved flow.** Renaming `OpenAIModelComponent` to `OpenAI