A new open-source tool called n8n-to-claw enables developers to port their n8n workflows directly into OpenClaw-compatible agent skills. The CLI takes n8n workflow JSON files (or fetches them directly from the n8n REST API) and uses an LLM to transpile them into SKILL.md descriptors paired with TypeScript implementations. The tool landed on Hacker News over the weekend with a score of 13.
How The Transpilation Works
The conversion pipeline runs through four stages: input parsing (normalizing n8n JSON to an intermediate representation), LLM transpilation (generating SKILL.md + skill.ts based on the IR), TypeScript validation, and finally packaging to disk. The tool requires an OpenAI-compatible LLM APIβsupporting OpenAI, Groq, OpenRouter, or local Ollama instances. GPT-4o or Claude Sonnet tier is recommended; smaller models (7Bβ13B) tend to produce syntactically broken output.
Output Structure & Graceful Degradation
Generated skills land in ~/.openclaw/workspace/skills/
Node Coverage
The tool explicitly maps 479 n8n node types across categories including 108 triggers (scheduleTrigger, githubTrigger, stripeTrigger), 230 HTTP/integrations (Slack, Notion, HubSpot), 61 transform nodes (set, code, merge), 30 database connectors, and more. Unmapped community nodes fallback to unknown_node_type stubs with full JSON passed to the LLM. Even unmapped triggers get auto-categorized via suffix rules.
Web UI & Docker Deployment
Beyond the CLI, there's a full web interface bundled with the project. Run npm run dev from the web/ directory to spin up a Vite frontend + Express API on port 3847. Upload workflow JSON, preview parse results, choose your LLM provider, and download the generated skill filesβno CLI install required. Docker support is also included: docker compose up --build runs the full stack in a container.
Key Takeaways
- Requires Node.js β₯ 20 and an OpenAI-compatible LLM API (set LLM_BASE_URL, LLM_API_KEY, LLM_MODEL env vars)
- Outputs to ~/.openclaw/workspace/skills/
/ with SKILL.md + skill.ts + warnings.json - 479 node types explicitly mapped; unknown nodes gracefully degrade to stubs
- Retry logic handles TypeScript failures, but logical correctness still requires human review
- Large workflows (50+ nodes) may exceed context limits on smaller models
The Bottom Line
This is exactly the kind of bridge tool the OpenClaw ecosystem needs right now. The n8n community has built thousands of automation workflowsβgiving them a migration path to AI agents without starting from scratch is smart. That said, don't expect magic: the docs explicitly warn that generated code needs human review before production use. Treat this as a solid scaffolding tool, not a replace-your-workflows-with-agents silver bullet.