bps-kit 1.2.2 → 1.3.1

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.
Files changed (51) hide show
  1. package/.bps-kit.json +4 -4
  2. package/README.md +3 -0
  3. package/implementation_plan.md.resolved +37 -0
  4. package/package.json +2 -2
  5. package/templates/agents-template/ARCHITECTURE.md +21 -9
  6. package/templates/agents-template/agents/automation-specialist.md +157 -0
  7. package/templates/agents-template/rules/GEMINI.md +2 -10
  8. package/templates/agents-template/workflows/automate.md +153 -0
  9. package/templates/skills_normal/n8n-code-javascript/BUILTIN_FUNCTIONS.md +764 -0
  10. package/templates/skills_normal/n8n-code-javascript/COMMON_PATTERNS.md +1110 -0
  11. package/templates/skills_normal/n8n-code-javascript/DATA_ACCESS.md +782 -0
  12. package/templates/skills_normal/n8n-code-javascript/ERROR_PATTERNS.md +763 -0
  13. package/templates/skills_normal/n8n-code-javascript/README.md +350 -0
  14. package/templates/skills_normal/n8n-code-javascript/SKILL.md +699 -0
  15. package/templates/skills_normal/n8n-code-python/COMMON_PATTERNS.md +794 -0
  16. package/templates/skills_normal/n8n-code-python/DATA_ACCESS.md +702 -0
  17. package/templates/skills_normal/n8n-code-python/ERROR_PATTERNS.md +601 -0
  18. package/templates/skills_normal/n8n-code-python/README.md +386 -0
  19. package/templates/skills_normal/n8n-code-python/SKILL.md +748 -0
  20. package/templates/skills_normal/n8n-code-python/STANDARD_LIBRARY.md +974 -0
  21. package/templates/skills_normal/n8n-expression-syntax/COMMON_MISTAKES.md +393 -0
  22. package/templates/skills_normal/n8n-expression-syntax/EXAMPLES.md +483 -0
  23. package/templates/skills_normal/n8n-expression-syntax/README.md +93 -0
  24. package/templates/skills_normal/n8n-expression-syntax/SKILL.md +516 -0
  25. package/templates/skills_normal/n8n-mcp-tools-expert/README.md +99 -0
  26. package/templates/skills_normal/n8n-mcp-tools-expert/SEARCH_GUIDE.md +374 -0
  27. package/templates/skills_normal/n8n-mcp-tools-expert/SKILL.md +642 -0
  28. package/templates/skills_normal/n8n-mcp-tools-expert/VALIDATION_GUIDE.md +442 -0
  29. package/templates/skills_normal/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md +618 -0
  30. package/templates/skills_normal/n8n-node-configuration/DEPENDENCIES.md +789 -0
  31. package/templates/skills_normal/n8n-node-configuration/OPERATION_PATTERNS.md +913 -0
  32. package/templates/skills_normal/n8n-node-configuration/README.md +364 -0
  33. package/templates/skills_normal/n8n-node-configuration/SKILL.md +785 -0
  34. package/templates/skills_normal/n8n-validation-expert/ERROR_CATALOG.md +943 -0
  35. package/templates/skills_normal/n8n-validation-expert/FALSE_POSITIVES.md +720 -0
  36. package/templates/skills_normal/n8n-validation-expert/README.md +290 -0
  37. package/templates/skills_normal/n8n-validation-expert/SKILL.md +689 -0
  38. package/templates/skills_normal/n8n-workflow-patterns/README.md +251 -0
  39. package/templates/skills_normal/n8n-workflow-patterns/SKILL.md +411 -0
  40. package/templates/skills_normal/n8n-workflow-patterns/ai_agent_workflow.md +784 -0
  41. package/templates/skills_normal/n8n-workflow-patterns/database_operations.md +785 -0
  42. package/templates/skills_normal/n8n-workflow-patterns/http_api_integration.md +734 -0
  43. package/templates/skills_normal/n8n-workflow-patterns/scheduled_tasks.md +773 -0
  44. package/templates/skills_normal/n8n-workflow-patterns/webhook_processing.md +545 -0
  45. package/templates/vault/n8n-code-javascript/SKILL.md +10 -10
  46. package/templates/vault/n8n-code-python/SKILL.md +11 -11
  47. package/templates/vault/n8n-expression-syntax/SKILL.md +4 -4
  48. package/templates/vault/n8n-mcp-tools-expert/SKILL.md +9 -9
  49. package/templates/vault/n8n-node-configuration/SKILL.md +2 -2
  50. package/templates/vault/n8n-validation-expert/SKILL.md +3 -3
  51. package/templates/vault/n8n-workflow-patterns/SKILL.md +11 -11
