v4.1.0 — CLI-only, scripts in skill folders
What this release is about
n8n-autopilot 4.1 is a structural cleanup. The plugin's tool surface shrinks, its role sharpens, and every skill now invokes bundled scripts instead of embedding executable code in the SKILL.md body.
What changed
CLI-only — no MCP server
Every skill reaches n8nac through npx n8nac …. The mcp__n8n-as-code__* namespace that earlier versions referenced was a phantom: the npm n8nac mcp entry-point crashes in every published version (require('mcp') without a declared dependency in @n8n-as-code/skills), and Etienne Lescot's n8n-as-code plugin ships skill knowledge, not an MCP server. There was no working setup in which those tool names resolved.
Companion plugin required
n8n-as-code@n8nac-marketplace by Etienne Lescot. It owns the n8n-architect skill — schema-first research, workflow authoring rules, AI/LangChain sub-node rules, common-mistakes catalogue, the canonical operating loop. n8n-autopilot delegates those and concentrates on what it uniquely adds.
Skills invoke bundled scripts, no inline executable code
Per the skill-creator norm (skill-name/scripts/), skill-specific executable code lives inside the skill folder. SKILL.md bodies are thin pointers (~50 lines each) — when to invoke and which flag does what. No node -e or bash -c walls in skill prose anymore.
| Skill | Bundled scripts |
|---|---|
pull-schemas |
discover-types.sh, fetch-one.sh, fetch-pkg.js, rebuild-index.js, run.sh (orchestrator) |
inventory |
aggregate.js |
sync-credentials |
list.js, fix-workflows.js |
This pattern prevents Claude from paraphrasing logic and re-implementing it ad-hoc (the failure mode that produced one-off helper scripts in consumer repos, wrong API paths, misclassified nodes).
What n8n-autopilot uniquely adds
| Skill | Role |
|---|---|
/n8n-autopilot:init-repo |
Workspace bootstrap with n8nac ≥ 2.2 setup flow |
/n8n-autopilot:build-workflow |
3-phase pipeline (Research → Write+Validate → Deploy+Test) with mandatory community-template lookup, auto-fix loop, mcpTrigger publish gate, completion report |
/n8n-autopilot:deploy |
validate → push (--verify) → credential check → test-plan → live test, with Class A/B error classification and --activate --prod path |
/n8n-autopilot:pull-schemas |
Two-stage schema cache: indexed nodes via n8nac skills node-info, non-indexed community nodes via direct npm-package extraction (works for any published n8n node package) |
/n8n-autopilot:sync-credentials --fix-workflows |
Rewrites stale credential IDs across local .workflow.ts files by matching credential names against the live instance |
/n8n-autopilot:inventory |
Aggregates node / LLM / credential / trigger usage from local workflows into docs/INVENTORY.md |
/n8n-autopilot:data-tables |
DataTable CRUD via the n8n REST API (the one curl carve-out, since n8nac has no datatable subcommand) |
/n8n-autopilot:check-mcps |
Health diagnostic for CLI version, workspace binding, companion plugin status |
n8n-code-javascript + n8n-code-python |
The only Code-node references that the n8n-architect skill does not cover |
SessionStart hooks: setup-check, community-node schema staleness, credential freshness, workspace migration diagnostic.
Removed
- Four knowledge skills duplicated by
n8n-architect:n8n-workflow-patterns,n8n-node-configuration,n8n-validation-expert,n8n-expression-syntax agents/n8n-researcher.md—n8n-architectis the researcher.mcp.json.example+ the init-repo MCP template — no MCP needed- All
claude plugin pathinvocations across docs, scripts, and templates — that subcommand does not exist in the Claude Code CLI
Fixed
- SessionStart hooks (
check-workspace-migration,check-credential-freshness) read$PWDinstead of$CLAUDE_PLUGIN_ROOT— the former is the user's workspace, the latter is the plugin install path. Earlier versions silently missed workspace-local config files and stale credential references. check-workspace-migrationreads theversionfield of anyn8nac-config.jsonit finds and surfaces the right reason (v1/v2 schema → legacy data; v4 schema → wrong location).setup-check.shno longer probes a broken MCP server; warns when the companion plugin is not enabled.init-repono longer scaffolds a.mcp.json(would have been non-functional). Setup flow updated to the n8nac 2.2 storage model.
Migration from 3.x
claude plugin marketplace add EtienneLescot/n8n-as-code
claude plugin install n8n-as-code@n8nac-marketplace
claude plugin install n8n-autopilot@n8n-autopilotIf your repo has a .mcp.json with only the n8n-as-code entry, delete it — it was never functional. If .mcp.json has other MCP entries, drop only the n8n-as-code block.
Verify: /n8n-autopilot:check-mcps — expect green across all rows.
Reference
- n8nac CLI reference: 2.2.1 (minimum 2.2.0)
- Node.js: 18 or higher
- Full changelog: CHANGELOG.md