@intentsolutionsio/n8n-workflow-designer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,518 @@
1
+ ---
2
+ name: n8n-builder
3
+ description: Generate complete n8n workflow JSON files
4
+ ---
5
+ # n8n Workflow Builder
6
+
7
+ Generate production-ready n8n workflow JSON files.
8
+
9
+ ## Usage
10
+
11
+ When the user requests an n8n workflow, analyze their requirements and create a complete, importable workflow JSON file.
12
+
13
+ ## Workflow Templates
14
+
15
+ ### 1. AI Email Responder
16
+ ```json
17
+ {
18
+ "name": "AI Email Auto-Responder",
19
+ "nodes": [
20
+ {
21
+ "parameters": {
22
+ "pollTimes": {
23
+ "item": [
24
+ {
25
+ "mode": "everyMinute"
26
+ }
27
+ ]
28
+ },
29
+ "simple": true,
30
+ "filters": {
31
+ "labelIds": ["INBOX"]
32
+ }
33
+ },
34
+ "id": "1",
35
+ "name": "Gmail Trigger",
36
+ "type": "n8n-nodes-base.gmailTrigger",
37
+ "typeVersion": 1,
38
+ "position": [250, 300]
39
+ },
40
+ {
41
+ "parameters": {
42
+ "model": "gpt-4",
43
+ "messages": {
44
+ "values": [
45
+ {
46
+ "content": "=Draft a professional response to this email:\n\nFrom: {{ $json.from }}\nSubject: {{ $json.subject }}\nBody: {{ $json.body }}\n\nWrite a helpful, friendly response."
47
+ }
48
+ ]
49
+ }
50
+ },
51
+ "id": "2",
52
+ "name": "OpenAI",
53
+ "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
54
+ "typeVersion": 1,
55
+ "position": [450, 300],
56
+ "credentials": {
57
+ "openAiApi": {
58
+ "id": "1",
59
+ "name": "OpenAI API"
60
+ }
61
+ }
62
+ },
63
+ {
64
+ "parameters": {
65
+ "sendTo": "={{ $('Gmail Trigger').item.json.from }}",
66
+ "subject": "=Re: {{ $('Gmail Trigger').item.json.subject }}",
67
+ "message": "={{ $json.output }}",
68
+ "options": {}
69
+ },
70
+ "id": "3",
71
+ "name": "Gmail Send",
72
+ "type": "n8n-nodes-base.gmail",
73
+ "typeVersion": 2,
74
+ "position": [650, 300],
75
+ "credentials": {
76
+ "gmailOAuth2": {
77
+ "id": "1",
78
+ "name": "Gmail OAuth2"
79
+ }
80
+ }
81
+ }
82
+ ],
83
+ "connections": {
84
+ "Gmail Trigger": {
85
+ "main": [
86
+ [
87
+ {
88
+ "node": "OpenAI",
89
+ "type": "main",
90
+ "index": 0
91
+ }
92
+ ]
93
+ ]
94
+ },
95
+ "OpenAI": {
96
+ "main": [
97
+ [
98
+ {
99
+ "node": "Gmail Send",
100
+ "type": "main",
101
+ "index": 0
102
+ }
103
+ ]
104
+ ]
105
+ }
106
+ }
107
+ }
108
+ ```
109
+
110
+ ### 2. Data Processing Pipeline
111
+ ```json
112
+ {
113
+ "name": "CSV to Database with AI Enhancement",
114
+ "nodes": [
115
+ {
116
+ "parameters": {
117
+ "fileFormat": "csv",
118
+ "options": {}
119
+ },
120
+ "id": "1",
121
+ "name": "Read CSV",
122
+ "type": "n8n-nodes-base.spreadsheetFile",
123
+ "typeVersion": 2,
124
+ "position": [250, 300]
125
+ },
126
+ {
127
+ "parameters": {
128
+ "batchSize": 10,
129
+ "options": {}
130
+ },
131
+ "id": "2",
132
+ "name": "Loop Over Items",
133
+ "type": "n8n-nodes-base.splitInBatches",
134
+ "typeVersion": 3,
135
+ "position": [450, 300]
136
+ },
137
+ {
138
+ "parameters": {
139
+ "model": "gpt-4",
140
+ "messages": {
141
+ "values": [
142
+ {
143
+ "content": "=Enhance this data record with additional context:\n{{ JSON.stringify($json) }}"
144
+ }
145
+ ]
146
+ }
147
+ },
148
+ "id": "3",
149
+ "name": "AI Enhancement",
150
+ "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
151
+ "typeVersion": 1,
152
+ "position": [650, 300]
153
+ },
154
+ {
155
+ "parameters": {
156
+ "operation": "insert",
157
+ "schema": {
158
+ "__rl": true,
159
+ "value": "public",
160
+ "mode": "list"
161
+ },
162
+ "table": {
163
+ "__rl": true,
164
+ "value": "records",
165
+ "mode": "list"
166
+ },
167
+ "columns": {
168
+ "mappingMode": "autoMapInputData",
169
+ "value": {}
170
+ },
171
+ "options": {}
172
+ },
173
+ "id": "4",
174
+ "name": "PostgreSQL Insert",
175
+ "type": "n8n-nodes-base.postgres",
176
+ "typeVersion": 2.4,
177
+ "position": [850, 300]
178
+ }
179
+ ],
180
+ "connections": {
181
+ "Read CSV": {
182
+ "main": [
183
+ [
184
+ {
185
+ "node": "Loop Over Items",
186
+ "type": "main",
187
+ "index": 0
188
+ }
189
+ ]
190
+ ]
191
+ },
192
+ "Loop Over Items": {
193
+ "main": [
194
+ [
195
+ {
196
+ "node": "AI Enhancement",
197
+ "type": "main",
198
+ "index": 0
199
+ }
200
+ ]
201
+ ]
202
+ },
203
+ "AI Enhancement": {
204
+ "main": [
205
+ [
206
+ {
207
+ "node": "PostgreSQL Insert",
208
+ "type": "main",
209
+ "index": 0
210
+ }
211
+ ]
212
+ ]
213
+ }
214
+ }
215
+ }
216
+ ```
217
+
218
+ ### 3. Content Pipeline
219
+ ```json
220
+ {
221
+ "name": "RSS to Social Media with AI",
222
+ "nodes": [
223
+ {
224
+ "parameters": {
225
+ "url": "https://example.com/feed.xml",
226
+ "options": {}
227
+ },
228
+ "id": "1",
229
+ "name": "RSS Feed",
230
+ "type": "n8n-nodes-base.rssFeedRead",
231
+ "typeVersion": 1,
232
+ "position": [250, 300]
233
+ },
234
+ {
235
+ "parameters": {
236
+ "conditions": {
237
+ "dateTime": [
238
+ {
239
+ "value1": "={{ $json.pubDate }}",
240
+ "operation": "after",
241
+ "value2": "={{ $now.minus({ hours: 24 }) }}"
242
+ }
243
+ ]
244
+ }
245
+ },
246
+ "id": "2",
247
+ "name": "Filter New Items",
248
+ "type": "n8n-nodes-base.filter",
249
+ "typeVersion": 2,
250
+ "position": [450, 300]
251
+ },
252
+ {
253
+ "parameters": {
254
+ "model": "gpt-4",
255
+ "messages": {
256
+ "values": [
257
+ {
258
+ "content": "=Create a compelling social media post from this article:\n\nTitle: {{ $json.title }}\nSummary: {{ $json.contentSnippet }}\n\nMake it engaging and include relevant hashtags."
259
+ }
260
+ ]
261
+ }
262
+ },
263
+ "id": "3",
264
+ "name": "Generate Post",
265
+ "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
266
+ "typeVersion": 1,
267
+ "position": [650, 300]
268
+ },
269
+ {
270
+ "parameters": {
271
+ "text": "={{ $json.output }}",
272
+ "additionalFields": {}
273
+ },
274
+ "id": "4",
275
+ "name": "Twitter Post",
276
+ "type": "n8n-nodes-base.twitter",
277
+ "typeVersion": 2,
278
+ "position": [850, 300]
279
+ }
280
+ ],
281
+ "connections": {
282
+ "RSS Feed": {
283
+ "main": [
284
+ [
285
+ {
286
+ "node": "Filter New Items",
287
+ "type": "main",
288
+ "index": 0
289
+ }
290
+ ]
291
+ ]
292
+ },
293
+ "Filter New Items": {
294
+ "main": [
295
+ [
296
+ {
297
+ "node": "Generate Post",
298
+ "type": "main",
299
+ "index": 0
300
+ }
301
+ ]
302
+ ]
303
+ },
304
+ "Generate Post": {
305
+ "main": [
306
+ [
307
+ {
308
+ "node": "Twitter Post",
309
+ "type": "main",
310
+ "index": 0
311
+ }
312
+ ]
313
+ ]
314
+ }
315
+ }
316
+ }
317
+ ```
318
+
319
+ ### 4. Lead Qualification
320
+ ```json
321
+ {
322
+ "name": "Lead Scoring and Routing",
323
+ "nodes": [
324
+ {
325
+ "parameters": {
326
+ "path": "lead-webhook",
327
+ "options": {}
328
+ },
329
+ "id": "1",
330
+ "name": "Webhook",
331
+ "type": "n8n-nodes-base.webhook",
332
+ "typeVersion": 2,
333
+ "position": [250, 300]
334
+ },
335
+ {
336
+ "parameters": {
337
+ "model": "gpt-4",
338
+ "messages": {
339
+ "values": [
340
+ {
341
+ "content": "=Score this lead from 0-100 based on fit:\n\nCompany: {{ $json.company }}\nRole: {{ $json.role }}\nIndustry: {{ $json.industry }}\nBudget: {{ $json.budget }}\n\nProvide score and reasoning."
342
+ }
343
+ ]
344
+ }
345
+ },
346
+ "id": "2",
347
+ "name": "AI Score",
348
+ "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
349
+ "typeVersion": 1,
350
+ "position": [450, 300]
351
+ },
352
+ {
353
+ "parameters": {
354
+ "conditions": {
355
+ "number": [
356
+ {
357
+ "value1": "={{ $json.score }}",
358
+ "operation": "larger",
359
+ "value2": 70
360
+ }
361
+ ]
362
+ }
363
+ },
364
+ "id": "3",
365
+ "name": "IF High Score",
366
+ "type": "n8n-nodes-base.if",
367
+ "typeVersion": 2,
368
+ "position": [650, 300]
369
+ },
370
+ {
371
+ "parameters": {
372
+ "resource": "deal",
373
+ "operation": "create"
374
+ },
375
+ "id": "4",
376
+ "name": "Create CRM Deal",
377
+ "type": "n8n-nodes-base.hubspot",
378
+ "typeVersion": 2,
379
+ "position": [850, 250]
380
+ },
381
+ {
382
+ "parameters": {
383
+ "resource": "email",
384
+ "operation": "send",
385
+ "subject": "New Lead Follow Up",
386
+ "message": "={{ $json.reasoning }}"
387
+ },
388
+ "id": "5",
389
+ "name": "Nurture Email",
390
+ "type": "n8n-nodes-base.gmail",
391
+ "typeVersion": 2,
392
+ "position": [850, 350]
393
+ }
394
+ ],
395
+ "connections": {
396
+ "Webhook": {
397
+ "main": [
398
+ [
399
+ {
400
+ "node": "AI Score",
401
+ "type": "main",
402
+ "index": 0
403
+ }
404
+ ]
405
+ ]
406
+ },
407
+ "AI Score": {
408
+ "main": [
409
+ [
410
+ {
411
+ "node": "IF High Score",
412
+ "type": "main",
413
+ "index": 0
414
+ }
415
+ ]
416
+ ]
417
+ },
418
+ "IF High Score": {
419
+ "main": [
420
+ [
421
+ {
422
+ "node": "Create CRM Deal",
423
+ "type": "main",
424
+ "index": 0
425
+ }
426
+ ],
427
+ [
428
+ {
429
+ "node": "Nurture Email",
430
+ "type": "main",
431
+ "index": 0
432
+ }
433
+ ]
434
+ ]
435
+ }
436
+ }
437
+ }
438
+ ```
439
+
440
+ ## Features
441
+
442
+ - Complex branching logic
443
+ - Loops and iterations
444
+ - Error handling and retries
445
+ - Custom code nodes
446
+ - 200+ integrations
447
+ - Self-hostable
448
+ - AI model integration
449
+ - Database operations
450
+ - API calls and webhooks
451
+
452
+ ## Best Practices
453
+
454
+ 1. **Always add error handling** - Use error workflows or try-catch nodes
455
+ 2. **Test with small datasets first** - Validate before processing large volumes
456
+ 3. **Use environment variables for secrets** - Never hardcode API keys
457
+ 4. **Implement logging for debugging** - Add notes or database logging
458
+ 5. **Version control your workflows** - Export and commit to git
459
+ 6. **Monitor resource usage** - Watch execution times and API costs
460
+ 7. **Use descriptive node names** - Make workflows self-documenting
461
+ 8. **Implement rate limiting** - Respect API limits with Wait nodes
462
+ 9. **Batch processing for scale** - Use Split in Batches for large datasets
463
+ 10. **Regular backups** - Export workflows regularly
464
+
465
+ ## Output Format
466
+
467
+ When generating a workflow, provide:
468
+
469
+ 1. **Workflow Name** - Clear, descriptive name
470
+ 2. **Architecture Diagram** - Visual flow of nodes
471
+ 3. **Complete JSON** - Importable workflow file
472
+ 4. **Setup Instructions** - Credentials, settings needed
473
+ 5. **Testing Steps** - How to validate the workflow
474
+ 6. **Deployment Notes** - Self-hosted vs cloud considerations
475
+ 7. **Cost Estimation** - Expected API and resource costs
476
+
477
+ ## Example Response
478
+
479
+ ```markdown
480
+ # Workflow: AI Customer Support Automation
481
+
482
+ ## Architecture
483
+ ```
484
+ Ticket Created → Classify (AI) → Route by Priority → Draft Response (AI) → Human Review → Send
485
+ ```
486
+
487
+ ## Nodes
488
+ 1. Webhook trigger for new tickets
489
+ 2. OpenAI classification
490
+ 3. IF node for routing
491
+ 4. OpenAI response generation
492
+ 5. Slack notification for review
493
+ 6. Email send on approval
494
+
495
+ ## Setup
496
+ 1. Create webhook in your ticketing system
497
+ 2. Add OpenAI API credentials
498
+ 3. Configure Slack webhook
499
+ 4. Set up email credentials
500
+ 5. Test with sample ticket
501
+
502
+ ## JSON
503
+ [Complete importable JSON here]
504
+
505
+ ## Testing
506
+ - Send test ticket through webhook
507
+ - Verify classification accuracy
508
+ - Check routing logic
509
+ - Review AI-generated responses
510
+ - Test Slack notifications
511
+
512
+ ## Cost Estimate
513
+ - ~$0.01 per ticket (GPT-4 usage)
514
+ - Self-hosted n8n: Free (Docker)
515
+ - Cloud n8n: $20/month (standard plan)
516
+ ```
517
+
518
+ This workflow builder helps users create production-ready n8n automations with AI integration, error handling, and best practices built in.
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@intentsolutionsio/n8n-workflow-designer",
3
+ "version": "1.0.0",
4
+ "description": "Design complex n8n workflows with AI assistance - loops, branching, error handling",
5
+ "keywords": [
6
+ "n8n",
7
+ "workflow",
8
+ "automation",
9
+ "self-hosted",
10
+ "open-source",
11
+ "ai-agency",
12
+ "claude-code",
13
+ "claude-plugin",
14
+ "tonsofskills"
15
+ ],
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/jeremylongshore/claude-code-plugins-plus-skills.git",
19
+ "directory": "plugins/ai-agency/n8n-workflow-designer"
20
+ },
21
+ "homepage": "https://tonsofskills.com/plugins/n8n-workflow-designer",
22
+ "bugs": "https://github.com/jeremylongshore/claude-code-plugins-plus-skills/issues",
23
+ "license": "MIT",
24
+ "author": {
25
+ "name": "Claude Code Plugin Hub",
26
+ "url": "https://github.com/jeremylongshore/claude-code-plugins"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "files": [
32
+ "README.md",
33
+ ".claude-plugin",
34
+ "skills",
35
+ "commands",
36
+ "agents"
37
+ ],
38
+ "scripts": {
39
+ "postinstall": "node -e \"console.log(\\\"\\\\n→ This npm package is a tracking/proof artifact. Install the plugin via:\\\\n ccpi install n8n-workflow-designer\\\\n or /plugin install n8n-workflow-designer@claude-code-plugins-plus in Claude Code\\\\n\\\")\""
40
+ }
41
+ }
@@ -0,0 +1,7 @@
1
+ # Assets
2
+
3
+ Bundled resources for n8n-workflow-designer skill
4
+
5
+ - [ ] workflow_templates/: Directory containing example n8n workflow JSON files for common use cases (e.g., email auto-responder, data synchronization).
6
+ - [ ] prompt_templates/: Directory containing prompt templates for generating n8n workflows from natural language input.
7
+ - [ ] node_icons/: Directory containing icons for n8n nodes, used for visual representation in the workflow designer.
@@ -0,0 +1,32 @@
1
+ {
2
+ "skill": {
3
+ "name": "skill-name",
4
+ "version": "1.0.0",
5
+ "enabled": true,
6
+ "settings": {
7
+ "verbose": false,
8
+ "autoActivate": true,
9
+ "toolRestrictions": true
10
+ }
11
+ },
12
+ "triggers": {
13
+ "keywords": [
14
+ "example-trigger-1",
15
+ "example-trigger-2"
16
+ ],
17
+ "patterns": []
18
+ },
19
+ "tools": {
20
+ "allowed": [
21
+ "Read",
22
+ "Grep",
23
+ "Bash"
24
+ ],
25
+ "restricted": []
26
+ },
27
+ "metadata": {
28
+ "author": "Plugin Author",
29
+ "category": "general",
30
+ "tags": []
31
+ }
32
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Claude Skill Configuration",
4
+ "type": "object",
5
+ "required": ["name", "description"],
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "pattern": "^[a-z0-9-]+$",
10
+ "maxLength": 64,
11
+ "description": "Skill identifier (lowercase, hyphens only)"
12
+ },
13
+ "description": {
14
+ "type": "string",
15
+ "maxLength": 1024,
16
+ "description": "What the skill does and when to use it"
17
+ },
18
+ "allowed-tools": {
19
+ "type": "string",
20
+ "description": "Comma-separated list of allowed tools"
21
+ },
22
+ "version": {
23
+ "type": "string",
24
+ "pattern": "^\\d+\\.\\d+\\.\\d+$",
25
+ "description": "Semantic version (x.y.z)"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "testCases": [
3
+ {
4
+ "name": "Basic activation test",
5
+ "input": "trigger phrase example",
6
+ "expected": {
7
+ "activated": true,
8
+ "toolsUsed": ["Read", "Grep"],
9
+ "success": true
10
+ }
11
+ },
12
+ {
13
+ "name": "Complex workflow test",
14
+ "input": "multi-step trigger example",
15
+ "expected": {
16
+ "activated": true,
17
+ "steps": 3,
18
+ "toolsUsed": ["Read", "Write", "Bash"],
19
+ "success": true
20
+ }
21
+ }
22
+ ],
23
+ "fixtures": {
24
+ "sampleInput": "example data",
25
+ "expectedOutput": "processed result"
26
+ }
27
+ }
@@ -0,0 +1,4 @@
1
+ # References
2
+
3
+ Bundled resources for n8n-workflow-designer skill
4
+