All skills
Skillintermediate

Enforce consistency between n8n.aiNodeSdkVersion and ai-node-sdk peer dependency in community node packages (`@n8n/community-nodes/ai-node-package-jso

šŸ’¼ This rule is enabled in the following configs: āœ… `recommended`, ā˜‘ļø `recommendedWithoutN8nCloudSupport`.

Claude Code Knowledge Pack7/10/2026

Overview

Enforce consistency between n8n.aiNodeSdkVersion and ai-node-sdk peer dependency in community node packages (@n8n/community-nodes/ai-node-package-json)

šŸ’¼ This rule is enabled in the following configs: āœ… recommended, ā˜‘ļø recommendedWithoutN8nCloudSupport.

Rule Details

Enforces consistency between n8n.aiNodeSdkVersion in package.json and the ai-node-sdk peer dependency. When a community node uses the AI Node SDK, both fields must be present and correct.

The rule checks four conditions:

  • aiNodeSdkVersion is declared inside the n8n section (not at the root level)
  • aiNodeSdkVersion is a positive integer
  • If n8n.aiNodeSdkVersion is set, ai-node-sdk must appear in peerDependencies
  • If ai-node-sdk is in peerDependencies, n8n.aiNodeSdkVersion must be set

Examples

āŒ Incorrect

{
  "name": "n8n-nodes-my-ai-node",
  "n8n": {
    "aiNodeSdkVersion": "1"
  }
}
{
  "name": "n8n-nodes-my-ai-node",
  "aiNodeSdkVersion": 1,
  "peerDependencies": {
    "ai-node-sdk": "*"
  }
}
{
  "name": "n8n-nodes-my-ai-node",
  "peerDependencies": {
    "ai-node-sdk": "*"
  }
}

āœ… Correct

{
  "name": "n8n-nodes-my-ai-node",
  "n8n": {
    "aiNodeSdkVersion": 1
  },
  "peerDependencies": {
    "ai-node-sdk": "*"
  }
}