Use this skill for global n8n instance management. n8n-manager is the source of truth for instances, runtime state, tunnels, API keys, managed owner credentials, default projects, and workflow presentation links.
n8nac is available, first run {{N8NAC_CMD}} update-ai from the context root, then read AGENTS.md. update-ai is designed to create or refresh the n8n-as-code block without destroying existing user or agent instructions.n8n-manager command and n8nac command listed in AGENTS.md when present. Those context-root commands override the portable examples in this skill.{{N8N_MANAGER_CMD}} for global instance, auth, runtime, tunnel, project-default, credential, and workflow-presentation operations.{{N8NAC_CMD}} workspace ... only for context-root overrides such as pinned instance, sync folder, and project override.{{N8NAC_CMD}} workflow commands only after the effective context is ready.n8nac-config.json, ~/.n8n-manager, or n8n-manager secret files by hand.Inspect existing instances before changing state:
{{N8N_MANAGER_CMD}} instances list
{{N8N_MANAGER_CMD}} instances --help
{{N8N_MANAGER_CMD}} config get
Do not invent n8n-manager subcommands. In particular, instances create and --type local are not valid. Use instances add --mode ... exactly as documented by instances --help.
When the context root is not configured and no suitable existing instance is available, stop and ask the user to choose. Do not create infrastructure by default.
Present these choices clearly:
If the user chooses a managed local Docker instance, ask the tunnel question separately:
Do not enable, refresh, or start a public tunnel unless the user explicitly requested public access, webhook testing, or approved the tunnel option. If public access is not needed, create/start the managed instance without --tunnel.
Only run these commands after the user has explicitly chosen the corresponding option.
Managed local Docker without public tunnel:
{{N8N_MANAGER_CMD}} instances add --name <name> --mode managed-local-docker
{{N8N_MANAGER_CMD}} instances setup <id-or-name>
{{N8N_MANAGER_CMD}} instances start <id-or-name>
{{N8N_MANAGER_CMD}} instances status <id-or-name>
Managed local Docker with public tunnel:
{{N8N_MANAGER_CMD}} instances add --name <name> --mode managed-local-docker --tunnel
{{N8N_MANAGER_CMD}} instances setup <id-or-name> --tunnel
{{N8N_MANAGER_CMD}} instances start <id-or-name>
{{N8N_MANAGER_CMD}} instances tunnel status <id-or-name>
Remote or existing instances require user-provided credentials. Prefer stdin for API keys:
{{N8N_MANAGER_CMD}} auth set --url <url> --api-key-stdin --name <name>
{{N8N_MANAGER_CMD}} auth test --instance <id-or-name>
Project selection is instance-level unless the context root explicitly needs a workspace override:
{{N8N_MANAGER_CMD}} projects list --instance <id-or-name>
{{N8N_MANAGER_CMD}} projects select <project-id-or-name> --instance <id-or-name>
Self-hosted n8n may not expose the projects API or may return 401/403. In that case, do not retry project discovery. Use the n8n-architect workspace override path with the standard personal project unless the user gave another project:
{{N8NAC_CMD}} workspace set-project --project-id personal --project-name Personal
Runtime and tunnel operations are per instance:
{{N8N_MANAGER_CMD}} instances start <id-or-name>
{{N8N_MANAGER_CMD}} instances stop <id-or-name>
{{N8N_MANAGER_CMD}} instances restart <id-or-name>
{{N8N_MANAGER_CMD}} instances tunnel status <id-or-name>
{{N8N_MANAGER_CMD}} instances tunnel start <id-or-name>
{{N8N_MANAGER_CMD}} instances tunnel refresh <id-or-name>
Present workflow results after creating, modifying, pushing, or running a workflow:
{{N8N_MANAGER_CMD}} presentWorkflowResult --workflow-id <workflowId> --workspace-root <contextRoot>
instances list.