skills/n8n/SKILL.md
Manage n8n workflows and troubleshoot executions. Use when user asks about n8n workflows, webhook triggers, execution errors, or wants to edit workflow nodes.
npx skillsauth add pokgak/agent-skills n8nInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A workflow is an automation that connects multiple services/apps. It consists of:
An execution is a single run of a workflow. States:
HTTP endpoints that trigger workflows:
/webhook/<path> - Always active when workflow is active/webhook-test/<path> - For testing, shows data in UIStored authentication for services (API keys, OAuth tokens). Referenced by nodes but not exposed in workflow JSON.
The CLI is available via uvx (no installation needed):
uvx n8n-client --help
Or install via pip/uv:
pip install n8n-client
# or
uv pip install n8n-client
Required:
N8N_API_KEY - API key from n8n (Settings → n8n API)N8N_BASE_URL - n8n instance URL (e.g., https://your-instance.app.n8n.cloud)# List all workflows
uvx n8n-client workflows
# Active workflows only
uvx n8n-client workflows --active
# JSON output
uvx n8n-client workflows --json
# Get workflow details
uvx n8n-client workflow <workflow_id>
# Full JSON output
uvx n8n-client workflow <workflow_id> --json
uvx n8n-client activate <workflow_id>
uvx n8n-client deactivate <workflow_id>
# List all nodes (Code nodes marked with *)
uvx n8n-client nodes <workflow_id>
# View node details
uvx n8n-client node <workflow_id> "node name"
# View Code node's JavaScript
uvx n8n-client node <workflow_id> "node name" --code
# Update Code node from file
uvx n8n-client node <workflow_id> "node name" --set-code script.js
# Rename a node
uvx n8n-client node <workflow_id> "old name" --rename "new name"
# Set node parameter (supports dot notation for nested keys)
uvx n8n-client node <workflow_id> "HTTP Request" --set-param url="https://api.example.com"
uvx n8n-client node <workflow_id> "Agent" --set-param options.systemMessage="You are helpful"
# Set multiple parameters at once
uvx n8n-client node <workflow_id> "Node" -p timeout=5000 -p retries=3
# Bulk update parameters from JSON (deep merged)
uvx n8n-client node <workflow_id> "Node" --set-param-json '{"options": {"systemMessage": "Hello"}}'
Useful for editing Code node scripts in a proper editor:
# Export all Code nodes to files
uvx n8n-client export-code <workflow_id> ./nodes/
# Import updated scripts back
uvx n8n-client import-code <workflow_id> ./nodes/
# Trigger workflow by name via webhook
uvx n8n-client trigger "Workflow Name"
# With JSON payload
uvx n8n-client trigger "Workflow Name" --data '{"key": "value"}'
# With payload from file
uvx n8n-client trigger "Workflow Name" --file payload.json
# Use test webhook URL
uvx n8n-client trigger "Workflow Name" --test
# Recent executions
uvx n8n-client executions
# Filter by workflow
uvx n8n-client executions --workflow <workflow_id>
# Filter by status (error, success, running, waiting, canceled)
uvx n8n-client executions --status error
# Limit results
uvx n8n-client executions -n 100
# Get execution details (shows error info for failed executions)
uvx n8n-client execution <execution_id>
# Include full execution data
uvx n8n-client execution <execution_id> --data
# JSON output
uvx n8n-client execution <execution_id> --data --json
uvx n8n-client retry <execution_id>
# Use latest workflow version
uvx n8n-client retry <execution_id> --latest
Note: The n8n API does not allow reading credential values (security restriction). You can only list credentials metadata, create new credentials, and delete credentials. To update a credential, you must delete and recreate it.
# List all credentials (metadata only - id, name, type)
uvx n8n-client credentials
# Get schema for a credential type (shows required fields)
uvx n8n-client credential-schema httpHeaderAuth
uvx n8n-client credential-schema openAiApi --json
# Create a credential
uvx n8n-client create-credential --name "My API Key" --type httpHeaderAuth --data '{"name": "X-API-Key", "value": "secret"}'
# Create from file
uvx n8n-client create-credential --name "OpenAI" --type openAiApi --data-file credentials.json
# Delete a credential
uvx n8n-client delete-credential <credential_id>
# 1. Find failed executions
uvx n8n-client executions --status error
# 2. Get error details
uvx n8n-client execution <id>
# 3. Get full data for debugging
uvx n8n-client execution <id> --data --json
# 1. Export all Code nodes
uvx n8n-client export-code <workflow_id> ./nodes/
# 2. Edit scripts in your editor
# Files: ./nodes/node_name.js
# 3. Import changes back
uvx n8n-client import-code <workflow_id> ./nodes/
# View current code
uvx n8n-client node <workflow_id> "node name" --code > script.js
# Edit script.js...
# Update node
uvx n8n-client node <workflow_id> "node name" --set-code script.js
# Trigger with test payload
uvx n8n-client trigger "Workflow Name" --test --file test_payload.json
# Check execution result
uvx n8n-client executions --workflow <id> -n 1
When debugging with --data --json, the execution contains:
execution
├── id # Execution ID
├── status # success, error, running, etc.
├── mode # webhook, trigger, manual, retry
├── startedAt / stoppedAt # Timestamps
├── workflowData # Snapshot of workflow at execution time
│ ├── name
│ ├── nodes[]
│ └── connections
└── data
└── resultData
├── runData # Output from each node
│ └── [nodeName][]
│ ├── data.main[][] # Node output items
│ └── executionStatus
├── lastNodeExecuted
└── error # If failed
├── message
├── description
└── node # Which node failed
execution --data --json and look at the Webhook node's outputrunData.Webhook[0].data.main[0][0].json.bodynode <workflow_id> "node name" --code to view the codedocumentation
Interact with Linear issue tracking — list, create, update issues and projects, manage cycles, add comments, and query team data. Use this skill whenever the user asks about Linear tickets, issues, sprints/cycles, project management in Linear, or wants to create/update/triage issues. Triggers include "create a Linear issue", "update ticket", "show me issues in cycle", "what's in the backlog", "assign this to me", "add a comment to", "create a project in Linear".
development
Query observability backends (Loki logs, Prometheus/Mimir metrics, Tempo traces) to investigate production issues, debug errors, check service health, and analyze system behavior. Use this skill whenever the user asks about logs, metrics, traces, error rates, latency, or debugging anything in production — even if they don't say "lgtm" or "observability" explicitly.
development
Expert guidance for writing high-performance, reliable Kubernetes controllers and operators using controller-runtime and Kubebuilder. Use this skill whenever the user is: - Writing or reviewing a Kubernetes controller or operator - Working with controller-runtime, Kubebuilder, or reconcilers - Designing CRDs (CustomResourceDefinitions) - Asking about finalizers, watches, predicates, or RBAC markers - Writing tests for a Kubernetes controller - Debugging reconciliation issues, missed events, or conflict errors - Asking about operator patterns, ownership, or concurrent reconciliation Invoke this skill even if the user doesn't say "controller" explicitly — questions about reconcile loops, kubebuilder markers, or operator testing all belong here.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.