Flowise designer
Generate, design, and export valid Flowise Chatflow and AgentFlow JSON files ready to import into Flowise. Use this skill whenever the user wants to: build a Flowise flow, create a chatflow, create an agentflow, design an AI workflow in Flowise, generate Flowise JSON, build a RAG pipeline in Flowise, create a Flowise tool agent, connect LLMs/memory/vector stores/tools in Flowise, or export a flow to import into Flowise. Trigger even if the user says things like "make me a Flowise bot that does X", "I want a RAG flow in Flowise", "build me an agent in Flowise", or "generate Flowise JSON for Y".From its SKILL.md
npx -y skills add scholarly360/flowise-designer --skill flowise-designerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.8 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it
Flowise Flow Generator
Generate production-ready Flowise Chatflow and AgentFlow V2 JSON files that can be imported directly into Flowise via Import Chatflow or the API (POST /api/v1/chatflows).
Quick Decision: Chatflow vs AgentFlow V2?
| Use Chatflow when… | Use AgentFlow V2 when… |
|---|---|
| Simple LLM chain or RAG pipeline | Multi-step orchestration with branching |
| Single agent with tools | Human-in-the-loop / approval steps |
| Conversational memory + retrieval | Parallel paths / conditional logic |
| Standard LangChain pattern | Stateful flows using $flow.state |
| User doesn't specify | User says "agent flow", "multi-step", "branching" |
If the user doesn't specify, default to Chatflow for simple use cases and AgentFlow V2 for anything with branching, conditions, or multi-step orchestration.
Step 1 — Understand the Request
Gather (ask if not provided):
- Goal: What should the flow do?
- LLM: Which model? (OpenAI, Anthropic, Ollama, Groq, etc.)
- Components needed: Memory? Vector store? Tools? Document loaders?
- Flow type: Chatflow or AgentFlow V2?
- Credentials: Which API keys will be needed (note them but leave
credential: "")
Step 2 — Design the Architecture
Before writing JSON, sketch the node graph mentally:
- Identify all nodes needed (LLM, chain/agent, memory, tools, retriever, embeddings, etc.)
- Identify connections between nodes (which output plugs into which input)
- Verify type compatibility — source
baseClassesmust intersect target anchortype - Assign node IDs following pattern
{nodeName}_{index}(e.g.chatOpenAI_0,pinecone_0) - Plan layout positions — space nodes ~400px apart horizontally, arrange left-to-right by data flow
Step 3 — Generate the JSON
Top-Level Structure (always this shape)
{
"nodes": [ /* array of node objects */ ],
"edges": [ /* array of edge objects */ ],
"viewport": { "x": 0, "y": 0, "zoom": 0.75 }
}
Node Object Template
{
"id": "{nodeName}_{index}",
"position": { "x": 0, "y": 0 },
"type": "customNode",
"data": {
"id": "{nodeName}_{index}",
"label": "Human Readable Label",
"version": 1,
"name": "{nodeName}",
"type": "{ComponentType}",
"baseClasses": ["{ComponentType}", "...parent classes..."],
"category": "{Category}",
"description": "What this node does",
"inputParams": [ /* form fields — see references/schema.md */ ],
"inputAnchors": [ /* connectable input sockets */ ],
"inputs": { /* actual values + instance references */ },
"outputAnchors": [ /* output sockets */ ],
"outputs": {},
"credential": "",
"selected": false
},
"width": 300,
"height": 500,
"selected": false,
"positionAbsolute": { "x": 0, "y": 0 },
"dragging": false
}
Key rules:
data.idmust equal the node'sidtypeis"customNode"for Chatflow;"agentFlow"for AgentFlow V2positionandpositionAbsolutemust be identical- Anchor references in
inputsuse:"{{otherNodeId.data.instance}}" - Leave
credential: ""— user connects credentials in the UI
Edge Object Template — Chatflow
{
"source": "{sourceNodeId}",
"sourceHandle": "{sourceNodeId}-output-{outputName}-{Type1|Type2|Type3}",
"target": "{targetNodeId}",
"targetHandle": "{targetNodeId}-input-{inputName}-{AcceptedType}",
"type": "buttonedge",
"id": "{sourceNodeId}-{sourceHandle}-{targetNodeId}-{targetHandle}"
}
Critical rules (Chatflow only):
typeMUST be"buttonedge"(not"default", not"smoothstep")sourceHandleformat:{nodeId}-output-{name}-{BaseClass1|BaseClass2|...}targetHandleformat:{nodeId}-input-{name}-{AcceptedBaseClass}id= concatenation of{source}-{sourceHandle}-{target}-{targetHandle}- Connection is valid only if source
baseClasses∩ target anchortypeis non-empty
Edge Object Template — AgentFlow V2
{
"source": "{sourceNodeId}",
"sourceHandle": "{sourceNodeId}-output-{outputName}",
"target": "{targetNodeId}",
"targetHandle": "{targetNodeId}",
"data": { "sourceColor": "{hexColor}", "targetColor": "{hexColor}", "isHumanInput": false },
"type": "agentFlow",
"id": "{sourceNodeId}-{sourceHandle}-{targetNodeId}-{targetHandle}"
}
Critical rules (AgentFlow V2 only):
typeMUST be"agentFlow"— NOT"buttonedge"sourceHandleformat:{nodeId}-output-{outputName}— no type classes appendedtargetHandleformat: just the target node ID — no-input-pathdataobject is required: setsourceColor/targetColorto node hex colors (seereferences/schema.mdSection 8 table); setisHumanInput: trueonly for edges from a HumanInput nodeid= concatenation of{source}-{sourceHandle}-{target}-{targetHandle}
Step 4 — Output & Delivery
- Generate the complete, valid JSON
- Save it as
{flow-name}.jsonusingcreate_fileto/mnt/user-data/outputs/ - Present the file with
present_files - Tell the user: Flowise → Add New → Import Chatflow → select the file (or drag-and-drop)
- Remind them to connect their credentials in the node settings after import
Reference Files
Read these when you need detailed schema information:
references/schema.md— Full nodedataschema, all inputParam types, anchor id formats, AgentFlow V2 differences, common gotchasreferences/nodes.md— Ready-to-use node templates for every major category: Chat Models, LLMs, Chains, Agents, Tools, Vector Stores, Memory, Embeddings, Document Loaders, Text Splitters, Output Parsers, AgentFlow V2 nodes
When to read them:
references/schema.md→ when you need to verify field formats, param types, or AgentFlow V2 specificsreferences/nodes.md→ always — copy node templates from here rather than generating from memory. Node schemas must be exact.
Common Patterns (Quick Reference)
Pattern A: Simple Conversational RAG
ChatModel → ConversationalRetrievalQAChain ← VectorStoreRetriever ← [Embeddings + VectorStore ← DocumentLoader ← TextSplitter]
Pattern B: Tool Agent
ChatModel → ToolAgent ← [Tool1, Tool2, ...] ← Memory (optional)
Pattern C: AgentFlow V2 Linear
Start → LLM → DirectReply
Pattern D: AgentFlow V2 with Condition
Start → Agent → Condition → [Path A: DirectReply] / [Path B: HumanInput → Agent → DirectReply]
Validation Checklist
Before outputting the final JSON, verify:
- Every
data.idmatches its nodeid - Every
positionmatchespositionAbsolute - Chatflow edges:
"type": "buttonedge"with full{nodeId}-output-{name}-{Types}/{nodeId}-input-{name}-{Type}handles - AgentFlow V2 edges:
"type": "agentFlow",targetHandle= node ID only,datacolor object present - All edge
sourceHandle/targetHandleids are correct and consistent with their nodes' anchor ids - All
inputsreferences use{{nodeId.data.instance}}format -
credential: ""on all nodes (not a real credential value) - No circular dependencies in Chatflows
- AgentFlow V2:
type: "agentFlow"on node wrappers, includes astartAgentflow_0node - JSON is valid (balanced brackets, proper commas, no trailing commas)
What ships with it: 2 files
79.4 KB alongside SKILL.md