CtrlK
BlogDocsLog inGet started
Tessl Logo

n8n-code-javascript

Write JavaScript code in n8n Code nodes. Use when writing JavaScript in n8n, using $input/$json/$node syntax, making HTTP requests with this.helpers / the $helpers global, working with dates using DateTime, troubleshooting Code node errors, choosing between Code node modes, or doing any custom data transformation in n8n. Always use this skill when a workflow needs a Code node — whether for data aggregation, filtering, API calls, format conversion, batch processing logic, or any custom JavaScript. Covers SplitInBatches loop patterns, cross-iteration data, pairedItem, and real-world production patterns. Also use when asked why a Code node or workflow is slow, which execution mode is faster, or how to cut per-item overhead on large datasets. EXCEPTION — for the AI-agent-callable Custom Code Tool (@n8n/n8n-nodes-langchain.toolCode, a tool attached to an AI Agent), use the n8n-code-tool skill instead; it has a different runtime contract.

69

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is n8n-code-javascript in czlonkowski/n8n-skills

SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with executable, copy-paste-ready patterns and good sequencing, but it loses points on conciseness from repeated restatements and on progressive disclosure because the four referenced bundle files are absent from the skill directory.

Suggestions

Dedupe the recurring points: state the webhook `.body` nesting, the canonical `[{json:{...}}]` return, and the `$helpers`/sandbox note once each and link out for depth instead of repeating them across Quick Start, Return Format, and Built-in Functions sections.

Provide the referenced bundle files (DATA_ACCESS.md, COMMON_PATTERNS.md, ERROR_PATTERNS.md, BUILTIN_FUNCTIONS.md) or remove the dangling links, so the "See:" pointers actually resolve.

Tighten or fold the "Integration with Other Skills" and "Quick Reference Checklist" sections — they restate guidance already covered and add tokens without proportionate new, actionable information.

DimensionReasoningScore

Conciseness

The body is mostly efficient and assumes Claude's competence (no primers on what JS or n8n is), but several points are restated across sections — webhook `.body` nesting, the canonical return shape, and the "$helpers is undefined" sandbox note each appear 2–3 times — and the Integration/Quick Reference Checklist sections add length without proportional new guidance.

3 / 5

Actionability

Code throughout is fully executable and copy-paste ready, covering common cases with explicit wrong/right (❌/✅) comparisons, concrete helpers (this.helpers.httpRequest, DateTime, $jmespath), and a worked sum/aggregate example; specific examples cover the common Code-node shapes.

5 / 5

Workflow Clarity

A clear transform gatekeeper sequence (expression → IIFE → Code node) and a deployment Quick Reference Checklist provide good sequencing and a pre-flight verification list, but explicit validate→fix→retry feedback loops are only implicit rather than spelled out as a recovery cycle.

4 / 5

Progressive Disclosure

The body is well-sectioned and signals four one-level-deep references (DATA_ACCESS.md, COMMON_PATTERNS.md, ERROR_PATTERNS.md, BUILTIN_FUNCTIONS.md) via clear "See:" pointers, but none of those files exist in the bundle — the references are dangling, so the disclosed structure does not actually resolve.

3 / 5

Total

15

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is exemplary: it specifies concrete capabilities, provides natural trigger terms, explicitly pairs what-and-when guidance, and preempts skill-confusion with a named EXCEPTION. No meaningful gaps for a model to decide invocation.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "writing JavaScript in n8n", "using $input/$json/$node syntax", "making HTTP requests", "working with dates using DateTime", "choosing between Code node modes", plus SplitInBatches, pairedItem, and production patterns — giving comprehensive coverage of capabilities.

5 / 5

Completeness

Explicitly answers both what ("Write JavaScript code in n8n Code nodes" plus a coverage list) and when ("Use when writing JavaScript in n8n", "Always use this skill when a workflow needs a Code node", "Also use when asked why...") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Comprehensive natural-language and technical trigger terms including "Code node", "SplitInBatches", "DateTime", "pairedItem", "cross-iteration data", plus the natural user phrases "why a Code node or workflow is slow" and "which execution mode is faster".

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (n8n JavaScript Code nodes) and actively mitigates conflict risk with an explicit EXCEPTION directing the AI-agent Custom Code Tool to the n8n-code-tool skill, giving minimal overlap risk.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 13 missing

Warning

Total

15

/

16

Passed

Repository
czlonkowski/n8n-mcp
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.