@n8n-as-code/skills 2.0.2-next.7 β 2.1.0-next.45
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/README.md +2 -2
- package/dist/agent-skills/n8n-architect/SKILL.md +159 -27
- package/dist/assets/n8n-credentials-ontology.json +1 -1
- package/dist/assets/n8n-docs-complete.json +47 -47
- package/dist/assets/n8n-knowledge-index.json +13 -13
- package/dist/assets/n8n-nodes-index.json +13 -13
- package/dist/assets/n8n-nodes-technical.json +13 -13
- package/dist/assets/workflows-index.json +492 -3
- package/dist/services/ai-context-generator.d.ts +4 -1
- package/dist/services/ai-context-generator.d.ts.map +1 -1
- package/dist/services/ai-context-generator.js +36 -13
- package/dist/services/ai-context-generator.js.map +1 -1
- package/package.json +2 -2
- package/dist/agent-skills/n8n-manager/SKILL.md +0 -116
|
@@ -1,11 +1,420 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-05-
|
|
2
|
+
"generatedAt": "2026-05-11T08:15:11.106Z",
|
|
3
3
|
"repository": "https://github.com/nusquama/n8nworkflows.xyz.git",
|
|
4
4
|
"sourceRef": "main",
|
|
5
|
-
"sourceCommit": "
|
|
5
|
+
"sourceCommit": "cd1059aa41da72d7b6050011d27175c2fdfadbbb",
|
|
6
6
|
"refreshStrategy": "fresh-clone-per-build",
|
|
7
|
-
"totalWorkflows":
|
|
7
|
+
"totalWorkflows": 8784,
|
|
8
8
|
"workflows": [
|
|
9
|
+
{
|
|
10
|
+
"id": 15525,
|
|
11
|
+
"slug": "Generate & Upload llms.txt for websites GEO optimization πΈοΈπ with ScrapegraphAI-15525",
|
|
12
|
+
"name": "Generate & Upload Llms.Txt For Websites GEO Optimization πΈοΈπ With ScrapegraphAI",
|
|
13
|
+
"tags": [
|
|
14
|
+
"Document Extraction",
|
|
15
|
+
"AI Summarization"
|
|
16
|
+
],
|
|
17
|
+
"author": "n3witalia",
|
|
18
|
+
"createdAt": null,
|
|
19
|
+
"description": null,
|
|
20
|
+
"hasWorkflow": true,
|
|
21
|
+
"workflowFile": "generate_upload_llms.txt_for_websites_geo_optimization_with_scrapegraphai.json",
|
|
22
|
+
"workflowPath": "workflows/Generate & Upload llms.txt for websites GEO optimization πΈοΈπ with ScrapegraphAI-15525/generate_upload_llms.txt_for_websites_geo_optimization_with_scrapegraphai.json",
|
|
23
|
+
"url": "https://n8nworkflows.xyz/workflows/generate---upload-llms-txt-for-websites-geo-optimization-------with-scrapegraphai-15525\n",
|
|
24
|
+
"nodeTypes": [
|
|
25
|
+
"n8n-nodes-base.if",
|
|
26
|
+
"n8n-nodes-base.ftp",
|
|
27
|
+
"n8n-nodes-base.set",
|
|
28
|
+
"n8n-nodes-base.code",
|
|
29
|
+
"n8n-nodes-base.wait",
|
|
30
|
+
"n8n-nodes-base.stickyNote",
|
|
31
|
+
"n8n-nodes-base.manualTrigger",
|
|
32
|
+
"@n8n/n8n-nodes-langchain.agent",
|
|
33
|
+
"@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
|
34
|
+
"n8n-nodes-scrapegraphai.scrapegraphAi",
|
|
35
|
+
"n8n-nodes-scrapegraphai.scrapegraphAiTool"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": 15514,
|
|
40
|
+
"slug": "Generate multi-agent research reports with Tavily, Groq, Notion and Supabase-15514",
|
|
41
|
+
"name": "Generate Multi Agent Research Reports With Tavily, Groq, Notion And Supabase",
|
|
42
|
+
"tags": [
|
|
43
|
+
"Market Research",
|
|
44
|
+
"AI RAG"
|
|
45
|
+
],
|
|
46
|
+
"author": "redowanfarhan",
|
|
47
|
+
"createdAt": null,
|
|
48
|
+
"description": null,
|
|
49
|
+
"hasWorkflow": true,
|
|
50
|
+
"workflowFile": "generate_multi-agent_research_reports_with_tavily_groq_notion_and_supabase.json",
|
|
51
|
+
"workflowPath": "workflows/Generate multi-agent research reports with Tavily, Groq, Notion and Supabase-15514/generate_multi-agent_research_reports_with_tavily_groq_notion_and_supabase.json",
|
|
52
|
+
"url": "https://n8nworkflows.xyz/workflows/generate-multi-agent-research-reports-with-tavily--groq--notion-and-supabase-15514\n",
|
|
53
|
+
"nodeTypes": [
|
|
54
|
+
"n8n-nodes-base.set",
|
|
55
|
+
"n8n-nodes-base.code",
|
|
56
|
+
"n8n-nodes-base.merge",
|
|
57
|
+
"n8n-nodes-base.notion",
|
|
58
|
+
"n8n-nodes-base.stickyNote",
|
|
59
|
+
"n8n-nodes-base.httpRequest",
|
|
60
|
+
"n8n-nodes-base.manualTrigger",
|
|
61
|
+
"@n8n/n8n-nodes-langchain.agent",
|
|
62
|
+
"@n8n/n8n-nodes-langchain.lmChatGroq",
|
|
63
|
+
"@n8n/n8n-nodes-langchain.embeddingsOpenAi",
|
|
64
|
+
"@n8n/n8n-nodes-langchain.lmChatOpenRouter",
|
|
65
|
+
"@n8n/n8n-nodes-langchain.vectorStoreSupabase",
|
|
66
|
+
"@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
|
|
67
|
+
"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": 15511,
|
|
72
|
+
"slug": "Turn webinar recordings into Salesforce follow-up emails with WayinVideo and GPT-4o-mini-15511",
|
|
73
|
+
"name": "Turn Webinar Recordings Into Salesforce Follow Up Emails With WayinVideo And GPT 4o Mini",
|
|
74
|
+
"tags": [
|
|
75
|
+
"Lead Nurturing",
|
|
76
|
+
"Multimodal AI"
|
|
77
|
+
],
|
|
78
|
+
"author": "isawow",
|
|
79
|
+
"createdAt": null,
|
|
80
|
+
"description": null,
|
|
81
|
+
"hasWorkflow": true,
|
|
82
|
+
"workflowFile": "turn_webinar_recordings_into_salesforce_follow-up_emails_with_wayinvideo_and_gpt-4o-mini.json",
|
|
83
|
+
"workflowPath": "workflows/Turn webinar recordings into Salesforce follow-up emails with WayinVideo and GPT-4o-mini-15511/turn_webinar_recordings_into_salesforce_follow-up_emails_with_wayinvideo_and_gpt-4o-mini.json",
|
|
84
|
+
"url": "https://n8nworkflows.xyz/workflows/turn-webinar-recordings-into-salesforce-follow-up-emails-with-wayinvideo-and-gpt-4o-mini-15511\n",
|
|
85
|
+
"nodeTypes": [
|
|
86
|
+
"n8n-nodes-base.if",
|
|
87
|
+
"n8n-nodes-base.code",
|
|
88
|
+
"n8n-nodes-base.wait",
|
|
89
|
+
"n8n-nodes-base.gmail",
|
|
90
|
+
"n8n-nodes-base.salesforce",
|
|
91
|
+
"n8n-nodes-base.stickyNote",
|
|
92
|
+
"n8n-nodes-base.formTrigger",
|
|
93
|
+
"n8n-nodes-base.httpRequest",
|
|
94
|
+
"n8n-nodes-base.googleSheets",
|
|
95
|
+
"@n8n/n8n-nodes-langchain.agent",
|
|
96
|
+
"@n8n/n8n-nodes-langchain.lmChatOpenAi"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": 15509,
|
|
101
|
+
"slug": "Create a daily Jira to-do email with Gmail and OpenRouter GPT-15509",
|
|
102
|
+
"name": "Create A Daily Jira To Do Email With Gmail And OpenRouter GPT",
|
|
103
|
+
"tags": [
|
|
104
|
+
"Personal Productivity",
|
|
105
|
+
"AI Summarization"
|
|
106
|
+
],
|
|
107
|
+
"author": "dhv9545",
|
|
108
|
+
"createdAt": null,
|
|
109
|
+
"description": null,
|
|
110
|
+
"hasWorkflow": true,
|
|
111
|
+
"workflowFile": "create_a_daily_jira_to-do_email_with_gmail_and_openrouter_gpt.json",
|
|
112
|
+
"workflowPath": "workflows/Create a daily Jira to-do email with Gmail and OpenRouter GPT-15509/create_a_daily_jira_to-do_email_with_gmail_and_openrouter_gpt.json",
|
|
113
|
+
"url": "https://n8nworkflows.xyz/workflows/create-a-daily-jira-to-do-email-with-gmail-and-openrouter-gpt-15509\n",
|
|
114
|
+
"nodeTypes": [
|
|
115
|
+
"n8n-nodes-base.set",
|
|
116
|
+
"n8n-nodes-base.gmail",
|
|
117
|
+
"n8n-nodes-base.stickyNote",
|
|
118
|
+
"n8n-nodes-base.httpRequest",
|
|
119
|
+
"@n8n/n8n-nodes-langchain.agent",
|
|
120
|
+
"n8n-nodes-base.scheduleTrigger",
|
|
121
|
+
"@n8n/n8n-nodes-langchain.lmChatOpenRouter"
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"id": 15500,
|
|
126
|
+
"slug": "Route multilingual support requests with DeepL, GPT-3.5 and Gmail-15500",
|
|
127
|
+
"name": "Route Multilingual Support Requests With DeepL, GPT 3.5 And Gmail",
|
|
128
|
+
"tags": [
|
|
129
|
+
"Support Chatbot",
|
|
130
|
+
"AI Chatbot"
|
|
131
|
+
],
|
|
132
|
+
"author": "mychel-garzon",
|
|
133
|
+
"createdAt": null,
|
|
134
|
+
"description": null,
|
|
135
|
+
"hasWorkflow": true,
|
|
136
|
+
"workflowFile": "route_multilingual_support_requests_with_deepl_gpt-3.5_and_gmail.json",
|
|
137
|
+
"workflowPath": "workflows/Route multilingual support requests with DeepL, GPT-3.5 and Gmail-15500/route_multilingual_support_requests_with_deepl_gpt-3.5_and_gmail.json",
|
|
138
|
+
"url": "https://n8nworkflows.xyz/workflows/route-multilingual-support-requests-with-deepl--gpt-3-5-and-gmail-15500\n",
|
|
139
|
+
"nodeTypes": [
|
|
140
|
+
"n8n-nodes-base.set",
|
|
141
|
+
"n8n-nodes-base.code",
|
|
142
|
+
"n8n-nodes-base.deepL",
|
|
143
|
+
"n8n-nodes-base.gmail",
|
|
144
|
+
"n8n-nodes-base.filter",
|
|
145
|
+
"n8n-nodes-base.stickyNote",
|
|
146
|
+
"n8n-nodes-base.formTrigger",
|
|
147
|
+
"@n8n/n8n-nodes-langchain.openAi",
|
|
148
|
+
"n8n-nodes-base.respondToWebhook"
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": 15499,
|
|
153
|
+
"slug": "Turn meeting transcripts or audio into Google Docs action summaries with Groq Whisper, OpenRouter, and Google Docs-15499",
|
|
154
|
+
"name": "Turn Meeting Transcripts Or Audio Into Google Docs Action Summaries With Groq Whisper, OpenRouter, And Google Docs",
|
|
155
|
+
"tags": [
|
|
156
|
+
"Document Extraction",
|
|
157
|
+
"AI Summarization"
|
|
158
|
+
],
|
|
159
|
+
"author": "spctek-ai",
|
|
160
|
+
"createdAt": null,
|
|
161
|
+
"description": null,
|
|
162
|
+
"hasWorkflow": true,
|
|
163
|
+
"workflowFile": "turn_meeting_transcripts_or_audio_into_google_docs_action_summaries_with_groq_whisper_openrouter_and_google_docs.json",
|
|
164
|
+
"workflowPath": "workflows/Turn meeting transcripts or audio into Google Docs action summaries with Groq Whisper, OpenRouter, and Google Docs-15499/turn_meeting_transcripts_or_audio_into_google_docs_action_summaries_with_groq_whisper_openrouter_and_google_docs.json",
|
|
165
|
+
"url": "https://n8nworkflows.xyz/workflows/turn-meeting-transcripts-or-audio-into-google-docs-action-summaries-with-groq-whisper--openrouter--and-google-docs-15499\n",
|
|
166
|
+
"nodeTypes": [
|
|
167
|
+
"n8n-nodes-base.if",
|
|
168
|
+
"n8n-nodes-base.code",
|
|
169
|
+
"n8n-nodes-base.webhook",
|
|
170
|
+
"n8n-nodes-base.googleDocs",
|
|
171
|
+
"n8n-nodes-base.stickyNote",
|
|
172
|
+
"n8n-nodes-base.httpRequest",
|
|
173
|
+
"n8n-nodes-base.respondToWebhook"
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": 15498,
|
|
178
|
+
"slug": "Send multi-stage SaaS renewal alerts from Google Sheets to Slack-15498",
|
|
179
|
+
"name": "Send Multi Stage SaaS Renewal Alerts From Google Sheets To Slack",
|
|
180
|
+
"tags": [
|
|
181
|
+
"Document Extraction"
|
|
182
|
+
],
|
|
183
|
+
"author": "mychel-garzon",
|
|
184
|
+
"createdAt": null,
|
|
185
|
+
"description": null,
|
|
186
|
+
"hasWorkflow": true,
|
|
187
|
+
"workflowFile": "send_multi-stage_saas_renewal_alerts_from_google_sheets_to_slack.json",
|
|
188
|
+
"workflowPath": "workflows/Send multi-stage SaaS renewal alerts from Google Sheets to Slack-15498/send_multi-stage_saas_renewal_alerts_from_google_sheets_to_slack.json",
|
|
189
|
+
"url": "https://n8nworkflows.xyz/workflows/send-multi-stage-saas-renewal-alerts-from-google-sheets-to-slack-15498\n",
|
|
190
|
+
"nodeTypes": [
|
|
191
|
+
"n8n-nodes-base.if",
|
|
192
|
+
"n8n-nodes-base.code",
|
|
193
|
+
"n8n-nodes-base.slack",
|
|
194
|
+
"n8n-nodes-base.stickyNote",
|
|
195
|
+
"n8n-nodes-base.errorTrigger",
|
|
196
|
+
"n8n-nodes-base.googleSheets",
|
|
197
|
+
"n8n-nodes-base.scheduleTrigger"
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"id": 15496,
|
|
202
|
+
"slug": "Monitor SaaS contract renewals from Google Sheets and send Slack alerts-15496",
|
|
203
|
+
"name": "Monitor SaaS Contract Renewals From Google Sheets And Send Slack Alerts",
|
|
204
|
+
"tags": [
|
|
205
|
+
"Document Extraction"
|
|
206
|
+
],
|
|
207
|
+
"author": "mychel-garzon",
|
|
208
|
+
"createdAt": null,
|
|
209
|
+
"description": null,
|
|
210
|
+
"hasWorkflow": true,
|
|
211
|
+
"workflowFile": "monitor_saas_contract_renewals_from_google_sheets_and_send_slack_alerts.json",
|
|
212
|
+
"workflowPath": "workflows/Monitor SaaS contract renewals from Google Sheets and send Slack alerts-15496/monitor_saas_contract_renewals_from_google_sheets_and_send_slack_alerts.json",
|
|
213
|
+
"url": "https://n8nworkflows.xyz/workflows/monitor-saas-contract-renewals-from-google-sheets-and-send-slack-alerts-15496\n",
|
|
214
|
+
"nodeTypes": [
|
|
215
|
+
"n8n-nodes-base.if",
|
|
216
|
+
"n8n-nodes-base.code",
|
|
217
|
+
"n8n-nodes-base.slack",
|
|
218
|
+
"n8n-nodes-base.stickyNote",
|
|
219
|
+
"n8n-nodes-base.errorTrigger",
|
|
220
|
+
"n8n-nodes-base.googleSheets",
|
|
221
|
+
"n8n-nodes-base.scheduleTrigger"
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"id": 15484,
|
|
226
|
+
"slug": "Diagnose workflow errors with Claude AI, store in Supabase and email fixes-15484",
|
|
227
|
+
"name": "Diagnose Workflow Errors With Claude AI, Store In Supabase And Email Fixes",
|
|
228
|
+
"tags": [
|
|
229
|
+
"DevOps",
|
|
230
|
+
"AI Summarization"
|
|
231
|
+
],
|
|
232
|
+
"author": "jori",
|
|
233
|
+
"createdAt": null,
|
|
234
|
+
"description": null,
|
|
235
|
+
"hasWorkflow": true,
|
|
236
|
+
"workflowFile": "diagnose_workflow_errors_with_claude_ai_store_in_supabase_and_email_fixes.json",
|
|
237
|
+
"workflowPath": "workflows/Diagnose workflow errors with Claude AI, store in Supabase and email fixes-15484/diagnose_workflow_errors_with_claude_ai_store_in_supabase_and_email_fixes.json",
|
|
238
|
+
"url": "https://n8nworkflows.xyz/workflows/diagnose-workflow-errors-with-claude-ai--store-in-supabase-and-email-fixes-15484\n",
|
|
239
|
+
"nodeTypes": [
|
|
240
|
+
"n8n-nodes-base.if",
|
|
241
|
+
"n8n-nodes-base.set",
|
|
242
|
+
"n8n-nodes-base.code",
|
|
243
|
+
"n8n-nodes-base.supabase",
|
|
244
|
+
"n8n-nodes-resend.resend",
|
|
245
|
+
"n8n-nodes-base.stickyNote",
|
|
246
|
+
"n8n-nodes-base.httpRequest",
|
|
247
|
+
"n8n-nodes-base.errorTrigger",
|
|
248
|
+
"@n8n/n8n-nodes-langchain.agent",
|
|
249
|
+
"@n8n/n8n-nodes-langchain.lmChatAnthropic",
|
|
250
|
+
"@n8n/n8n-nodes-langchain.outputParserStructured"
|
|
251
|
+
]
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"id": 15480,
|
|
255
|
+
"slug": "Score and log relevant job listings using Google Gemini, JSearch and Notion-15480",
|
|
256
|
+
"name": "Score And Log Relevant Job Listings Using Google Gemini, JSearch And Notion",
|
|
257
|
+
"tags": [
|
|
258
|
+
"Personal Productivity",
|
|
259
|
+
"AI Summarization"
|
|
260
|
+
],
|
|
261
|
+
"author": "navneet-singh-arora",
|
|
262
|
+
"createdAt": null,
|
|
263
|
+
"description": null,
|
|
264
|
+
"hasWorkflow": true,
|
|
265
|
+
"workflowFile": "score_and_log_relevant_job_listings_using_google_gemini_jsearch_and_notion.json",
|
|
266
|
+
"workflowPath": "workflows/Score and log relevant job listings using Google Gemini, JSearch and Notion-15480/score_and_log_relevant_job_listings_using_google_gemini_jsearch_and_notion.json",
|
|
267
|
+
"url": "https://n8nworkflows.xyz/workflows/score-and-log-relevant-job-listings-using-google-gemini--jsearch-and-notion-15480\n",
|
|
268
|
+
"nodeTypes": [
|
|
269
|
+
"n8n-nodes-base.code",
|
|
270
|
+
"n8n-nodes-base.wait",
|
|
271
|
+
"n8n-nodes-base.filter",
|
|
272
|
+
"n8n-nodes-base.notion",
|
|
273
|
+
"n8n-nodes-base.splitOut",
|
|
274
|
+
"n8n-nodes-base.stickyNote",
|
|
275
|
+
"n8n-nodes-base.httpRequest",
|
|
276
|
+
"n8n-nodes-base.manualTrigger",
|
|
277
|
+
"n8n-nodes-base.readWriteFile",
|
|
278
|
+
"n8n-nodes-base.splitInBatches",
|
|
279
|
+
"n8n-nodes-base.extractFromFile",
|
|
280
|
+
"@n8n/n8n-nodes-langchain.googleGemini"
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"id": 15476,
|
|
285
|
+
"slug": "Search and score relevant jobs using Google Gemini, JSearch, and Notion-15476",
|
|
286
|
+
"name": "Search And Score Relevant Jobs Using Google Gemini, JSearch, And Notion",
|
|
287
|
+
"tags": [
|
|
288
|
+
"Personal Productivity",
|
|
289
|
+
"AI Summarization"
|
|
290
|
+
],
|
|
291
|
+
"author": "navneet-singh-arora",
|
|
292
|
+
"createdAt": null,
|
|
293
|
+
"description": null,
|
|
294
|
+
"hasWorkflow": true,
|
|
295
|
+
"workflowFile": "search_and_score_relevant_jobs_using_google_gemini_jsearch_and_notion.json",
|
|
296
|
+
"workflowPath": "workflows/Search and score relevant jobs using Google Gemini, JSearch, and Notion-15476/search_and_score_relevant_jobs_using_google_gemini_jsearch_and_notion.json",
|
|
297
|
+
"url": "https://n8nworkflows.xyz/workflows/search-and-score-relevant-jobs-using-google-gemini--jsearch--and-notion-15476\n",
|
|
298
|
+
"nodeTypes": [
|
|
299
|
+
"n8n-nodes-base.code",
|
|
300
|
+
"n8n-nodes-base.wait",
|
|
301
|
+
"n8n-nodes-base.filter",
|
|
302
|
+
"n8n-nodes-base.notion",
|
|
303
|
+
"n8n-nodes-base.splitOut",
|
|
304
|
+
"n8n-nodes-base.stickyNote",
|
|
305
|
+
"n8n-nodes-base.httpRequest",
|
|
306
|
+
"n8n-nodes-base.manualTrigger",
|
|
307
|
+
"n8n-nodes-base.readWriteFile",
|
|
308
|
+
"n8n-nodes-base.splitInBatches",
|
|
309
|
+
"n8n-nodes-base.extractFromFile",
|
|
310
|
+
"@n8n/n8n-nodes-langchain.googleGemini"
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"id": 15475,
|
|
315
|
+
"slug": "Generate competitive product roadmap reports with Gemini 2.5 Flash, Olostep and Google Drive-15475",
|
|
316
|
+
"name": "Generate Competitive Product Roadmap Reports With Gemini 2.5 Flash, Olostep And Google Drive",
|
|
317
|
+
"tags": [
|
|
318
|
+
"Market Research",
|
|
319
|
+
"AI Summarization"
|
|
320
|
+
],
|
|
321
|
+
"author": "yassersami",
|
|
322
|
+
"createdAt": null,
|
|
323
|
+
"description": null,
|
|
324
|
+
"hasWorkflow": true,
|
|
325
|
+
"workflowFile": "generate_competitive_product_roadmap_reports_with_gemini_2.5_flash_olostep_and_google_drive.json",
|
|
326
|
+
"workflowPath": "workflows/Generate competitive product roadmap reports with Gemini 2.5 Flash, Olostep and Google Drive-15475/generate_competitive_product_roadmap_reports_with_gemini_2.5_flash_olostep_and_google_drive.json",
|
|
327
|
+
"url": "https://n8nworkflows.xyz/workflows/generate-competitive-product-roadmap-reports-with-gemini-2-5-flash--olostep-and-google-drive-15475\n",
|
|
328
|
+
"nodeTypes": [
|
|
329
|
+
"n8n-nodes-base.code",
|
|
330
|
+
"n8n-nodes-base.markdown",
|
|
331
|
+
"n8n-nodes-base.stickyNote",
|
|
332
|
+
"n8n-nodes-base.formTrigger",
|
|
333
|
+
"n8n-nodes-base.googleDrive",
|
|
334
|
+
"n8n-nodes-base.httpRequest",
|
|
335
|
+
"n8n-nodes-olostep.olostepScrape",
|
|
336
|
+
"@n8n/n8n-nodes-langchain.googleGemini"
|
|
337
|
+
]
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"id": 15470,
|
|
341
|
+
"slug": "Sell products in Telegram with Flutterwave and Google Sheets-15470",
|
|
342
|
+
"name": "Sell Products In Telegram With Flutterwave And Google Sheets",
|
|
343
|
+
"tags": [
|
|
344
|
+
"CRM",
|
|
345
|
+
"AI Chatbot"
|
|
346
|
+
],
|
|
347
|
+
"author": "sampidia",
|
|
348
|
+
"createdAt": null,
|
|
349
|
+
"description": null,
|
|
350
|
+
"hasWorkflow": true,
|
|
351
|
+
"workflowFile": "sell_products_in_telegram_with_flutterwave_and_google_sheets.json",
|
|
352
|
+
"workflowPath": "workflows/Sell products in Telegram with Flutterwave and Google Sheets-15470/sell_products_in_telegram_with_flutterwave_and_google_sheets.json",
|
|
353
|
+
"url": "https://n8nworkflows.xyz/workflows/sell-products-in-telegram-with-flutterwave-and-google-sheets-15470\n",
|
|
354
|
+
"nodeTypes": [
|
|
355
|
+
"n8n-nodes-base.if",
|
|
356
|
+
"n8n-nodes-base.code",
|
|
357
|
+
"n8n-nodes-base.merge",
|
|
358
|
+
"n8n-nodes-base.switch",
|
|
359
|
+
"n8n-nodes-base.webhook",
|
|
360
|
+
"n8n-nodes-base.telegram",
|
|
361
|
+
"n8n-nodes-base.stickyNote",
|
|
362
|
+
"n8n-nodes-base.httpRequest",
|
|
363
|
+
"n8n-nodes-base.googleSheets",
|
|
364
|
+
"n8n-nodes-base.telegramTrigger"
|
|
365
|
+
]
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"id": 15469,
|
|
369
|
+
"slug": "Get daily meeting SMS reminders from Google Calendar with GPT-4o-mini and Alive5-15469",
|
|
370
|
+
"name": "Get Daily Meeting SMS Reminders From Google Calendar With GPT 4o Mini And Alive5",
|
|
371
|
+
"tags": [
|
|
372
|
+
"Personal Productivity",
|
|
373
|
+
"Multimodal AI"
|
|
374
|
+
],
|
|
375
|
+
"author": "incrementors",
|
|
376
|
+
"createdAt": null,
|
|
377
|
+
"description": null,
|
|
378
|
+
"hasWorkflow": true,
|
|
379
|
+
"workflowFile": "get_daily_meeting_sms_reminders_from_google_calendar_with_gpt-4o-mini_and_alive5.json",
|
|
380
|
+
"workflowPath": "workflows/Get daily meeting SMS reminders from Google Calendar with GPT-4o-mini and Alive5-15469/get_daily_meeting_sms_reminders_from_google_calendar_with_gpt-4o-mini_and_alive5.json",
|
|
381
|
+
"url": "https://n8nworkflows.xyz/workflows/get-daily-meeting-sms-reminders-from-google-calendar-with-gpt-4o-mini-and-alive5-15469\n",
|
|
382
|
+
"nodeTypes": [
|
|
383
|
+
"n8n-nodes-base.set",
|
|
384
|
+
"n8n-nodes-alive5.alive5",
|
|
385
|
+
"n8n-nodes-base.stickyNote",
|
|
386
|
+
"n8n-nodes-base.googleCalendar",
|
|
387
|
+
"n8n-nodes-base.splitInBatches",
|
|
388
|
+
"n8n-nodes-base.scheduleTrigger",
|
|
389
|
+
"@n8n/n8n-nodes-langchain.openAi"
|
|
390
|
+
]
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"id": 15460,
|
|
394
|
+
"slug": "Turn ecommerce product URLs into leads with Google Sheets and MrScraper-15460",
|
|
395
|
+
"name": "Turn Ecommerce Product URLs Into Leads With Google Sheets And MrScraper",
|
|
396
|
+
"tags": [
|
|
397
|
+
"Lead Generation"
|
|
398
|
+
],
|
|
399
|
+
"author": "riandradiva",
|
|
400
|
+
"createdAt": null,
|
|
401
|
+
"description": null,
|
|
402
|
+
"hasWorkflow": true,
|
|
403
|
+
"workflowFile": "turn_ecommerce_product_urls_into_leads_with_google_sheets_and_mrscraper.json",
|
|
404
|
+
"workflowPath": "workflows/Turn ecommerce product URLs into leads with Google Sheets and MrScraper-15460/turn_ecommerce_product_urls_into_leads_with_google_sheets_and_mrscraper.json",
|
|
405
|
+
"url": "https://n8nworkflows.xyz/workflows/turn-ecommerce-product-urls-into-leads-with-google-sheets-and-mrscraper-15460\n",
|
|
406
|
+
"nodeTypes": [
|
|
407
|
+
"n8n-nodes-base.if",
|
|
408
|
+
"n8n-nodes-base.code",
|
|
409
|
+
"n8n-nodes-base.merge",
|
|
410
|
+
"n8n-nodes-base.stickyNote",
|
|
411
|
+
"n8n-nodes-base.httpRequest",
|
|
412
|
+
"n8n-nodes-base.googleSheets",
|
|
413
|
+
"n8n-nodes-base.manualTrigger",
|
|
414
|
+
"n8n-nodes-base.splitInBatches",
|
|
415
|
+
"n8n-nodes-mrscraper.mrscraper"
|
|
416
|
+
]
|
|
417
|
+
},
|
|
9
418
|
{
|
|
10
419
|
"id": 15448,
|
|
11
420
|
"slug": "Score and route pre-trip vehicle inspections with local AI and alerts-15448",
|
|
@@ -884,6 +1293,33 @@
|
|
|
884
1293
|
"n8n-nodes-base.jiraTrigger"
|
|
885
1294
|
]
|
|
886
1295
|
},
|
|
1296
|
+
{
|
|
1297
|
+
"id": 15383,
|
|
1298
|
+
"slug": "Build and enrich B2B company lead lists with CompanyEnrich and Data Tables-15383",
|
|
1299
|
+
"name": "Build And Enrich B2B Company Lead Lists With CompanyEnrich And Data Tables",
|
|
1300
|
+
"tags": [
|
|
1301
|
+
"Lead Generation"
|
|
1302
|
+
],
|
|
1303
|
+
"author": "safa-khan",
|
|
1304
|
+
"createdAt": null,
|
|
1305
|
+
"description": null,
|
|
1306
|
+
"hasWorkflow": true,
|
|
1307
|
+
"workflowFile": "build_and_enrich_b2b_company_lead_lists_with_companyenrich_and_data_tables.json",
|
|
1308
|
+
"workflowPath": "workflows/Build and enrich B2B company lead lists with CompanyEnrich and Data Tables-15383/build_and_enrich_b2b_company_lead_lists_with_companyenrich_and_data_tables.json",
|
|
1309
|
+
"url": "https://n8nworkflows.xyz/workflows/build-and-enrich-b2b-company-lead-lists-with-companyenrich-and-data-tables-15383\n",
|
|
1310
|
+
"nodeTypes": [
|
|
1311
|
+
"n8n-nodes-base.if",
|
|
1312
|
+
"n8n-nodes-base.noOp",
|
|
1313
|
+
"n8n-nodes-base.wait",
|
|
1314
|
+
"n8n-nodes-base.filter",
|
|
1315
|
+
"n8n-nodes-base.splitOut",
|
|
1316
|
+
"n8n-nodes-base.dataTable",
|
|
1317
|
+
"n8n-nodes-base.stickyNote",
|
|
1318
|
+
"n8n-nodes-base.formTrigger",
|
|
1319
|
+
"n8n-nodes-base.httpRequest",
|
|
1320
|
+
"n8n-nodes-base.splitInBatches"
|
|
1321
|
+
]
|
|
1322
|
+
},
|
|
887
1323
|
{
|
|
888
1324
|
"id": 15378,
|
|
889
1325
|
"slug": "Scrape LinkedIn hiring posts with Apify and save qualified leads to Google Sheets-15378",
|
|
@@ -1253,6 +1689,33 @@
|
|
|
1253
1689
|
"@n8n/n8n-nodes-langchain.lmChatOpenAi"
|
|
1254
1690
|
]
|
|
1255
1691
|
},
|
|
1692
|
+
{
|
|
1693
|
+
"id": 15359,
|
|
1694
|
+
"slug": "Monitor Klaviyo list decay with Postgres and Gmail reports-15359",
|
|
1695
|
+
"name": "Monitor Klaviyo List Decay With Postgres And Gmail Reports",
|
|
1696
|
+
"tags": [
|
|
1697
|
+
"Market Research",
|
|
1698
|
+
"AI Summarization"
|
|
1699
|
+
],
|
|
1700
|
+
"author": "tundek",
|
|
1701
|
+
"createdAt": null,
|
|
1702
|
+
"description": null,
|
|
1703
|
+
"hasWorkflow": true,
|
|
1704
|
+
"workflowFile": "monitor_klaviyo_list_decay_with_postgres_and_gmail_reports.json",
|
|
1705
|
+
"workflowPath": "workflows/Monitor Klaviyo list decay with Postgres and Gmail reports-15359/monitor_klaviyo_list_decay_with_postgres_and_gmail_reports.json",
|
|
1706
|
+
"url": "https://n8nworkflows.xyz/workflows/monitor-klaviyo-list-decay-with-postgres-and-gmail-reports-15359\n",
|
|
1707
|
+
"nodeTypes": [
|
|
1708
|
+
"n8n-nodes-base.if",
|
|
1709
|
+
"n8n-nodes-base.set",
|
|
1710
|
+
"n8n-nodes-base.code",
|
|
1711
|
+
"n8n-nodes-base.gmail",
|
|
1712
|
+
"n8n-nodes-base.postgres",
|
|
1713
|
+
"n8n-nodes-base.stickyNote",
|
|
1714
|
+
"n8n-nodes-base.httpRequest",
|
|
1715
|
+
"n8n-nodes-base.errorTrigger",
|
|
1716
|
+
"n8n-nodes-base.scheduleTrigger"
|
|
1717
|
+
]
|
|
1718
|
+
},
|
|
1256
1719
|
{
|
|
1257
1720
|
"id": 15358,
|
|
1258
1721
|
"slug": "Create Notion knowledge pages from webinars with WayinVideo and GPT-4o-mini-15358",
|
|
@@ -1377,6 +1840,32 @@
|
|
|
1377
1840
|
"@n8n/n8n-nodes-langchain.documentDefaultDataLoader"
|
|
1378
1841
|
]
|
|
1379
1842
|
},
|
|
1843
|
+
{
|
|
1844
|
+
"id": 15354,
|
|
1845
|
+
"slug": "Automate GitLab tag releases to Jira and Slack for Dev and QA-15354",
|
|
1846
|
+
"name": "Automate GitLab Tag Releases To Jira And Slack For Dev And QA",
|
|
1847
|
+
"tags": [
|
|
1848
|
+
"DevOps"
|
|
1849
|
+
],
|
|
1850
|
+
"author": "weblineindia",
|
|
1851
|
+
"createdAt": null,
|
|
1852
|
+
"description": null,
|
|
1853
|
+
"hasWorkflow": true,
|
|
1854
|
+
"workflowFile": "automate_gitlab_tag_releases_to_jira_and_slack_for_dev_and_qa.json",
|
|
1855
|
+
"workflowPath": "workflows/Automate GitLab tag releases to Jira and Slack for Dev and QA-15354/automate_gitlab_tag_releases_to_jira_and_slack_for_dev_and_qa.json",
|
|
1856
|
+
"url": "https://n8nworkflows.xyz/workflows/automate-gitlab-tag-releases-to-jira-and-slack-for-dev-and-qa-15354\n",
|
|
1857
|
+
"nodeTypes": [
|
|
1858
|
+
"n8n-nodes-base.if",
|
|
1859
|
+
"n8n-nodes-base.set",
|
|
1860
|
+
"n8n-nodes-base.code",
|
|
1861
|
+
"n8n-nodes-base.jira",
|
|
1862
|
+
"n8n-nodes-base.slack",
|
|
1863
|
+
"n8n-nodes-base.webhook",
|
|
1864
|
+
"n8n-nodes-base.stickyNote",
|
|
1865
|
+
"n8n-nodes-base.httpRequest",
|
|
1866
|
+
"n8n-nodes-base.respondToWebhook"
|
|
1867
|
+
]
|
|
1868
|
+
},
|
|
1380
1869
|
{
|
|
1381
1870
|
"id": 15350,
|
|
1382
1871
|
"slug": "Generate two-host PDF podcasts with GPT-5, Smallest AI, and Gmail-15350",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare class AiContextGenerator {
|
|
2
2
|
constructor();
|
|
3
3
|
private getCommandRefs;
|
|
4
|
-
getAgentSkillContent(skillName: 'n8n-
|
|
4
|
+
getAgentSkillContent(skillName: 'n8n-architect', distTag?: string, options?: {
|
|
5
5
|
cliCommandOverride?: string;
|
|
6
6
|
managerCommandOverride?: string;
|
|
7
7
|
}, projectRoot?: string): string;
|
|
@@ -11,7 +11,10 @@ export declare class AiContextGenerator {
|
|
|
11
11
|
managerCommandOverride?: string;
|
|
12
12
|
cliVersion?: string;
|
|
13
13
|
}): Promise<void>;
|
|
14
|
+
private removeLegacySplitSkillArtifacts;
|
|
15
|
+
private materializeWorkspaceAgents;
|
|
14
16
|
private materializeAgentSkills;
|
|
17
|
+
private getWorkspaceAgentContent;
|
|
15
18
|
private injectOrUpdate;
|
|
16
19
|
private getAgentsContent;
|
|
17
20
|
getSkillContent(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-context-generator.d.ts","sourceRoot":"","sources":["../../src/services/ai-context-generator.ts"],"names":[],"mappings":"AAcA,qBAAa,kBAAkB;;IAG7B,OAAO,CAAC,cAAc;IAStB,oBAAoB,CAClB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"ai-context-generator.d.ts","sourceRoot":"","sources":["../../src/services/ai-context-generator.ts"],"names":[],"mappings":"AAcA,qBAAa,kBAAkB;;IAG7B,OAAO,CAAC,cAAc;IAStB,oBAAoB,CAClB,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAO,EAC9E,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM;IAaT,OAAO,CAAC,uBAAuB;IAiBzB,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAkB,EAC9B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAClG,OAAO,CAAC,IAAI,CAAC;IAYhB,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,gBAAgB;IAyExB,eAAe,IAAI,MAAM;IAIzB,uBAAuB,IAAI,MAAM;CAIlC"}
|
|
@@ -49,12 +49,26 @@ export class AiContextGenerator {
|
|
|
49
49
|
const agentsContent = this.getAgentsContent(n8nVersion, distTag, options, projectRoot);
|
|
50
50
|
// 1. AGENTS.md (lightweight context-root bootstrap)
|
|
51
51
|
this.injectOrUpdate(path.join(projectRoot, 'AGENTS.md'), agentsContent, true);
|
|
52
|
-
// 2.
|
|
52
|
+
// 2. VS Code/Copilot workspace agents plus portable skills for other agent runtimes.
|
|
53
|
+
this.removeLegacySplitSkillArtifacts(projectRoot);
|
|
54
|
+
this.materializeWorkspaceAgents(projectRoot, distTag, options);
|
|
53
55
|
this.materializeAgentSkills(projectRoot, distTag, options);
|
|
54
56
|
}
|
|
57
|
+
removeLegacySplitSkillArtifacts(projectRoot) {
|
|
58
|
+
fs.rmSync(path.join(projectRoot, '.github', 'agents', 'n8n-manager.agent.md'), { force: true });
|
|
59
|
+
fs.rmSync(path.join(projectRoot, '.agents', 'skills', 'n8n-manager'), { recursive: true, force: true });
|
|
60
|
+
}
|
|
61
|
+
materializeWorkspaceAgents(projectRoot, distTag, options = {}) {
|
|
62
|
+
const agentsRoot = path.join(projectRoot, '.github', 'agents');
|
|
63
|
+
const agentNames = ['n8n-architect'];
|
|
64
|
+
fs.mkdirSync(agentsRoot, { recursive: true });
|
|
65
|
+
for (const agentName of agentNames) {
|
|
66
|
+
fs.writeFileSync(path.join(agentsRoot, `${agentName}.agent.md`), this.getWorkspaceAgentContent(agentName, distTag, options, projectRoot));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
55
69
|
materializeAgentSkills(projectRoot, distTag, options = {}) {
|
|
56
70
|
const skillsRoot = path.join(projectRoot, '.agents', 'skills');
|
|
57
|
-
const skillNames = ['n8n-
|
|
71
|
+
const skillNames = ['n8n-architect'];
|
|
58
72
|
for (const skillName of skillNames) {
|
|
59
73
|
const content = this.getAgentSkillContent(skillName, distTag, options, projectRoot);
|
|
60
74
|
const skillDir = path.join(skillsRoot, skillName);
|
|
@@ -62,6 +76,10 @@ export class AiContextGenerator {
|
|
|
62
76
|
fs.writeFileSync(path.join(skillDir, 'SKILL.md'), content);
|
|
63
77
|
}
|
|
64
78
|
}
|
|
79
|
+
getWorkspaceAgentContent(agentName, distTag, options = {}, projectRoot) {
|
|
80
|
+
return this.getAgentSkillContent(agentName, distTag, options, projectRoot)
|
|
81
|
+
.replaceAll('Use this skill', 'Use this workspace agent');
|
|
82
|
+
}
|
|
65
83
|
injectOrUpdate(filePath, content, isMarkdownFile = false) {
|
|
66
84
|
const startMarker = isMarkdownFile ? '<!-- n8n-as-code-start -->' : '### π€ n8n-as-code-start';
|
|
67
85
|
const endMarker = isMarkdownFile ? '<!-- n8n-as-code-end -->' : '### π€ n8n-as-code-end';
|
|
@@ -107,14 +125,17 @@ export class AiContextGenerator {
|
|
|
107
125
|
``,
|
|
108
126
|
`---`,
|
|
109
127
|
``,
|
|
110
|
-
`## Required Local
|
|
128
|
+
`## Required Local Agent`,
|
|
129
|
+
``,
|
|
130
|
+
`A VS Code and GitHub Copilot-compatible agent is generated here:`,
|
|
131
|
+
``,
|
|
132
|
+
`- \`.github/agents/n8n-architect.agent.md\``,
|
|
111
133
|
``,
|
|
112
|
-
`
|
|
134
|
+
`A portable skill fallback is also generated for runtimes that do not read \`.github/agents\`:`,
|
|
113
135
|
``,
|
|
114
|
-
`- \`.agents/skills/n8n-manager/SKILL.md\``,
|
|
115
136
|
`- \`.agents/skills/n8n-architect/SKILL.md\``,
|
|
116
137
|
``,
|
|
117
|
-
`If your agent runtime supports
|
|
138
|
+
`If your agent runtime supports workspace agents, use the \`.github/agents/*.agent.md\` file. If it supports skills instead, load the skill file. Otherwise, treat these files as mandatory instructions.`,
|
|
118
139
|
``,
|
|
119
140
|
`---`,
|
|
120
141
|
``,
|
|
@@ -122,15 +143,16 @@ export class AiContextGenerator {
|
|
|
122
143
|
``,
|
|
123
144
|
`Do not infer configuration from this file. It intentionally avoids storing the effective instance, project, sync folder, or workflow directory.`,
|
|
124
145
|
``,
|
|
125
|
-
`
|
|
126
|
-
`-
|
|
127
|
-
`-
|
|
146
|
+
`n8nac backend resolution remains the only source of effective workspace state.`,
|
|
147
|
+
`- Workspace environments live in \`n8nac-config.json\` and are managed by \`${cliCmd} env ...\`.`,
|
|
148
|
+
`- Managed local runtime state and secrets live in n8n-manager storage and are managed by \`${managerCmd} ...\`.`,
|
|
128
149
|
`- The effective context is resolved by the backend.`,
|
|
129
150
|
``,
|
|
130
|
-
`Before any n8n workflow command, run:`,
|
|
151
|
+
`Before any n8n workflow command, run migration dry-run first, then workspace status only after migration is not required or has been applied:`,
|
|
131
152
|
``,
|
|
132
153
|
`\`\`\`bash`,
|
|
133
154
|
`cd ${contextRoot}`,
|
|
155
|
+
`${cliCmd} workspace migrate --json`,
|
|
134
156
|
`${cliCmd} workspace status --json`,
|
|
135
157
|
`\`\`\``,
|
|
136
158
|
``,
|
|
@@ -140,12 +162,13 @@ export class AiContextGenerator {
|
|
|
140
162
|
``,
|
|
141
163
|
`## Safe Commands`,
|
|
142
164
|
``,
|
|
143
|
-
`-
|
|
144
|
-
`-
|
|
165
|
+
`- Primary workspace, environment, sync, validation, push, and pull work: \`${cliCmd} ...\``,
|
|
166
|
+
`- Local managed runtime lifecycle and tunnels only: \`${managerCmd} ...\``,
|
|
167
|
+
`- Workspace status and migration: \`${cliCmd} workspace ...\``,
|
|
145
168
|
`- Workflow sync and validation: \`${cliCmd} ...\``,
|
|
146
169
|
`- Node knowledge and schema lookup: \`${skillsCmd} ...\``,
|
|
147
170
|
``,
|
|
148
|
-
`Never write \`n8nac-config.json
|
|
171
|
+
`Never write \`n8nac-config.json\`, \`~/.n8n-manager\`, or n8n-manager secret files by hand.`,
|
|
149
172
|
].join('\n');
|
|
150
173
|
}
|
|
151
174
|
getSkillContent() {
|