skills-templates/ai-workflow/langflow/SKILL.md
A powerful Python-based visual framework for building and deploying AI-powered agents and workflows with Model Context Protocol (MCP) integration, drag-and-drop interface, and enterprise-grade deployment options
npx skillsauth add enuno/claude-command-and-control langflowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Langflow is an open-source, Python-based platform for building and deploying AI-powered agents and workflows through a visual drag-and-drop interface. With 142,000+ GitHub stars and used by 1,500+ projects, Langflow enables rapid prototyping of AI applications without requiring extensive coding knowledge.
Flow (Workflow)
├── Components (Building Blocks)
│ ├── Inputs/Outputs (Ports)
│ ├── Parameters (Configuration)
│ └── Python Code (Logic)
├── Edges (Connections)
└── Canvas (Visual Editor)
uv (recommended)# Create virtual environment
uv venv langflow-env
# Activate environment
# macOS/Linux:
source langflow-env/bin/activate
# Windows:
langflow-env\Scripts\activate
# Install Langflow
uv pip install langflow
# Launch
uv run langflow run
# Access at http://127.0.0.1:7860
docker run -p 7860:7860 langflowai/langflow:latest
Download from https://www.langflow.org/desktop
Note: Desktop version lacks Shareable Playground and Voice Mode features.
Chat Input → Agent (with Tools) → Chat Output
↓
[Calculator, Web Search, URL Fetcher]
Steps:
Scenario: Agent with external MCP server tools
Example: Using mcp-server-fetch to summarize tech news
# High availability deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: langflow
spec:
replicas: 3
template:
spec:
containers:
- name: langflow
image: langflowai/langflow:latest
env:
- name: LANGFLOW_AUTO_LOGIN
value: "false"
- name: LANGFLOW_SECRET_KEY
valueFrom:
secretKeyRef:
name: langflow-secrets
key: secret-key
# Generate API key via CLI
uv run langflow api-key
# Generate secure secret key
python3 -c "from secrets import token_urlsafe; print(f'LANGFLOW_SECRET_KEY={token_urlsafe(32)}')"
# Use in requests
curl -X POST "https://your-instance/api/v1/run" \
-H "x-api-key: $LANGFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"flow_id": "abc123", "inputs": {...}}'
Create Python component:
from langflow.custom import Component
from langflow.io import MessageTextInput, Output
from langflow.schema import Message
class CustomGreetingComponent(Component):
display_name = "Custom Greeting"
description = "Greets users with custom message"
inputs = [
MessageTextInput(
name="user_name",
display_name="User Name",
info="Name to greet"
)
]
outputs = [
Output(display_name="Greeting", name="output", method="greet")
]
def greet(self) -> Message:
name = self.user_name
return Message(text=f"Hello, {name}! Welcome to Langflow.")
Scenario: Research agent + summarization agent
# Disable auto-login for multi-user environments
export LANGFLOW_AUTO_LOGIN=False
# Set custom secret key (required for production)
export LANGFLOW_SECRET_KEY=$(python3 -c "from secrets import token_urlsafe; print(token_urlsafe(32))")
# Configure CORS (specific origins only)
export LANGFLOW_CORS_ORIGINS="https://yourdomain.com,https://app.yourdomain.com"
HTML Embedding:
<iframe src="https://your-langflow-instance/embed/flow-id"
width="100%" height="600px"></iframe>
React/Angular: Use API endpoints to integrate flows into applications
Lock component outputs during development:
LangSmith:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=your_api_key
LangFuse:
export LANGFUSE_PUBLIC_KEY=your_public_key
export LANGFUSE_SECRET_KEY=your_secret_key
Document Loader → Text Splitter → Embeddings → Vector Store
↓
User Query → Retriever → Context + Query → LLM → Response
Chat Input → Agent (with Chat Memory) → Tools → LLM → Chat Output
↑ ↓
└──────────── Session Storage ────────────┘
Input → Component A → Parse → Component B → Format → Output
OpenRAG is a comprehensive, production-ready Retrieval-Augmented Generation platform built on top of Langflow, providing a complete RAG solution with document processing, semantic search, and conversational AI capabilities.
OpenRAG combines three powerful technologies into a single, cohesive platform:
Repository: https://github.com/langflow-ai/openrag (23 stars) Documentation: https://docs.openr.ag/ Homepage: https://www.openr.ag Latest Version: v0.2.0 (December 2025) License: Apache License 2.0
Frontend (Next.js + TypeScript)
↓
Backend (Starlette + Python)
↓
┌─────────────────────────────────┐
│ Langflow (Workflow Engine) │
│ Docling (Document Processing) │
│ OpenSearch (Vector Search) │
└─────────────────────────────────┘
Language Distribution:
Document Management:
Intelligent Search:
Conversational AI:
Enterprise Features:
Quick Start (No Installation):
# Run directly with uvx (no local installation)
uvx openrag
# Run specific version
uvx --from openrag==0.2.0 openrag
Python Package Installation:
# Create project with uv
uv init my-rag-app
cd my-rag-app
# Add OpenRAG
uv add openrag
# Launch TUI
uv run openrag
Docker/Podman Deployment:
# OpenRAG automatically manages containers
# See: https://docs.openr.ag/docker
Managed Containers (Recommended):
Self-Managed Containers:
1. Enterprise Document Q&A
2. Research Assistant
3. Customer Support Knowledge Base
4. Legal Document Analysis
| Feature | Langflow | OpenRAG | |---------|----------|---------| | Purpose | Workflow builder | Complete RAG platform | | Setup Complexity | Manual workflow creation | Pre-configured RAG stack | | Document Processing | Manual component setup | Built-in Docling integration | | Vector Storage | Requires separate setup | Integrated OpenSearch | | Frontend UI | Build your own | Production Next.js app | | Use Case | Custom AI workflows | Document Q&A systems | | Best For | Flexible AI development | Production RAG deployments |
When to Use OpenRAG:
When to Use Langflow Directly:
December 2025 Release:
~/.openrag)# 1. Quick start (runs in TUI)
uvx openrag
# 2. Follow TUI prompts to:
# - Configure OpenSearch
# - Set up LLM provider (OpenAI, Anthropic, etc.)
# - Start services
# 3. Access web interface
# Default: http://localhost:3000
# 4. Upload documents and start chatting
Storage Location: ~/.openrag/
Environment Variables:
# LLM Provider
OPENAI_API_KEY=your_key
ANTHROPIC_API_KEY=your_key
# OpenSearch
OPENSEARCH_PASSWORD=secure_password
# Langfuse (Optional)
LANGFUSE_PUBLIC_KEY=your_key
LANGFUSE_SECRET_KEY=your_key
Common Issues:
Container Startup Failures
openrag logsDocument Ingestion Errors
Search Not Working
Get Help:
# Change default port
uv run langflow run --port 8080
# Reinstall with all extras
uv pip install langflow[all]
# View logs
docker logs langflow-container
# Restart with fresh state
docker rm langflow-container
docker run -p 7860:7860 -v langflow-data:/app/data langflowai/langflow:latest
.env fileUse the Langflow skill when:
Skill Type: AI Workflow Development Platform Complexity Level: Beginner to Advanced Maintenance Status: ✅ Active (v1.7.1, December 2025) Community Health: ✅ Excellent (142k stars, 331 contributors, 1500+ projects)
tools
MemPalace local-first AI memory system. Use when setting up persistent memory for Claude Code sessions, mining project files or conversation transcripts, querying past context, configuring MCP tools, managing the knowledge graph, or troubleshooting palace operations.
tools
LangSmith Python SDK — trace, evaluate, and monitor LLM applications. Covers @traceable decorator, trace context manager, Client API, evaluate() / aevaluate(), comparative evaluation, custom evaluators, dataset management, prompt caching, ASGI middleware, and pytest plugin.
development
LangGraph (Python) — build stateful, controllable agent graphs with checkpointing, streaming, persistence, interrupts, fault tolerance, and durable execution. Covers both Graph API (StateGraph) and Functional API (@entrypoint/@task).
development
LangGraph Graph API (Python) — build explicit DAG agent workflows with StateGraph, typed state, nodes, edges, Command routing, Send fan-out, checkpointers, interrupts, and streaming. Use when you need explicit control flow and graph topology.