@@ -0,0 +1,374 @@
1
+ # Node Discovery Tools Guide
2
+
3
+ Complete guide for finding and understanding n8n nodes.
4
+
5
+ ---
6
+
7
+ ## search_nodes (START HERE!)
8
+
9
+ **Speed**: <20ms
10
+
11
+ **Use when**: You know what you're looking for (keyword, service, use case)
12
+
13
+ **Syntax**:
14
+ ```javascript
15
+ search_nodes({
16
+ query: "slack", // Required: search keywords
17
+ mode: "OR", // Optional: OR (default), AND, FUZZY
18
+ limit: 20, // Optional: max results (default 20)
19
+ source: "all", // Optional: all, core, community, verified
20
+ includeExamples: false // Optional: include template configs
21
+ })
22
+ ```
23
+
24
+ **Returns**:
25
+ ```javascript
26
+ {
27
+ "query": "slack",
28
+ "results": [
29
+ {
30
+ "nodeType": "nodes-base.slack", // For search/validate tools
31
+ "workflowNodeType": "n8n-nodes-base.slack", // For workflow tools
32
+ "displayName": "Slack",
33
+ "description": "Consume Slack API",
34
+ "category": "output",
35
+ "relevance": "high"
36
+ }
37
+ ]
38
+ }
39
+ ```
40
+
41
+ **Tips**:
42
+ - Common searches: webhook, http, database, email, slack, google, ai
43
+ - `OR` mode (default): matches any word
44
+ - `AND` mode: requires all words
45
+ - `FUZZY` mode: typo-tolerant (finds "slak" → Slack)
46
+ - Use `source: "core"` for only built-in nodes
47
+ - Use `includeExamples: true` for real-world configs
48
+
49
+ ---
50
+
51
+ ## get_node (UNIFIED NODE INFORMATION)
52
+
53
+ The `get_node` tool provides all node information with different detail levels and modes.
54
+
55
+ ### Detail Levels (mode="info")
56
+
57
+ | Detail | Tokens | Use When |
58
+ |--------|--------|----------|
59
+ | `minimal` | ~200 | Quick metadata check |
60
+ | `standard` | ~1-2K | **Most use cases (DEFAULT)** |
61
+ | `full` | ~3-8K | Complex debugging only |
62
+
63
+ ### Standard Detail (RECOMMENDED)
64
+
65
+ **Speed**: <10ms | **Size**: ~1-2K tokens
66
+
67
+ **Use when**: You've found the node and need configuration details
68
+
69
+ ```javascript
70
+ get_node({
71
+ nodeType: "nodes-base.slack", // Required: SHORT prefix format
72
+ includeExamples: true // Optional: get real template configs
73
+ })
74
+ // detail="standard" is the default
75
+ ```
76
+
77
+ **Returns**:
78
+ - Available operations and resources
79
+ - Essential properties (10-20 most common)
80
+ - Metadata (isAITool, isTrigger, hasCredentials)
81
+ - Real examples from templates (if includeExamples: true)
82
+
83
+ ### Minimal Detail
84
+
85
+ **Speed**: <5ms | **Size**: ~200 tokens
86
+
87
+ **Use when**: Just need basic metadata
88
+
89
+ ```javascript
90
+ get_node({
91
+ nodeType: "nodes-base.slack",
92
+ detail: "minimal"
93
+ })
94
+ ```
95
+
96
+ **Returns**: nodeType, displayName, description, category
97
+
98
+ ### Full Detail (USE SPARINGLY)
99
+
100
+ **Speed**: <100ms | **Size**: ~3-8K tokens
101
+
102
+ **Use when**: Debugging complex configuration, need complete schema
103
+
104
+ ```javascript
105
+ get_node({
106
+ nodeType: "nodes-base.httpRequest",
107
+ detail: "full"
108
+ })
109
+ ```
110
+
111
+ **Warning**: Large payload! Use `standard` for most cases.
112
+
113
+ ---
114
+
115
+ ## get_node Modes
116
+
117
+ ### mode="docs" (READABLE DOCUMENTATION)
118
+
119
+ **Use when**: Need human-readable documentation with examples
120
+
121
+ ```javascript
122
+ get_node({
123
+ nodeType: "nodes-base.slack",
124
+ mode: "docs"
125
+ })
126
+ ```
127
+
128
+ **Returns**: Formatted markdown with:
129
+ - Usage examples
130
+ - Authentication guide
131
+ - Common patterns
132
+ - Best practices
133
+
134
+ **Better than raw schema for learning!**
135
+
136
+ ### mode="search_properties" (FIND SPECIFIC FIELDS)
137
+
138
+ **Use when**: Looking for specific property in a node
139
+
140
+ ```javascript
141
+ get_node({
142
+ nodeType: "nodes-base.httpRequest",
143
+ mode: "search_properties",
144
+ propertyQuery: "auth", // Required for this mode
145
+ maxPropertyResults: 20 // Optional: default 20
146
+ })
147
+ ```
148
+
149
+ **Returns**: Property paths and descriptions matching query
150
+
151
+ **Common searches**: auth, header, body, json, url, method, credential
152
+
153
+ ### mode="versions" (VERSION HISTORY)
154
+
155
+ **Use when**: Need to check node version history
156
+
157
+ ```javascript
158
+ get_node({
159
+ nodeType: "nodes-base.executeWorkflow",
160
+ mode: "versions"
161
+ })
162
+ ```
163
+
164
+ **Returns**: Version history with breaking changes flags
165
+
166
+ ### mode="compare" (COMPARE VERSIONS)
167
+
168
+ **Use when**: Need to see differences between versions
169
+
170
+ ```javascript
171
+ get_node({
172
+ nodeType: "nodes-base.httpRequest",
173
+ mode: "compare",
174
+ fromVersion: "3.0",
175
+ toVersion: "4.1" // Optional: defaults to latest
176
+ })
177
+ ```
178
+
179
+ **Returns**: Property-level changes between versions
180
+
181
+ ### mode="breaking" (BREAKING CHANGES ONLY)
182
+
183
+ **Use when**: Checking for breaking changes before upgrades
184
+
185
+ ```javascript
186
+ get_node({
187
+ nodeType: "nodes-base.httpRequest",
188
+ mode: "breaking",
189
+ fromVersion: "3.0"
190
+ })
191
+ ```
192
+
193
+ **Returns**: Only breaking changes (not all changes)
194
+
195
+ ### mode="migrations" (AUTO-MIGRATABLE)
196
+
197
+ **Use when**: Checking what can be auto-migrated
198
+
199
+ ```javascript
200
+ get_node({
201
+ nodeType: "nodes-base.httpRequest",
202
+ mode: "migrations",
203
+ fromVersion: "3.0"
204
+ })
205
+ ```
206
+
207
+ **Returns**: Changes that can be automatically migrated
208
+
209
+ ---
210
+
211
+ ## Additional Parameters
212
+
213
+ ### includeTypeInfo
214
+
215
+ Add type structure metadata (validation rules, JS types)
216
+
217
+ ```javascript
218
+ get_node({
219
+ nodeType: "nodes-base.if",
220
+ includeTypeInfo: true // Adds ~80-120 tokens per property
221
+ })
222
+ ```
223
+
224
+ Use for complex nodes like filter, resourceMapper
225
+
226
+ ### includeExamples
227
+
228
+ Include real-world configuration examples from templates
229
+
230
+ ```javascript
231
+ get_node({
232
+ nodeType: "nodes-base.slack",
233
+ includeExamples: true // Adds ~200-400 tokens per example
234
+ })
235
+ ```
236
+
237
+ Only works with `mode: "info"` and `detail: "standard"`
238
+
239
+ ---
240
+
241
+ ## Common Workflow: Finding & Configuring
242
+
243
+ ```
244
+ Step 1: Search
245
+ search_nodes({query: "slack"})
246
+ → Returns: nodes-base.slack
247
+
248
+ Step 2: Get Operations (18s avg thinking time)
249
+ get_node({
250
+ nodeType: "nodes-base.slack",
251
+ includeExamples: true
252
+ })
253
+ → Returns: operations list + example configs
254
+
255
+ Step 3: Validate Config
256
+ validate_node({
257
+ nodeType: "nodes-base.slack",
258
+ config: {resource: "channel", operation: "create"},
259
+ profile: "runtime"
260
+ })
261
+ → Returns: validation result
262
+
263
+ Step 4: Use in Workflow
264
+ (Configuration ready!)
265
+ ```
266
+
267
+ **Most common pattern**: search → get_node (18s average)
268
+
269
+ ---
270
+
271
+ ## Quick Comparison
272
+
273
+ | Tool/Mode | When to Use | Speed | Size |
274
+ |-----------|-------------|-------|------|
275
+ | `search_nodes` | Find by keyword | <20ms | Small |
276
+ | `get_node (standard)` | **Get config (DEFAULT)** | <10ms | 1-2K |
277
+ | `get_node (minimal)` | Quick metadata | <5ms | 200 |
278
+ | `get_node (full)` | Complex debugging | <100ms | 3-8K |
279
+ | `get_node (docs)` | Learn usage | Fast | Medium |
280
+ | `get_node (search_properties)` | Find specific field | Fast | Small |
281
+ | `get_node (versions)` | Check versions | Fast | Small |
282
+
283
+ **Best Practice**: search → get_node(standard) → validate
284
+
285
+ ---
286
+
287
+ ## nodeType Format (CRITICAL!)
288
+
289
+ **Search/Validate Tools** (SHORT prefix):
290
+ ```javascript
291
+ "nodes-base.slack"
292
+ "nodes-base.httpRequest"
293
+ "nodes-langchain.agent"
294
+ ```
295
+
296
+ **Workflow Tools** (FULL prefix):
297
+ ```javascript
298
+ "n8n-nodes-base.slack"
299
+ "n8n-nodes-base.httpRequest"
300
+ "@n8n/n8n-nodes-langchain.agent"
301
+ ```
302
+
303
+ **Conversion**: search_nodes returns BOTH formats:
304
+ ```javascript
305
+ {
306
+ "nodeType": "nodes-base.slack", // Use with get_node, validate_node
307
+ "workflowNodeType": "n8n-nodes-base.slack" // Use with n8n_create_workflow
308
+ }
309
+ ```
310
+
311
+ ---
312
+
313
+ ## Examples
314
+
315
+ ### Find and Configure HTTP Request
316
+
317
+ ```javascript
318
+ // Step 1: Search
319
+ search_nodes({query: "http request"})
320
+
321
+ // Step 2: Get standard info
322
+ get_node({nodeType: "nodes-base.httpRequest"})
323
+
324
+ // Step 3: Find auth options
325
+ get_node({
326
+ nodeType: "nodes-base.httpRequest",
327
+ mode: "search_properties",
328
+ propertyQuery: "authentication"
329
+ })
330
+
331
+ // Step 4: Validate config
332
+ validate_node({
333
+ nodeType: "nodes-base.httpRequest",
334
+ config: {method: "POST", url: "https://api.example.com"},
335
+ profile: "runtime"
336
+ })
337
+ ```
338
+
339
+ ### Explore AI Nodes
340
+
341
+ ```javascript
342
+ // Find all AI-related nodes
343
+ search_nodes({query: "ai agent", source: "all"})
344
+
345
+ // Get AI Agent documentation
346
+ get_node({nodeType: "nodes-langchain.agent", mode: "docs"})
347
+
348
+ // Get configuration details with examples
349
+ get_node({
350
+ nodeType: "nodes-langchain.agent",
351
+ includeExamples: true
352
+ })
353
+ ```
354
+
355
+ ### Check Version Compatibility
356
+
357
+ ```javascript
358
+ // See all versions
359
+ get_node({nodeType: "nodes-base.executeWorkflow", mode: "versions"})
360
+
361
+ // Check breaking changes from v1 to v2
362
+ get_node({
363
+ nodeType: "nodes-base.executeWorkflow",
364
+ mode: "breaking",
365
+ fromVersion: "1.0"
366
+ })
367
+ ```
368
+
369
+ ---
370
+
371
+ ## Related
372
+
373
+ - [VALIDATION_GUIDE.md](VALIDATION_GUIDE.md) - Validate node configs
374
+ - [WORKFLOW_GUIDE.md](WORKFLOW_GUIDE.md) - Use nodes in workflows