@n8n-as-code/n8nac 2.0.0-next.64 → 2.0.0-next.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/n8n-architect/SKILL.md +50 -50
- package/skills/n8n-manager/SKILL.md +27 -27
package/package.json
CHANGED
|
@@ -11,44 +11,44 @@ Use this skill for workflow engineering. Use the `n8n-manager` skill for instanc
|
|
|
11
11
|
|
|
12
12
|
- Treat the current context root as the directory containing `n8nac-config.json`, `AGENTS.md`, `.agents/skills`, and the workflow sync folder.
|
|
13
13
|
- Generated context root hint: not embedded. Use the shell launch directory or the workspace path explicitly given by the user.
|
|
14
|
-
- Before any n8n work, first run `npx --yes n8nac
|
|
14
|
+
- Before any n8n work, first run `npx --yes n8nac 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.
|
|
15
15
|
- Use the exact `n8nac command` and `n8n-manager command` listed in `AGENTS.md`. Those context-root commands override the portable examples in this skill.
|
|
16
|
-
- Run every `npx --yes n8nac
|
|
16
|
+
- Run every `npx --yes n8nac workspace ...`, `npx --yes n8nac list`, `pull`, `push`, `validate`, `test`, and `update-ai` command from the context root unless the user explicitly gives another context root.
|
|
17
17
|
- `AGENTS.md` is bootstrap context only, not a source of configuration truth.
|
|
18
18
|
- Do not infer instance, project, sync folder, or workflow directory from `AGENTS.md`.
|
|
19
19
|
- Before n8n work, resolve the effective context from the backend:
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
npx --yes n8nac
|
|
22
|
+
npx --yes n8nac workspace status --json
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
- Use the returned `workflowDir` for workflow files. Do not reconstruct it from `syncFolder`, `instanceIdentifier`, or `projectName`.
|
|
26
|
-
- Never write `n8nac-config.json` by hand. Use `npx --yes n8nac
|
|
26
|
+
- Never write `n8nac-config.json` by hand. Use `npx --yes n8nac workspace ...` commands.
|
|
27
27
|
|
|
28
28
|
## Bootstrap Order
|
|
29
29
|
|
|
30
30
|
1. `cd` to the context root.
|
|
31
|
-
2. Run `npx --yes n8nac
|
|
32
|
-
3. Run `npx --yes n8nac
|
|
33
|
-
4. If the context root is not ready, inspect instances with `npx --yes @n8n-as-code/n8n-manager
|
|
31
|
+
2. Run `npx --yes n8nac update-ai`, then read `AGENTS.md`.
|
|
32
|
+
3. Run `npx --yes n8nac workspace status --json`.
|
|
33
|
+
4. If the context root is not ready, inspect instances with `npx --yes @n8n-as-code/n8n-manager instances list`.
|
|
34
34
|
5. Reuse an existing instance when suitable.
|
|
35
35
|
6. If no suitable instance exists, stop and ask the user whether they want to reuse/configure an existing instance, create a managed local n8n instance, or connect an existing/remote n8n instance. Do not create infrastructure by default. If the user chooses a managed local instance, ask separately whether they want a public tunnel.
|
|
36
36
|
7. Ask for host/API key only for an explicitly remote or existing n8n instance.
|
|
37
37
|
8. Configure context-root overrides with:
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
npx --yes n8nac
|
|
41
|
-
npx --yes n8nac
|
|
42
|
-
npx --yes n8nac
|
|
40
|
+
npx --yes n8nac workspace pin-instance --instance-id <id>
|
|
41
|
+
npx --yes n8nac workspace set-sync-folder workflows
|
|
42
|
+
npx --yes n8nac workspace set-project --project-id <id> --project-name <name>
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
For self-hosted n8n instances where the projects API is unavailable or returns 401/403, do not keep retrying project discovery. Use the standard personal project override unless the user gave another project:
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
npx --yes n8nac
|
|
48
|
+
npx --yes n8nac workspace set-project --project-id personal --project-name Personal
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
9. Run `npx --yes n8nac
|
|
51
|
+
9. Run `npx --yes n8nac update-ai` after changing context-root overrides when the facade does not do it automatically.
|
|
52
52
|
|
|
53
53
|
## Sync Discipline
|
|
54
54
|
|
|
@@ -57,13 +57,13 @@ npx --yes n8nac@next workspace set-project --project-id personal --project-name
|
|
|
57
57
|
- Use `list` to inspect workflow IDs, file paths, and sync status.
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
|
-
npx --yes n8nac
|
|
61
|
-
npx --yes n8nac
|
|
62
|
-
npx --yes n8nac
|
|
60
|
+
npx --yes n8nac list
|
|
61
|
+
npx --yes n8nac pull <workflowId>
|
|
62
|
+
npx --yes n8nac push <path-to-workflow.workflow.ts> --verify
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
- `push` requires the full workflow file path, either absolute or context-root-relative. Do not pass a bare filename.
|
|
66
|
-
- For a new workflow, create the file inside the `workflowDir` returned by `workspace status --json`, then confirm it with `npx --yes n8nac
|
|
66
|
+
- For a new workflow, create the file inside the `workflowDir` returned by `workspace status --json`, then confirm it with `npx --yes n8nac list --local`.
|
|
67
67
|
- If push/pull reports a conflict, use explicit resolution commands. Do not overwrite remote changes blindly.
|
|
68
68
|
- `pull` and conflict resolution operate on a single workflow ID.
|
|
69
69
|
- `list` is the lightweight command that covers all workflows at once.
|
|
@@ -74,8 +74,8 @@ npx --yes n8nac@next push <path-to-workflow.workflow.ts> --verify
|
|
|
74
74
|
If push or pull reports a conflict, stop and inspect the conflict. Use explicit resolution commands only after choosing the intended direction:
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
npx --yes n8nac
|
|
78
|
-
npx --yes n8nac
|
|
77
|
+
npx --yes n8nac resolve <workflowId> --mode keep-current
|
|
78
|
+
npx --yes n8nac resolve <workflowId> --mode keep-incoming
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
- `keep-current` force-pushes the local version.
|
|
@@ -87,10 +87,10 @@ npx --yes n8nac@next resolve <workflowId> --mode keep-incoming
|
|
|
87
87
|
Never guess n8n node parameters.
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
|
-
npx --yes n8nac
|
|
91
|
-
npx --yes n8nac
|
|
92
|
-
npx --yes n8nac
|
|
93
|
-
npx --yes n8nac
|
|
90
|
+
npx --yes n8nac skills examples search "<workflow pattern>"
|
|
91
|
+
npx --yes n8nac skills search "<node or capability>"
|
|
92
|
+
npx --yes n8nac skills node-info <nodeName>
|
|
93
|
+
npx --yes n8nac skills validate <workflow.workflow.ts>
|
|
94
94
|
```
|
|
95
95
|
|
|
96
96
|
- Use exact node `type` and valid `typeVersion` values from `node-info`.
|
|
@@ -105,19 +105,19 @@ npx --yes n8nac@next skills validate <workflow.workflow.ts>
|
|
|
105
105
|
Use these commands instead of guessing:
|
|
106
106
|
|
|
107
107
|
```bash
|
|
108
|
-
npx --yes n8nac
|
|
109
|
-
npx --yes n8nac
|
|
110
|
-
npx --yes n8nac
|
|
111
|
-
npx --yes n8nac
|
|
112
|
-
npx --yes n8nac
|
|
113
|
-
npx --yes n8nac
|
|
114
|
-
npx --yes n8nac
|
|
115
|
-
npx --yes n8nac
|
|
108
|
+
npx --yes n8nac skills search "<node or capability>"
|
|
109
|
+
npx --yes n8nac skills node-info <nodeName>
|
|
110
|
+
npx --yes n8nac skills node-schema <nodeName>
|
|
111
|
+
npx --yes n8nac skills docs "<topic>"
|
|
112
|
+
npx --yes n8nac skills guides "<topic>"
|
|
113
|
+
npx --yes n8nac skills examples search "<workflow pattern>"
|
|
114
|
+
npx --yes n8nac skills examples info <id>
|
|
115
|
+
npx --yes n8nac skills examples download <id>
|
|
116
116
|
```
|
|
117
117
|
|
|
118
118
|
- Start with `examples search` when the user asks for a common automation pattern.
|
|
119
119
|
- Use examples to learn patterns, not as authority over current node schemas.
|
|
120
|
-
- If a command or flag is unfamiliar, run `npx --yes n8nac
|
|
120
|
+
- If a command or flag is unfamiliar, run `npx --yes n8nac <subcommand> --help`; do not invent flags.
|
|
121
121
|
|
|
122
122
|
## Workflow Authoring Rules
|
|
123
123
|
|
|
@@ -257,15 +257,15 @@ defineRouting() {
|
|
|
257
257
|
After pushing:
|
|
258
258
|
|
|
259
259
|
```bash
|
|
260
|
-
npx --yes n8nac
|
|
261
|
-
npx --yes n8nac
|
|
260
|
+
npx --yes n8nac verify <workflowId>
|
|
261
|
+
npx --yes n8nac test-plan <workflowId> --json
|
|
262
262
|
```
|
|
263
263
|
|
|
264
264
|
For webhook, chat, or form workflows, prefer the production test sequence:
|
|
265
265
|
|
|
266
266
|
```bash
|
|
267
|
-
npx --yes n8nac
|
|
268
|
-
npx --yes n8nac
|
|
267
|
+
npx --yes n8nac workflow activate <workflowId>
|
|
268
|
+
npx --yes n8nac test <workflowId> --prod
|
|
269
269
|
```
|
|
270
270
|
|
|
271
271
|
- Class A configuration gaps require user/config action, not workflow rewrites.
|
|
@@ -285,7 +285,7 @@ Run it whenever one of these is true:
|
|
|
285
285
|
- the user asks to show, open, present, display, or give the URL/link for a workflow.
|
|
286
286
|
|
|
287
287
|
```bash
|
|
288
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
288
|
+
npx --yes @n8n-as-code/n8n-manager presentWorkflowResult --workflow-id <workflowId> --workspace-root <contextRoot>
|
|
289
289
|
```
|
|
290
290
|
|
|
291
291
|
Rules:
|
|
@@ -293,7 +293,7 @@ Rules:
|
|
|
293
293
|
- Do not manually construct n8n workflow URLs.
|
|
294
294
|
- Do not return an internal local n8n URL when a presentation URL is available.
|
|
295
295
|
- Use the `url` returned by `presentWorkflowResult` as the user-facing URL.
|
|
296
|
-
- If you do not know the workflow ID, run `npx --yes n8nac
|
|
296
|
+
- If you do not know the workflow ID, run `npx --yes n8nac list` first and select the matching workflow.
|
|
297
297
|
- If `presentWorkflowResult` fails, report the backend diagnostic and then provide the best direct n8n URL only as a fallback.
|
|
298
298
|
- Do this before the final response when the task created, changed, pushed, ran, or explicitly asks to show a workflow.
|
|
299
299
|
|
|
@@ -307,18 +307,18 @@ For webhook, chat, or form workflows:
|
|
|
307
307
|
4. Test with `--prod` by default.
|
|
308
308
|
|
|
309
309
|
```bash
|
|
310
|
-
npx --yes n8nac
|
|
311
|
-
npx --yes n8nac
|
|
312
|
-
npx --yes n8nac
|
|
313
|
-
npx --yes n8nac
|
|
310
|
+
npx --yes n8nac push <path-to-workflow.workflow.ts> --verify
|
|
311
|
+
npx --yes n8nac test-plan <workflowId> --json
|
|
312
|
+
npx --yes n8nac workflow activate <workflowId>
|
|
313
|
+
npx --yes n8nac test <workflowId> --prod
|
|
314
314
|
```
|
|
315
315
|
|
|
316
|
-
Use bare `npx --yes n8nac
|
|
316
|
+
Use bare `npx --yes n8nac test <workflowId>` only when a test URL was intentionally armed in the n8n editor.
|
|
317
317
|
|
|
318
318
|
For GET/HEAD webhooks that read from `$json.query`, prefer:
|
|
319
319
|
|
|
320
320
|
```bash
|
|
321
|
-
npx --yes n8nac
|
|
321
|
+
npx --yes n8nac test <workflowId> --query '{"key":"value"}' --prod
|
|
322
322
|
```
|
|
323
323
|
|
|
324
324
|
## Execution Debugging
|
|
@@ -326,8 +326,8 @@ npx --yes n8nac@next test <workflowId> --query '{"key":"value"}' --prod
|
|
|
326
326
|
If a webhook returns success but the workflow behavior is wrong, inspect executions instead of guessing:
|
|
327
327
|
|
|
328
328
|
```bash
|
|
329
|
-
npx --yes n8nac
|
|
330
|
-
npx --yes n8nac
|
|
329
|
+
npx --yes n8nac execution list --workflow-id <workflowId> --limit 5 --json
|
|
330
|
+
npx --yes n8nac execution get <executionId> --include-data --json
|
|
331
331
|
```
|
|
332
332
|
|
|
333
333
|
- A successful HTTP trigger only means n8n accepted the request.
|
|
@@ -339,11 +339,11 @@ npx --yes n8nac@next execution get <executionId> --include-data --json
|
|
|
339
339
|
When a workflow is blocked by missing credentials, resolve the credential gap without rewriting unrelated workflow logic.
|
|
340
340
|
|
|
341
341
|
```bash
|
|
342
|
-
npx --yes n8nac
|
|
343
|
-
npx --yes n8nac
|
|
344
|
-
npx --yes n8nac
|
|
345
|
-
npx --yes n8nac
|
|
346
|
-
npx --yes n8nac
|
|
342
|
+
npx --yes n8nac workflow credential-required <workflowId> --json
|
|
343
|
+
npx --yes n8nac credential schema <type>
|
|
344
|
+
npx --yes n8nac credential list --json
|
|
345
|
+
npx --yes n8nac credential create --type <type> --name <name> --file cred.json --json
|
|
346
|
+
npx --yes n8nac workflow activate <workflowId>
|
|
347
347
|
```
|
|
348
348
|
|
|
349
349
|
- `workflow credential-required` exits non-zero when at least one credential is missing. Treat that as a signal to act, not as a workflow-code failure.
|
|
@@ -10,11 +10,11 @@ Use this skill for global n8n instance management. `n8n-manager` is the source o
|
|
|
10
10
|
## Responsibility Boundary
|
|
11
11
|
|
|
12
12
|
- Generated context root hint: not embedded. Use the shell launch directory or the workspace path explicitly given by the user.
|
|
13
|
-
- If `n8nac` is available, first run `npx --yes n8nac
|
|
13
|
+
- If `n8nac` is available, first run `npx --yes n8nac 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.
|
|
14
14
|
- Use the exact `n8n-manager command` and `n8nac command` listed in `AGENTS.md` when present. Those context-root commands override the portable examples in this skill.
|
|
15
|
-
- Use `npx --yes @n8n-as-code/n8n-manager
|
|
16
|
-
- Use `npx --yes n8nac
|
|
17
|
-
- Use `npx --yes n8nac
|
|
15
|
+
- Use `npx --yes @n8n-as-code/n8n-manager` for global instance, auth, runtime, tunnel, project-default, credential, and workflow-presentation operations.
|
|
16
|
+
- Use `npx --yes n8nac workspace ...` only for context-root overrides such as pinned instance, sync folder, and project override.
|
|
17
|
+
- Use `npx --yes n8nac` workflow commands only after the effective context is ready.
|
|
18
18
|
- Never edit `n8nac-config.json`, `~/.n8n-manager`, or n8n-manager secret files by hand.
|
|
19
19
|
|
|
20
20
|
## Core Commands
|
|
@@ -22,9 +22,9 @@ Use this skill for global n8n instance management. `n8n-manager` is the source o
|
|
|
22
22
|
Inspect existing instances before changing state:
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
26
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
27
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
25
|
+
npx --yes @n8n-as-code/n8n-manager instances list
|
|
26
|
+
npx --yes @n8n-as-code/n8n-manager instances --help
|
|
27
|
+
npx --yes @n8n-as-code/n8n-manager config get
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
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`.
|
|
@@ -53,56 +53,56 @@ Only run these commands after the user has explicitly chosen the corresponding o
|
|
|
53
53
|
Managed local Docker without public tunnel:
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
57
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
58
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
59
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
56
|
+
npx --yes @n8n-as-code/n8n-manager instances add --name <name> --mode managed-local-docker
|
|
57
|
+
npx --yes @n8n-as-code/n8n-manager instances setup <id-or-name>
|
|
58
|
+
npx --yes @n8n-as-code/n8n-manager instances start <id-or-name>
|
|
59
|
+
npx --yes @n8n-as-code/n8n-manager instances status <id-or-name>
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
Managed local Docker with public tunnel:
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
66
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
67
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
68
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
65
|
+
npx --yes @n8n-as-code/n8n-manager instances add --name <name> --mode managed-local-docker --tunnel
|
|
66
|
+
npx --yes @n8n-as-code/n8n-manager instances setup <id-or-name> --tunnel
|
|
67
|
+
npx --yes @n8n-as-code/n8n-manager instances start <id-or-name>
|
|
68
|
+
npx --yes @n8n-as-code/n8n-manager instances tunnel status <id-or-name>
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
Remote or existing instances require user-provided credentials. Prefer stdin for API keys:
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
75
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
74
|
+
npx --yes @n8n-as-code/n8n-manager auth set --url <url> --api-key-stdin --name <name>
|
|
75
|
+
npx --yes @n8n-as-code/n8n-manager auth test --instance <id-or-name>
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
Project selection is instance-level unless the context root explicitly needs a workspace override:
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
82
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
81
|
+
npx --yes @n8n-as-code/n8n-manager projects list --instance <id-or-name>
|
|
82
|
+
npx --yes @n8n-as-code/n8n-manager projects select <project-id-or-name> --instance <id-or-name>
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
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:
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
|
-
npx --yes n8nac
|
|
88
|
+
npx --yes n8nac workspace set-project --project-id personal --project-name Personal
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
Runtime and tunnel operations are per instance:
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
95
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
96
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
97
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
98
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
99
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
94
|
+
npx --yes @n8n-as-code/n8n-manager instances start <id-or-name>
|
|
95
|
+
npx --yes @n8n-as-code/n8n-manager instances stop <id-or-name>
|
|
96
|
+
npx --yes @n8n-as-code/n8n-manager instances restart <id-or-name>
|
|
97
|
+
npx --yes @n8n-as-code/n8n-manager instances tunnel status <id-or-name>
|
|
98
|
+
npx --yes @n8n-as-code/n8n-manager instances tunnel start <id-or-name>
|
|
99
|
+
npx --yes @n8n-as-code/n8n-manager instances tunnel refresh <id-or-name>
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
Present workflow results after creating, modifying, pushing, or running a workflow:
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
|
-
npx --yes @n8n-as-code/n8n-manager
|
|
105
|
+
npx --yes @n8n-as-code/n8n-manager presentWorkflowResult --workflow-id <workflowId> --workspace-root <contextRoot>
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
## Guardrails
|