Skip to content
Back to skills

Component Development

ASecurity

"Create and maintain Langflow Python components, extension bundles,

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
developmentpythongobashreacttestingapidatabasefrontendbackend

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill component-development --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Component Development?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Component Development
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-component-development/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-component-development)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md4.1 KB
  • references/bundles-and-indexes.md8.6 KB
  • references/component-api.md8.3 KB
  • references/troubleshooting.md9.8 KB
  • scripts/check_component_skeleton.py13.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.