| name | core-sdk |
| description | Kailash Core SDK fundamentals including workflow creation, node patterns, connections, runtime execution, parameter passing, error handling, cyclic workflows, async patterns, MCP integration, and installation. Use when asking about 'workflow basics', 'core sdk', 'create workflow', 'workflow builder', 'node patterns', 'connections', 'runtime', 'parameters', 'imports', 'installation', 'getting started', 'workflow execution', 'async workflows', 'error handling', 'cyclic workflows', 'PythonCode node', 'SwitchNode', or 'MCP integration'. |
Kailash Core SDK - Foundational Skills
Comprehensive guide to Kailash Core SDK fundamentals for workflow automation and integration.
Features
The Core SDK provides the foundational building blocks for creating custom workflows with fine-grained control:
- 110+ Workflow Nodes: Pre-built nodes for AI, API, database, file operations, logic, and more
- WorkflowBuilder API: String-based workflow construction with type safety
- Dual Runtime Support: AsyncLocalRuntime (Docker/FastAPI) and LocalRuntime (CLI/scripts)
- Advanced Patterns: Cyclic workflows, conditional execution, error handling
- MCP Integration: Built-in Model Context Protocol support
- Parameter Passing: Flexible data flow between nodes
- Zero Configuration: Auto-detection of runtime context
- Production Ready: Enterprise features including monitoring, validation, and debugging
Quick Start
from kailash.workflow.builder import WorkflowBuilder
from kailash.runtime.local import LocalRuntime
workflow = WorkflowBuilder()
workflow.add_node("NodeName", "id", {"param": "value"})
runtime = LocalRuntime()
results, run_id = runtime.execute(workflow.build())
Reference Documentation
Getting Started
- workflow-quickstart - Create basic workflows with WorkflowBuilder
- kailash-installation - Installation and setup guide
- kailash-imports - Import patterns and module organization
Core Patterns
- node-patterns-common - Common node usage patterns
- connection-patterns - Linking nodes and data flow
- param-passing-quick - Parameter passing strategies
- runtime-execution - Executing workflows (sync/async)
Advanced Topics
- async-workflow-patterns - Asynchronous workflow execution
- cycle-workflows-basics - Cyclic workflow patterns
- error-handling-patterns - Error management strategies
- switchnode-patterns - Conditional routing with SwitchNode
- pythoncode-best-practices - PythonCode node best practices
- mcp-integration-guide - Model Context Protocol integration
Key Concepts
WorkflowBuilder Pattern
- String-based node API:
workflow.add_node("NodeName", "id", {}) - Always call
.build()before execution - Never
workflow.execute(runtime)- alwaysruntime.execute(workflow.build())
Runtime Selection
- AsyncLocalRuntime: For Docker/FastAPI (async contexts) - async-first, no threading, 10-100x faster
- LocalRuntime: For CLI/scripts (sync contexts) - synchronous execution with thread support
- get_runtime(): Auto-detection helper that selects appropriate runtime based on context
Both runtimes return identical structure: (results, run_id) tuple.
Runtime Architecture
Both LocalRuntime and AsyncLocalRuntime inherit from BaseRuntime with shared capabilities:
BaseRuntime Foundation:
- 29 configuration parameters (debug, enable_cycles, conditional_execution, connection_validation, etc.)
- Execution metadata management
- Common initialization and validation modes (strict, warn, off)
Shared Mixins:
- CycleExecutionMixin: Cyclic workflow execution with validation
- ValidationMixin: Workflow structure validation (5 methods)
- ConditionalExecutionMixin: Conditional execution and branching with SwitchNode support
AsyncLocalRuntime-Specific:
- WorkflowAnalyzer for optimal execution strategy
- Level-based parallelism for concurrent execution
- Thread pool for sync nodes without blocking
- Semaphore control to prevent resource exhaustion
Critical Rules
- ✅ ALWAYS:
runtime.execute(workflow.build()) - ✅ String-based nodes:
workflow.add_node("NodeName", "id", {}) - ✅ 4-parameter connections:
(source_id, source_param, target_id, target_param) - ✅ Docker/FastAPI: Use AsyncLocalRuntime (mandatory)
- ✅ CLI/Scripts: Use LocalRuntime
- ❌ NEVER:
workflow.execute(runtime) - ❌ NEVER: Instance-based nodes
- ❌ NEVER: Use LocalRuntime in Docker (causes hangs)
When to Use This Skill
Use this skill when you need to:
- Create custom workflows from scratch
- Understand workflow fundamentals
- Learn node patterns and connections
- Set up runtime execution
- Handle errors in workflows
- Implement cyclic or async patterns
- Integrate with MCP
- Get started with Kailash SDK
Related Skills
- 02-dataflow - Database operations framework built on Core SDK
- 03-nexus - Multi-channel platform framework built on Core SDK
- 04-kaizen - AI agent framework built on Core SDK
- 06-cheatsheets - Quick reference patterns
- 08-nodes-reference - Complete node reference
- 09-workflow-patterns - Industry workflow templates
- 17-gold-standards - Mandatory best practices
Support
For complex workflows or debugging, invoke:
pattern-expert- Workflow patterns and cyclic debuggingsdk-navigator- Find specific nodes or patternstesting-specialist- Test workflow implementations