Edit, analyze, and create Node-RED flows by working with flows.json files, understanding node types, and applying Node-RED best practices. Use when the user mentions Node-RED, flows.json, flow development, or needs to modify Node-RED configurations.
This skill provides comprehensive support for Node-RED development, including flow creation, modification, validation, and deployment through the Admin API.
Use this skill when:
Execute these Python scripts for common Node-RED operations:
generate_uuid.py - Generate valid Node-RED node IDs
python scripts/generate_uuid.py [count]
validate_flow.py - Validate flow JSON structure and wire connections
python scripts/validate_flow.py <flow.json>
wire_nodes.py - Connect nodes programmatically
python scripts/wire_nodes.py <flow.json> <source_id> <target_id> [output_port]
create_flow_template.py - Generate boilerplate flows
python scripts/create_flow_template.py <mqtt|http-api|data-pipeline|error-handler> [output.json]
Consult these detailed references as needed:
Use these templates and boilerplate files:
scripts/create_flow_template.pyscripts/validate_flow.pyz property)x, y)scripts/wire_nodes.py to connect nodes if neededFor function nodes, reference:
assets/boilerplate/function_async.js for async operationsassets/boilerplate/function_context.js for context storagereferences/function_snippets.md for specific patternsAvailable objects in function nodes:
msg - Message objectnode - Node API (send, done, error, warn, log, status)context - Node-scoped storageflow - Flow-scoped storageglobal - Global storageRED - Runtime APIenv - Environment variablesTo deploy flows via the Admin API:
Retrieve current configuration:
GET /flows
Modify the configuration as needed
Deploy with appropriate deployment type:
POST /flows
Headers: Node-RED-Deployment-Type: full|nodes|flows|reload
Verify deployment success
Every Node-RED message follows this pattern:
msg.payloadmsg.topicmsg._msgidImplement error handling using:
Use environment variables for configuration:
$(ENV_VAR_NAME)env.get("ENV_VAR_NAME")-e KEY=valueChoose appropriate context level:
Before deploying flows, verify:
z property) are correctGenerate five Node-RED UUIDs:
python scripts/generate_uuid.py 5
Create an MQTT flow template:
python scripts/create_flow_template.py mqtt my-mqtt-flow.json
Validate a flow file:
python scripts/validate_flow.py flows.json
Wire two nodes together:
python scripts/wire_nodes.py flows.json inject-node-id debug-node-id
~/.node-red/flows_<hostname>.json~/.node-red/settings.js~/.node-red/node_modules/node-rednode-red --safenode-red myflows.jsonFor common issues:
scripts/validate_flow.py to find syntax errorsFor detailed specifications and examples:
references/node_schemas.md for node property detailsreferences/api_reference.md for API operationsreferences/function_snippets.md for tested code patternsassets/templates/ as starting pointsSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer