@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.
- package/.claude-plugin/plugin.json +19 -0
- package/LICENSE +21 -0
- package/README.md +754 -0
- package/agents/n8n-expert.md +349 -0
- package/commands/n8n-builder.md +518 -0
- package/package.json +41 -0
- package/skills/skill-adapter/assets/README.md +7 -0
- package/skills/skill-adapter/assets/config-template.json +32 -0
- package/skills/skill-adapter/assets/skill-schema.json +28 -0
- package/skills/skill-adapter/assets/test-data.json +27 -0
- package/skills/skill-adapter/references/README.md +4 -0
- package/skills/skill-adapter/references/best-practices.md +69 -0
- package/skills/skill-adapter/references/examples.md +73 -0
- package/skills/skill-adapter/scripts/README.md +7 -0
- package/skills/skill-adapter/scripts/helper-template.sh +42 -0
- package/skills/skill-adapter/scripts/validation.sh +32 -0
|
@@ -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
|
+
}
|