@n8n/instance-ai 1.24.3 → 1.25.0
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/README.md +2 -3
- package/dist/agent/credential-guardrails.prompt.d.ts +1 -0
- package/dist/agent/credential-guardrails.prompt.js +2 -1
- package/dist/agent/credential-guardrails.prompt.js.map +1 -1
- package/dist/agent/instance-agent.js +25 -21
- package/dist/agent/instance-agent.js.map +1 -1
- package/dist/agent/shared-prompts.d.ts +2 -2
- package/dist/agent/shared-prompts.js +2 -2
- package/dist/agent/shared-prompts.js.map +1 -1
- package/dist/agent/sub-agent-factory.d.ts +1 -1
- package/dist/agent/sub-agent-factory.js +2 -1
- package/dist/agent/sub-agent-factory.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -0
- package/dist/agent/system-prompt.js +29 -4
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/constants/max-steps.d.ts +0 -1
- package/dist/constants/max-steps.js +0 -1
- package/dist/constants/max-steps.js.map +1 -1
- package/dist/debug/sanitize-debug-snapshot.js +3 -3
- package/dist/debug/sanitize-debug-snapshot.js.map +1 -1
- package/dist/error-formatting.js +5 -12
- package/dist/error-formatting.js.map +1 -1
- package/dist/index.d.ts +12 -10
- package/dist/index.js +17 -9
- package/dist/index.js.map +1 -1
- package/dist/knowledge-base/materialize-knowledge-base.js +24 -16
- package/dist/knowledge-base/materialize-knowledge-base.js.map +1 -1
- package/dist/mcp/mcp-client-manager.js +3 -4
- package/dist/mcp/mcp-client-manager.js.map +1 -1
- package/dist/prompts/prompt-profiles.d.ts +24 -0
- package/dist/prompts/prompt-profiles.js +77 -0
- package/dist/prompts/prompt-profiles.js.map +1 -0
- package/dist/prompts/skill-variants.d.ts +15 -0
- package/dist/prompts/skill-variants.js +81 -0
- package/dist/prompts/skill-variants.js.map +1 -0
- package/dist/runtime/background-task-manager.js +5 -5
- package/dist/runtime/background-task-manager.js.map +1 -1
- package/dist/runtime/resumable-stream-executor.js +2 -3
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.d.ts +12 -2
- package/dist/runtime/run-state-registry.js +35 -2
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/skills/materialize-runtime-skills.js +30 -23
- package/dist/skills/materialize-runtime-skills.js.map +1 -1
- package/dist/skills/runtime-skills.d.ts +8 -0
- package/dist/skills/runtime-skills.js +27 -0
- package/dist/skills/runtime-skills.js.map +1 -1
- package/dist/skills/skill-gates.d.ts +2 -0
- package/dist/skills/skill-gates.js +4 -1
- package/dist/skills/skill-gates.js.map +1 -1
- package/dist/storage/workflow-loop-storage.d.ts +550 -0
- package/dist/storage/workflow-loop-storage.js +31 -1
- package/dist/storage/workflow-loop-storage.js.map +1 -1
- package/dist/stream/consume-with-hitl.d.ts +0 -28
- package/dist/stream/consume-with-hitl.js +0 -50
- package/dist/stream/consume-with-hitl.js.map +1 -1
- package/dist/tools/activity.tool.d.ts +2 -0
- package/dist/tools/activity.tool.js +102 -0
- package/dist/tools/activity.tool.js.map +1 -0
- package/dist/tools/credentials.tool.js +5 -3
- package/dist/tools/credentials.tool.js.map +1 -1
- package/dist/tools/executions.tool.js +47 -10
- package/dist/tools/executions.tool.js.map +1 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +1 -0
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +45 -55
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/n8n-docs/schemas.js +1 -1
- package/dist/tools/n8n-docs/schemas.js.map +1 -1
- package/dist/tools/n8n-docs.tool.d.ts +2 -1
- package/dist/tools/n8n-docs.tool.js +11 -3
- package/dist/tools/n8n-docs.tool.js.map +1 -1
- package/dist/tools/orchestration/agent-persistence.d.ts +0 -12
- package/dist/tools/orchestration/agent-persistence.js +0 -34
- package/dist/tools/orchestration/agent-persistence.js.map +1 -1
- package/dist/tools/orchestration/build-agent.tool.js +3 -3
- package/dist/tools/orchestration/build-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/complete-checkpoint.tool.js +1 -1
- package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -1
- package/dist/tools/orchestration/plan.tool.js +5 -1
- package/dist/tools/orchestration/plan.tool.js.map +1 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.js +7 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -1
- package/dist/tools/orchestration/tracing-utils.d.ts +1 -6
- package/dist/tools/orchestration/tracing-utils.js +0 -99
- package/dist/tools/orchestration/tracing-utils.js.map +1 -1
- package/dist/tools/orchestration/verification/analyze-result.d.ts +5 -0
- package/dist/tools/orchestration/verification/analyze-result.js +27 -5
- package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
- package/dist/tools/orchestration/verification/claim.d.ts +14 -0
- package/dist/tools/orchestration/verification/claim.js +52 -0
- package/dist/tools/orchestration/verification/claim.js.map +1 -0
- package/dist/tools/orchestration/verification/finalize-result.d.ts +5 -2
- package/dist/tools/orchestration/verification/finalize-result.js +21 -25
- package/dist/tools/orchestration/verification/finalize-result.js.map +1 -1
- package/dist/tools/orchestration/verification/resolve-target.js +39 -15
- package/dist/tools/orchestration/verification/resolve-target.js.map +1 -1
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.d.ts +58 -0
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.js +127 -0
- package/dist/tools/orchestration/verification/resolved-parameter-warnings.js.map +1 -0
- package/dist/tools/orchestration/verification/scripted-gate-run.d.ts +3 -0
- package/dist/tools/orchestration/verification/scripted-gate-run.js +22 -2
- package/dist/tools/orchestration/verification/scripted-gate-run.js.map +1 -1
- package/dist/tools/orchestration/verification/types.d.ts +8 -1
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +3 -0
- package/dist/tools/orchestration/verify-built-workflow.tool.js +141 -18
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
- package/dist/tools/research.tool.js +3 -2
- package/dist/tools/research.tool.js.map +1 -1
- package/dist/tools/task-control.tool.js +8 -1
- package/dist/tools/task-control.tool.js.map +1 -1
- package/dist/tools/tool-ids.d.ts +1 -3
- package/dist/tools/tool-ids.js +2 -3
- package/dist/tools/tool-ids.js.map +1 -1
- package/dist/tools/web-research/sanitize-web-content.d.ts +1 -2
- package/dist/tools/web-research/sanitize-web-content.js +6 -19
- package/dist/tools/web-research/sanitize-web-content.js.map +1 -1
- package/dist/tools/workflows/build-workflow.tool.d.ts +12 -0
- package/dist/tools/workflows/build-workflow.tool.js +173 -32
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/detect-unparseable-openai-schema.js +1 -1
- package/dist/tools/workflows/detect-unparseable-openai-schema.js.map +1 -1
- package/dist/tools/workflows/detect-wrong-kind-locator.js +7 -9
- package/dist/tools/workflows/detect-wrong-kind-locator.js.map +1 -1
- package/dist/tools/workflows/reconcile-simulation-plan.js +1 -1
- package/dist/tools/workflows/reconcile-simulation-plan.js.map +1 -1
- package/dist/tools/workflows/resolve-credentials.js.map +1 -1
- package/dist/tools/workflows/setup-items.d.ts +5 -0
- package/dist/tools/workflows/setup-items.js +29 -0
- package/dist/tools/workflows/setup-items.js.map +1 -1
- package/dist/tools/workflows/setup-panel-state.d.ts +31 -0
- package/dist/tools/workflows/setup-panel-state.js +197 -0
- package/dist/tools/workflows/setup-panel-state.js.map +1 -0
- package/dist/tools/workflows/setup-workflow.service.d.ts +3 -1
- package/dist/tools/workflows/setup-workflow.service.js +20 -13
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
- package/dist/tools/workflows/validate-workflow.service.js.map +1 -1
- package/dist/tools/workflows/wait-gate-script.js +1 -1
- package/dist/tools/workflows/wait-gate-script.js.map +1 -1
- package/dist/tools/workflows/workflow-build-reporting.d.ts +1 -0
- package/dist/tools/workflows/workflow-build-reporting.js +1 -0
- package/dist/tools/workflows/workflow-build-reporting.js.map +1 -1
- package/dist/tools/workflows/workflow-build-telemetry.d.ts +5 -1
- package/dist/tools/workflows/workflow-build-telemetry.js +8 -0
- package/dist/tools/workflows/workflow-build-telemetry.js.map +1 -1
- package/dist/tools/workflows/workflow-file-bindings.js +0 -2
- package/dist/tools/workflows/workflow-file-bindings.js.map +1 -1
- package/dist/tools/workflows/workflow-source-compiler.js +80 -25
- package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
- package/dist/tools/workflows/workflow-validation-warnings.d.ts +13 -2
- package/dist/tools/workflows/workflow-validation-warnings.js +55 -1
- package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
- package/dist/tools/workflows.tool.d.ts +1 -5
- package/dist/tools/workflows.tool.js +112 -136
- package/dist/tools/workflows.tool.js.map +1 -1
- package/dist/tracing/langsmith-tracing.d.ts +11 -22
- package/dist/tracing/langsmith-tracing.js +127 -112
- package/dist/tracing/langsmith-tracing.js.map +1 -1
- package/dist/tracing/sandbox-tracing.d.ts +17 -0
- package/dist/tracing/sandbox-tracing.js +60 -0
- package/dist/tracing/sandbox-tracing.js.map +1 -0
- package/dist/tracing/trace-payloads.d.ts +3 -0
- package/dist/tracing/trace-payloads.js +25 -4
- package/dist/tracing/trace-payloads.js.map +1 -1
- package/dist/tracing/trace-replay.js.map +1 -1
- package/dist/types.d.ts +57 -67
- package/dist/types.js.map +1 -1
- package/dist/utils/eval-agents.js +3 -7
- package/dist/utils/eval-agents.js.map +1 -1
- package/dist/utils/generate-validated-json.js +2 -6
- package/dist/utils/generate-validated-json.js.map +1 -1
- package/dist/workflow-loop/guidance.d.ts +1 -0
- package/dist/workflow-loop/guidance.js +48 -4
- package/dist/workflow-loop/guidance.js.map +1 -1
- package/dist/workflow-loop/render-claim.d.ts +6 -0
- package/dist/workflow-loop/render-claim.js +61 -0
- package/dist/workflow-loop/render-claim.js.map +1 -0
- package/dist/workflow-loop/setup-verification-policy.d.ts +3 -1
- package/dist/workflow-loop/setup-verification-policy.js +38 -0
- package/dist/workflow-loop/setup-verification-policy.js.map +1 -1
- package/dist/workflow-loop/verification-obligation.d.ts +1 -0
- package/dist/workflow-loop/verification-obligation.js +47 -14
- package/dist/workflow-loop/verification-obligation.js.map +1 -1
- package/dist/workflow-loop/verification-progress.d.ts +62 -0
- package/dist/workflow-loop/verification-progress.js +64 -0
- package/dist/workflow-loop/verification-progress.js.map +1 -0
- package/dist/workflow-loop/workflow-loop-controller.js +2 -0
- package/dist/workflow-loop/workflow-loop-controller.js.map +1 -1
- package/dist/workflow-loop/workflow-loop-state.d.ts +993 -0
- package/dist/workflow-loop/workflow-loop-state.js +32 -1
- package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
- package/dist/workflow-loop/workflow-task-service.d.ts +6 -1
- package/dist/workflow-loop/workflow-task-service.js +86 -6
- package/dist/workflow-loop/workflow-task-service.js.map +1 -1
- package/dist/workspace/lazy-runtime-workspace.js +57 -9
- package/dist/workspace/lazy-runtime-workspace.js.map +1 -1
- package/dist/workspace/prebaked-workspace-bundle.js +93 -58
- package/dist/workspace/prebaked-workspace-bundle.js.map +1 -1
- package/dist/workspace/sandbox-fs.js +56 -32
- package/dist/workspace/sandbox-fs.js.map +1 -1
- package/dist/workspace/sandbox-setup.js +65 -52
- package/dist/workspace/sandbox-setup.js.map +1 -1
- package/dist/workspace/workspace-files.js +76 -57
- package/dist/workspace/workspace-files.js.map +1 -1
- package/knowledge-base/reference/workflow-builder-guardrails.md +4 -2
- package/package.json +12 -12
- package/skills/agent-builder/SKILL.md +15 -6
- package/skills/credential-recipe-research/SKILL.md +1 -1
- package/skills/debugging-executions/SKILL.md +24 -0
- package/skills/instance-awareness/SKILL.md +122 -0
- package/skills/intent-recognition/SKILL.md +83 -49
- package/skills/n8n-docs-assistant/SKILL.md +5 -9
- package/skills/planned-task-runtime/SKILL.md +2 -2
- package/skills/planning/SKILL.md +3 -0
- package/skills/post-build-flow/SKILL.md +173 -23
- package/skills/progressive-building/SKILL.md +112 -0
- package/skills/workflow-builder/SKILL.md +45 -21
- package/dist/agent/sub-agent-briefing.d.ts +0 -20
- package/dist/agent/sub-agent-briefing.js +0 -39
- package/dist/agent/sub-agent-briefing.js.map +0 -1
- package/dist/tools/evals/analyze-agent-input-columns.service.d.ts +0 -6
- package/dist/tools/evals/analyze-agent-input-columns.service.js +0 -17
- package/dist/tools/evals/analyze-agent-input-columns.service.js.map +0 -1
- package/dist/tools/evals/apply-pin-data.service.d.ts +0 -3
- package/dist/tools/evals/apply-pin-data.service.js +0 -19
- package/dist/tools/evals/apply-pin-data.service.js.map +0 -1
- package/dist/tools/evals/column-ref-utils.d.ts +0 -20
- package/dist/tools/evals/column-ref-utils.js +0 -274
- package/dist/tools/evals/column-ref-utils.js.map +0 -1
- package/dist/tools/evals/describe-metric-for-workflow.service.d.ts +0 -6
- package/dist/tools/evals/describe-metric-for-workflow.service.js +0 -90
- package/dist/tools/evals/describe-metric-for-workflow.service.js.map +0 -1
- package/dist/tools/evals/detect-agent-named-refs.service.d.ts +0 -9
- package/dist/tools/evals/detect-agent-named-refs.service.js +0 -83
- package/dist/tools/evals/detect-agent-named-refs.service.js.map +0 -1
- package/dist/tools/evals/detect-ai-nodes.d.ts +0 -7
- package/dist/tools/evals/detect-ai-nodes.js +0 -75
- package/dist/tools/evals/detect-ai-nodes.js.map +0 -1
- package/dist/tools/evals/detect-tool-refs.service.d.ts +0 -7
- package/dist/tools/evals/detect-tool-refs.service.js +0 -66
- package/dist/tools/evals/detect-tool-refs.service.js.map +0 -1
- package/dist/tools/evals/ensure-eval-data-table.service.d.ts +0 -15
- package/dist/tools/evals/ensure-eval-data-table.service.js +0 -83
- package/dist/tools/evals/ensure-eval-data-table.service.js.map +0 -1
- package/dist/tools/evals/eval-data-requirements.service.d.ts +0 -20
- package/dist/tools/evals/eval-data-requirements.service.js +0 -187
- package/dist/tools/evals/eval-data-requirements.service.js.map +0 -1
- package/dist/tools/evals/evals.tool.d.ts +0 -45
- package/dist/tools/evals/evals.tool.js +0 -454
- package/dist/tools/evals/evals.tool.js.map +0 -1
- package/dist/tools/evals/extract-rows-from-history.service.d.ts +0 -17
- package/dist/tools/evals/extract-rows-from-history.service.js +0 -103
- package/dist/tools/evals/extract-rows-from-history.service.js.map +0 -1
- package/dist/tools/evals/format-eval-setup-task.d.ts +0 -16
- package/dist/tools/evals/format-eval-setup-task.js +0 -167
- package/dist/tools/evals/format-eval-setup-task.js.map +0 -1
- package/dist/tools/evals/generate-sample-rows.service.d.ts +0 -35
- package/dist/tools/evals/generate-sample-rows.service.js +0 -259
- package/dist/tools/evals/generate-sample-rows.service.js.map +0 -1
- package/dist/tools/evals/generate-tool-ref-pin-data.service.d.ts +0 -11
- package/dist/tools/evals/generate-tool-ref-pin-data.service.js +0 -112
- package/dist/tools/evals/generate-tool-ref-pin-data.service.js.map +0 -1
- package/dist/tools/evals/metric-catalog.d.ts +0 -63
- package/dist/tools/evals/metric-catalog.js +0 -81
- package/dist/tools/evals/metric-catalog.js.map +0 -1
- package/dist/tools/orchestration/eval-data-agent.tool.d.ts +0 -2
- package/dist/tools/orchestration/eval-data-agent.tool.js +0 -184
- package/dist/tools/orchestration/eval-data-agent.tool.js.map +0 -1
- package/dist/tools/orchestration/eval-setup-agent.prompt.d.ts +0 -1
- package/dist/tools/orchestration/eval-setup-agent.prompt.js +0 -238
- package/dist/tools/orchestration/eval-setup-agent.prompt.js.map +0 -1
- package/dist/tools/orchestration/eval-setup-agent.tool.d.ts +0 -31
- package/dist/tools/orchestration/eval-setup-agent.tool.js +0 -204
- package/dist/tools/orchestration/eval-setup-agent.tool.js.map +0 -1
- package/dist/tools/workflows/observed-workflow-checksums.d.ts +0 -4
- package/dist/tools/workflows/observed-workflow-checksums.js +0 -82
- package/dist/tools/workflows/observed-workflow-checksums.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/instance-ai",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "src/index.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"dist/**/*",
|
|
9
9
|
"knowledge-base/**/*",
|
|
10
10
|
"skills/**/*",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
11
|
+
"LICENSE_EE.md",
|
|
12
|
+
"LICENSE.md"
|
|
13
13
|
],
|
|
14
14
|
"exports": {
|
|
15
15
|
".": {
|
|
@@ -42,12 +42,12 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@daytona/sdk": "0.205.1",
|
|
44
44
|
"@e965/xlsx": "0.20.3",
|
|
45
|
-
"@n8n/agents": "0.
|
|
46
|
-
"@n8n/ai-utilities": "0.
|
|
47
|
-
"@n8n/api-types": "1.
|
|
48
|
-
"@n8n/mcp-browser": "0.
|
|
49
|
-
"@n8n/utils": "1.
|
|
50
|
-
"@n8n/workflow-sdk": "0.
|
|
45
|
+
"@n8n/agents": "0.25.0",
|
|
46
|
+
"@n8n/ai-utilities": "0.33.0",
|
|
47
|
+
"@n8n/api-types": "1.40.0",
|
|
48
|
+
"@n8n/mcp-browser": "0.21.0",
|
|
49
|
+
"@n8n/utils": "1.48.0",
|
|
50
|
+
"@n8n/workflow-sdk": "0.33.0",
|
|
51
51
|
"@opentelemetry/api": "1.9.1",
|
|
52
52
|
"@thednp/dommatrix": "^3.1.1",
|
|
53
53
|
"ai": "^7.0.66",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"linkedom": "^0.18.13",
|
|
57
57
|
"luxon": "3.7.2",
|
|
58
58
|
"mammoth": "1.12.1",
|
|
59
|
-
"n8n-workflow": "2.
|
|
59
|
+
"n8n-workflow": "2.40.0",
|
|
60
60
|
"nanoid": "6.0.1",
|
|
61
61
|
"pdf-parse": "2.4.5",
|
|
62
62
|
"psl": "1.15.0",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@langchain/anthropic": "1.5.6",
|
|
70
70
|
"@langchain/core": "1.2.8",
|
|
71
|
-
"@n8n/typescript-config": "1.
|
|
72
|
-
"@n8n/vitest-config": "1.
|
|
71
|
+
"@n8n/typescript-config": "1.12.0",
|
|
72
|
+
"@n8n/vitest-config": "1.22.0",
|
|
73
73
|
"@types/luxon": "3.2.0",
|
|
74
74
|
"@types/psl": "1.1.3",
|
|
75
75
|
"@types/turndown": "^5.0.6",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-builder
|
|
3
3
|
description: >-
|
|
4
|
-
Load
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Agent; rerun intent-recognition only when the requested
|
|
9
|
-
longer clear.
|
|
4
|
+
Load immediately after an Agent intent. Then call build-agent with the user's
|
|
5
|
+
request after any required orchestrator-owned prerequisites are ready. Agent
|
|
6
|
+
Builder owns Agent setup and implementation questions. Governs prerequisite
|
|
7
|
+
creation, faithful handoff, targeting, testing, and publishing. Use directly
|
|
8
|
+
for routine Agent follow-ups; rerun intent-recognition only when the requested
|
|
9
|
+
artifact is no longer clear.
|
|
10
10
|
recommended_tools:
|
|
11
11
|
- build-agent
|
|
12
12
|
- build-workflow
|
|
@@ -22,6 +22,15 @@ when the conversation already targets an Agent and the user is continuing that
|
|
|
22
22
|
build. Do not rerun intent recognition for routine Agent edits or extensions.
|
|
23
23
|
Use `build-agent` only for Agent artifacts.
|
|
24
24
|
|
|
25
|
+
For a new Agent request, make the first `build-agent` call with a faithful copy
|
|
26
|
+
of the request as soon as any required orchestrator-owned prerequisites are
|
|
27
|
+
ready. Before that call, use `ask-user` only to choose a supported channel or to
|
|
28
|
+
define a workflow or data-table prerequisite that the orchestrator must create.
|
|
29
|
+
Only ask about the channel after `list-agent-capabilities` shows that the
|
|
30
|
+
requested channel is unsupported. Do not collect model, service, tool, topic,
|
|
31
|
+
schedule, credential, or other Agent implementation choices first. The embedded
|
|
32
|
+
Agent Builder asks those questions through the `build-agent` call.
|
|
33
|
+
|
|
25
34
|
When the conversation opens from an existing Agent in the editor and the user
|
|
26
35
|
asks to change its configuration or capabilities, that is an agent-anchored
|
|
27
36
|
request — target that Agent and call `build-agent`. Do not reroute to
|
|
@@ -34,7 +34,7 @@ that is not expressible as a template — use the matching generic type instead
|
|
|
34
34
|
## 2. Key page (docsUrl)
|
|
35
35
|
|
|
36
36
|
Find where a logged-in user CREATES or COPIES the key. The URL is not shown
|
|
37
|
-
in the form — the
|
|
37
|
+
in the form — the n8n Assistant help thread presents it as THE place to get
|
|
38
38
|
the value, so a wrong URL sends the user to a dead end with full confidence:
|
|
39
39
|
|
|
40
40
|
- Search `"<service> dashboard API keys"`, and scan the fetched auth docs for
|
|
@@ -27,6 +27,30 @@ empty node, or a missing node is a real defect to investigate, not something to
|
|
|
27
27
|
explain away. If you genuinely cannot re-run the failing path, say so plainly and
|
|
28
28
|
name what is unconfirmed instead of repeating a success claim.
|
|
29
29
|
|
|
30
|
+
## Draft versus live
|
|
31
|
+
|
|
32
|
+
A published workflow runs the version that was published, not the draft you
|
|
33
|
+
edit. Your save creates a draft, and the draft is not live until somebody
|
|
34
|
+
publishes it. So a fix to a live workflow changes nothing in production on its
|
|
35
|
+
own.
|
|
36
|
+
|
|
37
|
+
Two consequences when the user reports a live workflow failing:
|
|
38
|
+
|
|
39
|
+
- **Read the version each execution ran.** `executions(action="list", workflowId)`
|
|
40
|
+
returns `workflowVersionId` on every row, plus `workflow.activeVersionId`
|
|
41
|
+
(the published version) and `workflow.draftVersionId`. Only a row whose
|
|
42
|
+
`workflowVersionId` equals `workflow.activeVersionId` ran the published code.
|
|
43
|
+
A run of a draft proves nothing about production. A `workflow.draftVersionId`
|
|
44
|
+
different from `workflow.activeVersionId` means the latest changes, including
|
|
45
|
+
any fix you just made, are not live.
|
|
46
|
+
- **Name the version when you invite a retest.** Say whether the user tests the
|
|
47
|
+
draft or the published version. "Try it again" after a draft-only fix sends
|
|
48
|
+
the user to the broken published version, and the fix looks like it failed.
|
|
49
|
+
|
|
50
|
+
Do not report a fix as live until the published version is the fixed one. Ask
|
|
51
|
+
whether to publish it instead. After a publish, a new live run is what confirms
|
|
52
|
+
the fix — an earlier execution ran the old version.
|
|
53
|
+
|
|
30
54
|
## Testing event-triggered workflows
|
|
31
55
|
|
|
32
56
|
Use `executions(action="run")` with `inputData` matching the trigger's output
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: instance-awareness
|
|
3
|
+
description: >-
|
|
4
|
+
Load when the request depends on what is already on this instance rather than
|
|
5
|
+
on what the user just typed: a short or ambiguous opener ("fix it", "carry on",
|
|
6
|
+
"what should I look at"), a reference to earlier work in a new conversation, or
|
|
7
|
+
any question about what has recently run or broken.
|
|
8
|
+
recommended_tools:
|
|
9
|
+
- activity
|
|
10
|
+
- workflows
|
|
11
|
+
- executions
|
|
12
|
+
- credentials
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Instance Awareness
|
|
16
|
+
|
|
17
|
+
The conversation is not the only context you have. This instance carries a
|
|
18
|
+
record of what has been built, changed, run and broken. Most of it is cheap to
|
|
19
|
+
read, and reading it is usually better than asking.
|
|
20
|
+
|
|
21
|
+
## The one rule
|
|
22
|
+
|
|
23
|
+
**Ask about intent. Look up state.**
|
|
24
|
+
|
|
25
|
+
What the user wants next is theirs to tell you. What already exists here is
|
|
26
|
+
yours to find out. A question you could have answered by looking costs the user
|
|
27
|
+
a turn and tells them you are not paying attention — and it is the most common
|
|
28
|
+
complaint in reviewed conversations: the assistant re-asking for something it
|
|
29
|
+
had, or restarting work it had already finished.
|
|
30
|
+
|
|
31
|
+
## Read in this order — cheapest first
|
|
32
|
+
|
|
33
|
+
Each rung answers a narrower question at a higher cost. Stop at the first one
|
|
34
|
+
that answers yours. Do not start at the bottom.
|
|
35
|
+
|
|
36
|
+
### 0. The block you were already given
|
|
37
|
+
|
|
38
|
+
If an `<instance-context>` block is in this turn, you already have three things
|
|
39
|
+
for free: which workflows exist here, what changed recently, and what has run
|
|
40
|
+
or failed. Read it before your first tool call.
|
|
41
|
+
|
|
42
|
+
It is a set of pointers, not contents. Each change line ends with the resource
|
|
43
|
+
it is about, and the bracketed number is a stable id. Run lines carry the
|
|
44
|
+
execution id of the last failure, which is what `executions` takes.
|
|
45
|
+
|
|
46
|
+
A later turn may bring a shorter block that says it is an addition. Those are
|
|
47
|
+
extra entries, not a replacement — the earlier ones still stand.
|
|
48
|
+
|
|
49
|
+
### 1. `activity(action="list")` and `activity(action="expand", id=N)`
|
|
50
|
+
|
|
51
|
+
`list` looks further back than the block, or filters to one category or one
|
|
52
|
+
resource. `expand` opens a single entry in full **and returns up to 20 more
|
|
53
|
+
recent entries for the same resource** — which is how you see a workflow's
|
|
54
|
+
recent change history in a single call. Twenty is a cap, not a total: an older
|
|
55
|
+
history continues past it, and `list` with that `resourceId` reads further
|
|
56
|
+
back.
|
|
57
|
+
|
|
58
|
+
Use `expand` when a line is interesting but thin: a save you want the detail of,
|
|
59
|
+
or a workflow you want the history of. An id that no longer resolves is ordinary
|
|
60
|
+
— entries are pruned — so carry on rather than treating it as an error.
|
|
61
|
+
|
|
62
|
+
The log covers workflow and credential changes. It does not record runs; those
|
|
63
|
+
come from the block, and `executions` has the detail.
|
|
64
|
+
|
|
65
|
+
### 2. One workflow, read in full
|
|
66
|
+
|
|
67
|
+
`workflows(action="get", workflowId, full=true)` on **one** example — the one
|
|
68
|
+
the block points at, or the one the user named. This rung is for what an entry
|
|
69
|
+
cannot express: parameter values, naming, retry settings, error-workflow
|
|
70
|
+
wiring, how a prompt is structured.
|
|
71
|
+
|
|
72
|
+
Pass `full=true`. Without it a large workflow comes back as structure only,
|
|
73
|
+
with its node parameters omitted — which is exactly what this rung is for.
|
|
74
|
+
|
|
75
|
+
Read one, not several. If one example is not enough to see the pattern, there is
|
|
76
|
+
probably no pattern to follow.
|
|
77
|
+
|
|
78
|
+
## What each surface can and cannot tell you
|
|
79
|
+
|
|
80
|
+
| Question | Where it is answered |
|
|
81
|
+
|---|---|
|
|
82
|
+
| What already exists here? | the block, rung 0 |
|
|
83
|
+
| What did they just change? | the block, rung 0 |
|
|
84
|
+
| Which workflow do they mean by "it"? | the block — the most recent one they touched |
|
|
85
|
+
| What is broken right now? | the block's run lines, then `executions` for the detail |
|
|
86
|
+
| Did the nightly job run? | the block, then `executions` |
|
|
87
|
+
| Who changed this, and was it me? | `activity(action="expand")` — entries carry provenance |
|
|
88
|
+
| How do they configure it? | one workflow, rung 2 |
|
|
89
|
+
| Do they have a credential for X? | `credentials(action="list")` |
|
|
90
|
+
|
|
91
|
+
## Resolving a vague opener
|
|
92
|
+
|
|
93
|
+
"fix it", "carry on", "why is this broken", "what should I look at", or a new
|
|
94
|
+
conversation about work from yesterday: the answer is nearly always the most
|
|
95
|
+
recent thing in the block, and usually the most recent *failure*.
|
|
96
|
+
|
|
97
|
+
Name what you think they mean and act on it — "picking up the stale-issue nudge
|
|
98
|
+
workflow, which failed twice this morning" — rather than asking them to choose
|
|
99
|
+
from a list they can already see. If two candidates are equally recent, that is
|
|
100
|
+
when to ask, and ask with the candidates named.
|
|
101
|
+
|
|
102
|
+
## Reusing what they changed by hand
|
|
103
|
+
|
|
104
|
+
A save entry records which node types were added or removed, and whether the
|
|
105
|
+
change came from the assistant or from the user. A change the user made by hand
|
|
106
|
+
to something you built is a preference worth honouring: reuse it if it is a
|
|
107
|
+
small tweak, and ask before overriding it if it conflicts with what you were
|
|
108
|
+
about to do.
|
|
109
|
+
|
|
110
|
+
## Where this stops
|
|
111
|
+
|
|
112
|
+
- **An entry is not the workflow.** It records that a save happened and which
|
|
113
|
+
node types moved, never the parameters. Anything about contents is rung 2.
|
|
114
|
+
- **An entry can outlive its resource.** A deletion entry points at a workflow
|
|
115
|
+
that is gone; that is the entry doing its job.
|
|
116
|
+
- **Runs end where retention ends.** The instance keeps executions for a bounded
|
|
117
|
+
window, so an older failure may be gone even though the workflow is not.
|
|
118
|
+
- **Recent is not the same as typical.** The newest workflow may be the odd one
|
|
119
|
+
out.
|
|
120
|
+
- **Do not narrate the block.** It is context for reading intent, not a status
|
|
121
|
+
report. Unless the user asked what has been happening, let it change what you
|
|
122
|
+
do rather than what you say.
|
|
@@ -10,8 +10,9 @@ description: >-
|
|
|
10
10
|
including compound requests, independent automations introduced mid-build,
|
|
11
11
|
one-off questions or reports that need external systems you cannot query
|
|
12
12
|
directly, and requests that need clarification before an anchor can be
|
|
13
|
-
chosen.
|
|
14
|
-
|
|
13
|
+
chosen. An explicit Agent request routes to agent-builder before ask-user.
|
|
14
|
+
Do not load for routine edits or extensions when the conversation already
|
|
15
|
+
targets a workflow or Agent.
|
|
15
16
|
---
|
|
16
17
|
|
|
17
18
|
# Intent recognition
|
|
@@ -44,8 +45,10 @@ directly for out-of-scope.
|
|
|
44
45
|
Context continuity and Existing-agent modification.
|
|
45
46
|
- Any explicit constraints about determinism, auditability, latency, cost,
|
|
46
47
|
compliance, reusability, or allowed tools.
|
|
47
|
-
- If the
|
|
48
|
-
missing detail instead
|
|
48
|
+
- If the user did not explicitly select an Agent and the request is
|
|
49
|
+
underspecified on an anchor-deciding axis, ask for the missing detail instead
|
|
50
|
+
of guessing. An explicit Agent request already decides the anchor. Leave
|
|
51
|
+
missing setup and implementation details to the Agent Builder.
|
|
49
52
|
|
|
50
53
|
## Decisions
|
|
51
54
|
|
|
@@ -57,10 +60,10 @@ Two orthogonal decisions per request, or per part for compound requests:
|
|
|
57
60
|
steps as bounded transformers (classify, extract, summarize, score, a
|
|
58
61
|
single decision feeding fixed branches).
|
|
59
62
|
- **agent-anchored**: an agent owns the flow; the LLM decides the next step
|
|
60
|
-
at runtime
|
|
61
|
-
|
|
62
|
-
sessions and runs — so recurring
|
|
63
|
-
anchor.
|
|
63
|
+
at runtime or owns an ongoing role that requires judgment. n8n Agents are not
|
|
64
|
+
chat-only: besides chat sessions, they run recurring objectives on a cron
|
|
65
|
+
schedule (**tasks**) and keep memory across sessions and runs — so recurring
|
|
66
|
+
or scheduled duties do not disqualify this anchor.
|
|
64
67
|
- **needs-clarification**: the request is under-specified on an
|
|
65
68
|
anchor-deciding axis.
|
|
66
69
|
- **out-of-scope**: not a build intent at all. Covers meta or product
|
|
@@ -73,9 +76,14 @@ Two orthogonal decisions per request, or per part for compound requests:
|
|
|
73
76
|
tracker, wiki, or CRM) is not out-of-scope — classify it, and when
|
|
74
77
|
answering requires judgment-driven navigation of those systems it is
|
|
75
78
|
agent-anchored (see Signals). Requests to operate on existing resources
|
|
76
|
-
(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
(running or triggering a workflow the user already has, debugging a failed
|
|
80
|
+
execution, listing or managing workflows or agents, querying data) are not
|
|
81
|
+
classified by this skill at all — route them through their normal paths.
|
|
82
|
+
Per the system prompt's "Existing Resources" section, check
|
|
83
|
+
`workflows(action="list")` before reading "trigger my X" as a build: a
|
|
84
|
+
workflow's own name can contain a build verb ("X — Create"), and a link to
|
|
85
|
+
a service you integrate with is an input value, not a request to build an
|
|
86
|
+
integration for it. Finally, a one-off task with a concrete
|
|
79
87
|
external *effect* (export/copy data somewhere once, a migration, a
|
|
80
88
|
backfill) is **workflow-anchored**, not out-of-scope — the workflow is
|
|
81
89
|
just the vehicle. Classify it by shape (bounded data already in hand,
|
|
@@ -128,16 +136,21 @@ builder.
|
|
|
128
136
|
0. If the user is mid-build on an existing workflow or agent, apply context
|
|
129
137
|
continuity (see Signals) before anything else — an incremental request
|
|
130
138
|
normally extends the current primitive.
|
|
131
|
-
1. **Explicit artifact requests.**
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
1. **Explicit artifact requests.** "Build me an Agent/assistant that…" selects
|
|
140
|
+
an Agent artifact and decides the anchor. Do not ask the user to reconsider
|
|
141
|
+
that choice during intent recognition. Do not silently substitute a workflow,
|
|
142
|
+
even when it could implement the same behavior. You may explain a simpler
|
|
143
|
+
workflow alternative, but switch only after the user chooses it. Route
|
|
144
|
+
missing setup and implementation choices to Agent Builder. The immediate
|
|
145
|
+
next routing action is to load `agent-builder`. Do not call `ask-user`
|
|
146
|
+
between classification and that handoff. Forward the request without
|
|
147
|
+
selecting services, tools, topics, schedules, or other implementation
|
|
148
|
+
details. Agent Builder owns those questions. An explicit
|
|
149
|
+
workflow request normally selects a workflow. If its required interaction is
|
|
150
|
+
unambiguously Agent-shaped, such as ongoing open-ended chat, explain why an
|
|
151
|
+
Agent fits and say that you are deviating from the named workflow. The
|
|
152
|
+
false-friends rule applies to task descriptions, not to an explicit Agent
|
|
153
|
+
request.
|
|
141
154
|
2. If the request is not a build intent — a meta or product question, or a
|
|
142
155
|
one-off content task with no trigger or reuse — classify **out-of-scope**
|
|
143
156
|
and answer or do it directly.
|
|
@@ -148,11 +161,16 @@ builder.
|
|
|
148
161
|
Do not split a single automation that merely enumerates many tools or
|
|
149
162
|
steps. Run steps 4-9 on each part.
|
|
150
163
|
4. Test the agent signals. If any one holds, classify **agent-anchored**.
|
|
151
|
-
5.
|
|
164
|
+
5. Before selecting a workflow, verify that the request supplies or clearly
|
|
165
|
+
entails every workflow condition. Do not invent a fixed sequence, decision
|
|
166
|
+
policy, or bounded LLM task from a generic outcome. If a missing
|
|
167
|
+
anchor-defining detail could make the work judgment-driven, classify
|
|
168
|
+
**needs-clarification** and ask only for that detail.
|
|
169
|
+
6. Otherwise, test the workflow conditions. If all of them hold, classify
|
|
152
170
|
**workflow-anchored**.
|
|
153
|
-
|
|
171
|
+
7. Decide `embeds_other` in both directions: does an agent step appear inside
|
|
154
172
|
this workflow, or does this agent invoke workflows as tools?
|
|
155
|
-
|
|
173
|
+
8. **Degenerate-shell check.** If a workflow-anchored design reduces to a
|
|
156
174
|
trigger plus a single open-ended agent step that does all the work — no
|
|
157
175
|
deterministic steps earning the shell — the anchor is wrong: reclassify
|
|
158
176
|
**agent-anchored** and build an n8n Agent (an on-demand duty becomes the
|
|
@@ -160,9 +178,6 @@ builder.
|
|
|
160
178
|
this check while building: when fixed nodes prove unusable and the work
|
|
161
179
|
migrates into one embedded agent step, stop and re-anchor instead of
|
|
162
180
|
finishing the degenerate workflow.
|
|
163
|
-
8. If the request is under-specified on an anchor-deciding axis (rule-based
|
|
164
|
-
vs judgment-based, scope/autonomy, interaction mode), classify
|
|
165
|
-
**needs-clarification** and name the missing axis instead of guessing.
|
|
166
181
|
9. If both anchors are genuinely defensible, apply the growth tiebreaker:
|
|
167
182
|
prefer whichever primitive scales with likely complexity growth — usually
|
|
168
183
|
agent-anchored when novel situations, longer horizons, or learning are
|
|
@@ -177,6 +192,11 @@ builder.
|
|
|
177
192
|
**Agent-anchored** (any one is enough):
|
|
178
193
|
|
|
179
194
|
- Reasoning dominates the flow: investigate, decide, act, iterate.
|
|
195
|
+
- Persistent delegated role: the user gives an analyst, coordinator,
|
|
196
|
+
receptionist, researcher, or similar role continuing responsibility for a
|
|
197
|
+
changing domain. The role must require judgment such as choosing what
|
|
198
|
+
matters, selecting tools, following up, or adapting actions. A role noun by
|
|
199
|
+
itself is not enough.
|
|
180
200
|
- On-demand question or report that requires judgment-driven navigation of
|
|
181
201
|
external systems (which items matter, how they map to goals) and cannot be
|
|
182
202
|
answered directly with your own tools — the user is in effect already
|
|
@@ -208,14 +228,15 @@ builder.
|
|
|
208
228
|
|
|
209
229
|
**Scheduled judgment work** (recurring cadence + open-ended body): both
|
|
210
230
|
primitives can own it — a workflow shell with an embedded agent step, or an
|
|
211
|
-
agent with a scheduled task. Default to
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
231
|
+
agent with a scheduled task. Default to an Agent task when the open-ended duty
|
|
232
|
+
is the whole outcome and the workflow shell would only trigger the duty and
|
|
233
|
+
deliver its result. Use a workflow shell when its deterministic collection,
|
|
234
|
+
gating, transformation, branching, or delivery steps are independently
|
|
235
|
+
meaningful and the agent owns only one bounded stage. Choose an Agent when the
|
|
236
|
+
duty belongs to a persistent role, needs memory across runs, supports user
|
|
237
|
+
interaction, or has other duties. An explicit Agent request remains binding.
|
|
238
|
+
A recurring duty added to an agent mid-build is always a task on that agent,
|
|
239
|
+
never a spawned workflow.
|
|
219
240
|
|
|
220
241
|
**Embeds-other signals**:
|
|
221
242
|
|
|
@@ -271,16 +292,17 @@ that the agent cannot fully satisfy, not a workflow-anchored one.
|
|
|
271
292
|
|
|
272
293
|
**Clarify triggers**: rule-based vs judgment-based (what defines "important"
|
|
273
294
|
or "urgent"?), scope/autonomy (act on its own vs draft for review),
|
|
274
|
-
interaction mode (one-shot vs chat).
|
|
275
|
-
|
|
276
|
-
instead.
|
|
295
|
+
interaction mode (one-shot vs chat). Clarify when the missing answer changes
|
|
296
|
+
the anchor. When the request supplies enough evidence and both designs remain
|
|
297
|
+
valid, apply the growth tiebreaker instead of asking a theoretical preference.
|
|
277
298
|
|
|
278
|
-
**False friends — not signals**:
|
|
299
|
+
**False friends — not signals by themselves**:
|
|
279
300
|
|
|
280
301
|
- Surface vocabulary: "agent", "assistant", "bot", "workflow", "automate"
|
|
281
|
-
in a *task description*
|
|
282
|
-
words.
|
|
283
|
-
|
|
302
|
+
in a *task description* carries no weight — classify the shape, not the
|
|
303
|
+
words. A persistent delegated role combines the role with ongoing judgment,
|
|
304
|
+
so it is a real Agent signal. An explicit artifact request ("build me an
|
|
305
|
+
agent that…") is binding; see Decision Step 1.
|
|
284
306
|
- Step count and tool count: long linear pipelines and high tool counts are
|
|
285
307
|
not agentic. Seven deterministic steps with zero branches is still a
|
|
286
308
|
workflow.
|
|
@@ -319,12 +341,18 @@ instead.
|
|
|
319
341
|
vendors, follow up with each team lead, and send reminders through our
|
|
320
342
|
existing reminder workflow when a task stalls." -> **agent-anchored**,
|
|
321
343
|
`embeds_other: true`: long-running coordination invoking a workflow tool.
|
|
322
|
-
- "
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
344
|
+
- "Every night, fetch the day's new GitHub stars and send me a digest." ->
|
|
345
|
+
**workflow-anchored**, `embeds_other: false`: fixed schedule, source,
|
|
346
|
+
transform, and delivery, with no Agent artifact or judgment requirement.
|
|
347
|
+
- "Build me an agent that fetches new GitHub stars each night and sends me a
|
|
348
|
+
digest." -> **agent-anchored**, `embeds_other: false`: the user selected an
|
|
349
|
+
Agent, and the recurring duty is a scheduled task on it. A workflow can be
|
|
350
|
+
offered as an alternative, but it cannot silently replace the requested
|
|
351
|
+
artifact.
|
|
352
|
+
- "Set up a daily market analyst. It should research market changes, decide
|
|
353
|
+
which developments matter, and send me a briefing each morning." ->
|
|
354
|
+
**agent-anchored**, `embeds_other: false`: the analyst owns a persistent,
|
|
355
|
+
judgment-driven role; the morning cadence is a task on that Agent.
|
|
328
356
|
- "Spin up a lightweight workflow that talks to shoppers on our storefront
|
|
329
357
|
and handles their product questions." -> **agent-anchored**: chat-based
|
|
330
358
|
Q&A means the LLM owns turn-by-turn control despite the word "workflow" —
|
|
@@ -363,6 +391,9 @@ instead.
|
|
|
363
391
|
- "Tell me when something important happens with our shipments." ->
|
|
364
392
|
**needs-clarification**: "important" is undefined; ask whether concrete
|
|
365
393
|
rules exist or this needs judgment-based triage.
|
|
394
|
+
- "Ingest each cybersecurity alert, analyze it, and take actions depending on
|
|
395
|
+
the finding." -> **needs-clarification**: ask whether fixed rules select the
|
|
396
|
+
actions or whether an investigator must choose and adapt them.
|
|
366
397
|
- "Build me an agent my team can @mention on WhatsApp to triage customer
|
|
367
398
|
messages." -> **agent-anchored** (explicit agent artifact + chat
|
|
368
399
|
interaction), but call `list-agent-capabilities` first: WhatsApp is absent,
|
|
@@ -397,6 +428,9 @@ instead.
|
|
|
397
428
|
- Unnecessary agency adds latency, cost, and compounding error risk — do not
|
|
398
429
|
reach for an agent when a bounded workflow fully satisfies a task-shaped
|
|
399
430
|
request. This is not a license to override an explicit agent request.
|
|
431
|
+
- Unnecessary workflow shells hide Agent intent. Do not wrap an open-ended
|
|
432
|
+
delegated duty in a workflow when the shell only supplies a schedule and a
|
|
433
|
+
destination.
|
|
400
434
|
- Never satisfy an **agent-anchored** classification with a workflow
|
|
401
435
|
containing a Chat Trigger + AI Agent node. Agent-anchored requests
|
|
402
436
|
produce an n8n Agent artifact via the agent build path; the AI Agent
|
|
@@ -413,7 +447,7 @@ instead.
|
|
|
413
447
|
agent steps inside a pipeline the user described as a pipeline.
|
|
414
448
|
- A workflow whose only real step is one embedded agent doing all the work
|
|
415
449
|
is an agent wearing a workflow costume — the mirror image of the Chat
|
|
416
|
-
Trigger gotcha above. Apply the degenerate-shell check (step
|
|
450
|
+
Trigger gotcha above. Apply the degenerate-shell check (step 8) and
|
|
417
451
|
re-anchor instead of shipping trigger + AI Agent node.
|
|
418
452
|
- Do not treat a cron schedule as a workflow signal by itself — agents run
|
|
419
453
|
scheduled tasks. Classify by the body of each run, and when a one-off
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
name: n8n-docs-assistant
|
|
3
3
|
description: >-
|
|
4
4
|
Answers n8n product, setup, credential, node, hosting, API, and usage
|
|
5
|
-
questions from current n8n docs.
|
|
6
|
-
(search "n8n docs" if not visible). Use when the user asks how to configure,
|
|
5
|
+
questions from current n8n docs. Use when the user asks how to configure,
|
|
7
6
|
set up, troubleshoot, or understand n8n behavior, especially credential setup
|
|
8
|
-
questions
|
|
7
|
+
questions — including which OAuth scopes or permissions a provider app needs.
|
|
9
8
|
recommended_tools:
|
|
10
9
|
- n8n-docs
|
|
11
10
|
- credentials
|
|
@@ -17,14 +16,11 @@ recommended_tools:
|
|
|
17
16
|
Use this skill when the user asks how to configure, set up, troubleshoot, or
|
|
18
17
|
understand n8n behavior and the answer should come from current n8n docs.
|
|
19
18
|
|
|
20
|
-
Before calling `n8n-docs`, load it via `load_tool` (search "n8n docs" if it is
|
|
21
|
-
not visible).
|
|
22
|
-
|
|
23
19
|
## Default Procedure
|
|
24
20
|
|
|
25
|
-
1.
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
1. Call `n8n-docs(action="lookup")` first for credential setup and direct n8n
|
|
22
|
+
docs questions. Use `search` then `read` only when you need tighter control
|
|
23
|
+
over candidate pages.
|
|
28
24
|
2. For credential setup, pass `intent: "credential-setup"` and all available
|
|
29
25
|
context fields: `credentialType`, `credentialDisplayName`,
|
|
30
26
|
`documentationUrl`, `oauthRedirectUrl`, and `nodeType`.
|
|
@@ -133,7 +133,7 @@ workflow loop or when the user explicitly requested a live run. If verification
|
|
|
133
133
|
succeeds and any verified workflow dependency outcome has
|
|
134
134
|
`outcome.setupRequirement.status === "required"`, call
|
|
135
135
|
`workflows(action="setup")` with that workflowId before `complete-checkpoint`;
|
|
136
|
-
the inline setup card appears automatically in the
|
|
136
|
+
the inline setup card appears automatically in the n8n Assistant panel, so do not
|
|
137
137
|
tell the user to open the editor, use the canvas, or click a Setup button. If
|
|
138
138
|
setup returns `deferred: true`, or reports `skippedByUser`, respect it and still
|
|
139
139
|
complete the checkpoint with a result that says setup was deferred — never call
|
|
@@ -156,7 +156,7 @@ and let replan take over.
|
|
|
156
156
|
## Background task completed
|
|
157
157
|
|
|
158
158
|
When `<background-task-completed>` is present, a detached background task
|
|
159
|
-
finished
|
|
159
|
+
finished. The `result` field holds the task's
|
|
160
160
|
authoritative summary of what was actually done. **When you write the user-facing recap, take factual details —
|
|
161
161
|
model IDs, node names, resource IDs, parameter values — directly from this
|
|
162
162
|
`result` text.** Do not substitute values from conversation history or training
|
package/skills/planning/SKILL.md
CHANGED