n8n-expression-syntax
Validate n8n expression syntax and fix common errors.
Skill by czlonkowski
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/czlonkowski-n8n-expression-syntax
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, writing, productivity, workflow-automation, debugging
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/n8n-expression-syntax
What's inside
- Skill name
n8n-expression-syntax- Description
- Validate n8n expression syntax and fix common errors. Use when writing n8n expressions, using {{}} syntax, accessing $json/$node variables, troubleshooting expression errors, mapping data between nodes, or referencing webhook data in workflows. Use this skill whenever configuring node fields that reference data from previous nodes — expressions are how n8n passes data between nodes, and getting the syntax wrong is the most common source of workflow errors. Also use when asked whether a complex expression hurts performance.
- License
- MIT
- Instructions
- 694 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: 694 lines (spec recommends under 500)
Files (4)
- COMMON_MISTAKES.md
- EXAMPLES.md
- README.md
- SKILL.md
SKILL.md (first lines)
# n8n Expression Syntax
Expert guide for writing correct n8n expressions in workflows.
---
## Expression Format
All dynamic content in n8n uses **double curly braces**:
```
{{expression}}
```
**Examples**:
```
✅ {{$json.email}}
✅ {{$json.body.name}}
✅ {{$node["HTTP Request"].json.data}}
❌ $json.email (no braces - treated as literal text)
❌ {$json.email} (single braces - invalid)
```
---
## Core Variables
### $json - Current Node Output
Access data from the current node:
```javascript
{{$json.fieldName}}
{{$json['field with spaces']}}
{{$json.nested.property}}
{{$json.items[0].name}}
```
### $node - Reference Other Nodes
Access data from any previous node:
```javascript
{{$node["Node Name"].json.fieldName}}
{{$node["HTTP Request"].json.data}}
{{$node["Webhook"].json.body.email}}
```
**Important**:
- Node names **must** be in quotes
- Node names are **case-sensitive**
- Must match exact node name from workflow
### $now - Current Timestamp
Access current date/time:
```javascript
{{$now}}
{{$now.toFormat('yyyy-MM-dd')}}
{{$now.toFormat('HH:mm:ss')}}
{{$now.plus({days: 7})}}
```
### $env - Environment Variables
Access environment variables:
```javascript
{{$env.API_KEY}}
{{$env.DATABASE_URL}}
```
**Warning**: Some n8n instances have `N8N_BLOCK_ENV_ACCESS_IN_NODE` enabled, which blocks `$env` access entirely. If `$env` returns errors, use alternative approaches:
- Store values in credentials instead
- Use a Set node with manually entered values
- Pass values through webhook query parameters
---
## 🚨 CRITICAL: Webhook Data Structure
**Most Common Mistake**: Webhook data is **NOT** at the root!
### Webhook Node Output Structure
```javascript
{
"headers": {...},
"params": {...},
"query": {...},
"body": { // ⚠️ USER DATA IS HERE!
"name": "John",
"email": "john@example.com",
"message": "Hello"
}
}
```
### Correct Webhook Data Access
```javascript
❌ WRONG: {{$json.name}}
❌ WRONG: {{$json.email}}
✅ CORRECT: {{$json.body.name}}
✅ CORRECT: {{$json.body.email}}
✅ CORRECT: {{$json.body.message}}
```
**Why**: Webhook node wraps incoming data under `.body` property to preserve headers, params, and query parameters.
---
## Common Patterns
### Access Nested Fields
```javascriptFrom czlonkowski/n8n-skills, MIT.
More from czlonkowski/n8n-skills
- 0.848score
n8n-subworkflows
czlonkowski
Build reusable, composable n8n sub-workflows.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-code-javascript
czlonkowski
Write, review, or debug JavaScript in an n8n Code node.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-error-handling
czlonkowski
Wire n8n error handling so failures are loud, structured, and recoverable.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-self-hosting
czlonkowski
Deploy a production self-hosted n8n end-to-end to a fresh Linux VM over SSH, using Docker Compose behind a Caddy reverse proxy with automatic HTTPS.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-multi-instance
czlonkowski
Use when an n8n-mcp account targets more than one n8n instance — i.e.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-mcp-tools-expert
czlonkowski
Expert guide for using n8n-mcp MCP tools effectively.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-code-tool
czlonkowski
Write JavaScript or Python for the n8n Custom Code Tool (@n8n/n8n-nodes-langchain.toolCode) — the AI-agent-callable tool, NOT the workflow Code node.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-code-python
czlonkowski
Write Python in n8n Code nodes (native Python, `language` pythonNative, n8n 2.x).
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-binary-and-data
czlonkowski
Handle files and binary data in n8n correctly.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-agents
czlonkowski
Design n8n AI agents the right way.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
using-n8n-mcp-skills
czlonkowski
Use when building, editing, validating, testing, or debugging an n8n workflow through the n8n-mcp MCP server — designing a flow, configuring a node, writing…
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.838score
n8n-node-configuration
czlonkowski
Operation-aware node configuration guidance.
SkillAFreshness: A★ 6.5KClaude Code +9
Signals
- Stars
- 6,517
- Forks
- 1,075
- Open issues
- 10
- Last commit (this folder)
- Oct 24, 2026 (4 days ago)
- Last release
- Oct 24, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/czlonkowski/n8n-skills
- Website
- www.n8n-skills.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from czlonkowski
- 0.848score
n8n-mcp-tools-expert
czlonkowski
Expert guide for using n8n-mcp MCP tools effectively.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-multi-instance
czlonkowski
Use when an n8n-mcp account targets more than one n8n instance — i.e.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
using-n8n-mcp-skills
czlonkowski
Use when building, editing, validating, testing, or debugging an n8n workflow through the n8n-mcp MCP server — designing a flow, configuring a node, writing…
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-subworkflows
czlonkowski
Build reusable, composable n8n sub-workflows.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-self-hosting
czlonkowski
Deploy a production self-hosted n8n end-to-end to a fresh Linux VM over SSH, using Docker Compose behind a Caddy reverse proxy with automatic HTTPS.
SkillAFreshness: A★ 6.5KClaude Code +9 - 0.848score
n8n-code-tool
czlonkowski
Write JavaScript or Python for the n8n Custom Code Tool (@n8n/n8n-nodes-langchain.toolCode) — the AI-agent-callable tool, NOT the workflow Code node.
SkillAFreshness: A★ 6.5KClaude Code +9
Cite this page
n8n-expression-syntax skill. Agent Mart. https://agentmart.dev/skills/czlonkowski-n8n-expression-syntax (last updated 2026-10-24)