claude — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited claude (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This is the Claude Code-specific version of the n8n-v2-workflow skill. References point to the shared references/ and ../code-snippets/ directories in the parent skill folder.
The n8n-nodes-base.executeCommand node is NOT available in the default n8n container image. Do NOT use it in any workflow.
Instead, use Code nodes (JavaScript) with the Node.js fs module for all file operations:
fs.readdirSync() instead of find / lsfs.readFileSync() instead of catfs.writeFileSync() instead of echo >fs.renameSync() instead of mvfs.existsSync() instead of test -fComprehensive reference for building n8n workflows using v2.0 patterns and best practices. This skill provides complete documentation for nodes, expressions, patterns, troubleshooting, and production-ready examples.
curl -X GET "https://api.example.com/endpoint" \
-H "Authorization: Bearer $TOKEN"Generate workflow JSON with nodes and connections.
n8n UI > Settings > Import from File
Use MCP server mcp__n8n__execute_workflow or manual trigger
What it CAN do:
What it CANNOT do:
Workaround: Generate JSON files, import via UI
📖 Deep dive: references/mcp-limitations.md
Complete reference for all n8n nodes:
Trigger Nodes: Manual Trigger, Execute Workflow Trigger Data Processing: Code, Set, Merge, Filter, Split in Batches Flow Control: IF, Wait Integration: HTTP Request, RSS Feed Read Action: Execute Workflow, Respond to Webhook
Each node documented with configuration examples, parameters, and patterns.
📖 Complete reference: references/node-library.md
Dynamic values in node parameters using ={{ expression }}:
{{ $json.field }} // Current item
{{ $('Node Name').first().json.field }} // Cross-node
{{ $json.url || 'default' }} // Fallback
{{ new Date().toISOString() }} // Date/time
`urn:li:person:${$json.sub}` // Template literal📖 Complete guide: references/expression-syntax.md
Use Wait nodes with forms (NOT respondToWebhook):
Trigger → Generate Content → Wait Node (form) → IF → Action📖 Complete patterns: references/wait-nodes-guide.md
Orchestrator coordinates sub-workflows:
Main Orchestrator
├── Trigger
├── Execute Sub-Workflow: Data Fetcher
├── Wait Node: Review
├── Execute Sub-Workflow: Processor
└── Execute Sub-Workflow: Output📖 All patterns: references/workflow-patterns.md
Multi-source data fetch, normalize, merge, deduplicate, rank:
Trigger
├── HTTP Request: Source 1 → Normalize
├── HTTP Request: Source 2 → Normalize
└── RSS Feed: Source 3 → Normalize
→ Merge → Deduplicate → Rank📖 Detailed patterns: references/workflow-patterns.md
Sub-workflow pattern for AI content:
Execute Workflow Trigger
→ Code: Build Prompt
→ HTTP Request: AI API
→ Code: Extract Response📖 Implementation: references/workflow-patterns.md
Problem: Imported nodes show error after import
Solution:
📖 Detailed troubleshooting: references/execute-sub-workflow-issues.md
❌ Wrong: respondToWebhook, Set nodes, IF on unset fields ✅ Correct: Wait node with resume: "form"
📖 Complete guide: references/wait-nodes-guide.md
unauthorized_scope_error❌ Turn OFF both: "Organization Support" and "Legacy" toggles
📖 All auth issues: references/api-credentials.md
Starting points for common structures:
../assets/templates/wait-node-approval-template.json../assets/templates/orchestrator-template.json../assets/templates/sub-workflow-template.jsonProduction-ready workflows you can import and use:
../assets/examples/news-aggregation-workflow.json
../assets/examples/content-generation-workflow.json
../assets/examples/linkedin-member-id-workflow.json
../assets/examples/multi-source-deduplication-workflow.json
Reusable JavaScript for Code nodes:
fs (replaces executeCommand)../code-snippets/file-operations.js
../code-snippets/deduplication.js
../code-snippets/ranking-algorithms.js
../code-snippets/data-normalization.js
../code-snippets/form-data-preparation.js
../code-snippets/cross-node-data-access.js
LinkedIn OAuth2:
openid, profile, w_member_socialurn:li:person:{id}Anthropic API:
x-api-keyclaude-3-5-sonnet-20241022NewsAPI:
X-Api-Key/v2/everything, /v2/top-headlines📖 Complete setup: references/api-credentials.md
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.