"Create and maintain Langflow Python components, extension bundles,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill component-development --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Component Development?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-component-development)More formats (shields.io, HTML) on the badges page.
---
name: component-development
description: "Create and maintain Langflow Python components, extension bundles,
component indexes, and component tests."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Langflow Component Development
Use this sub-skill when adding, updating, packaging, or testing Langflow Python components. It covers `Component` subclasses, inputs/outputs, extension bundles, dynamic loading, component index rebuilds, and component test structure.
## Route First
- Use this sub-skill for Python component classes, `inputs`, `outputs`, `Message`/`Data`/`DataFrame` returns, bundle manifests, extension entry points, `LFX_DEV`, component index rebuilds, and component unit tests.
- Route backend API routes, services, auth, database, and graph internals to `../backend-runtime/SKILL.md`.
- Route frontend icon import maps, React UI wiring, Vite, Jest, and Playwright work to `../frontend-development/SKILL.md`.
- Route release automation, broad monorepo formatting/linting, version bumps, and CI policy to `../repo-maintenance/SKILL.md`.
## Core Workflow
1. Preserve identity before changing code: do not rename a released component class or its `name` attribute unless you intentionally create a new component and keep the old one as `legacy = True`.
2. Define or update the `Component` subclass with stable metadata, serializable inputs, and `Output(..., method="...")` entries that point to real instance methods.
3. Return Langflow schema objects (`Message`, `Data`, `DataFrame`) or integration objects expected by downstream handles; avoid returning raw provider responses unless the output contract says so.
4. For built-in components, place the class in the correct component category and update category exports or dynamic import maps consistently with the existing package pattern.
5. For extension bundles, package components behind a valid `extension.json` or `[tool.langflow.extension]` manifest and a `langflow.extensions` entry point.
6. Validate with the bundled skeleton helper first, then use focused native checks such as component unit tests, extension validation, and component index rebuilds when safe.
## References
- `references/component-api.md` explains component class shape, metadata, inputs, outputs, return values, async behavior, and compatibility rules.
- `references/bundles-and-indexes.md` explains extension manifests, pyproject entry points, bundle IDs, dynamic loading, and component index rebuilds.
- `references/troubleshooting.md` maps common import, schema, CLI/API, runtime, credential, network, and hardware failures to fixes.
## Helper Script
Run the local skeleton checker from this skill tree before deeper tests:
```bash
python scripts/check_component_skeleton.py path/to/component.py
python scripts/check_component_skeleton.py path/to/component.py --class MyComponent --import-module
```
The default mode parses Python only and is safe for components with missing optional dependencies. `--import-module` performs runtime checks and can import provider SDKs, so use it only in an environment with the component's dependencies installed.
## Focused Validation Commands
Use the smallest safe command that covers the change:
```bash
python -m py_compile path/to/component.py
python scripts/check_component_skeleton.py path/to/component.py
make build_component_index
lfx extension validate path/to/extension/root
python -m pytest src/backend/tests/unit/components/<category>/test_<component>.py -q
```
For components requiring API keys, databases, GPUs, local OCR, Torch, or network services, keep the static checks runnable and mark native tests with the appropriate skip/credential guard instead of forcing credentials into tests.
## Evidence Distilled
This guidance is distilled from Langflow component contribution docs, component test docs, extension manifest docs, the `lfx` `Component` implementation, the `langflow` compatibility shim, IO exports, bundle `pyproject.toml`/manifest patterns, the component index builder, and existing component tests. Runtime files here are self-contained; source paths are evidence names, not required reading for future agents.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!