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,364 @@
1
+ # n8n Node Configuration
2
+
3
+ Expert guidance for operation-aware node configuration with property dependencies.
4
+
5
+ ## Overview
6
+
7
+ **Skill Name**: n8n Node Configuration
8
+ **Priority**: Medium
9
+ **Purpose**: Teach operation-aware configuration with progressive discovery and dependency awareness
10
+
11
+ ## The Problem This Solves
12
+
13
+ Node configuration patterns:
14
+
15
+ - get_node_essentials is the primary discovery tool (18s avg from search → essentials)
16
+ - 91.7% success rate with essentials-based configuration
17
+ - 56 seconds average between configuration edits
18
+
19
+ **Key insight**: Most configurations only need essentials, not full schema!
20
+
21
+ ## What This Skill Teaches
22
+
23
+ ### Core Concepts
24
+
25
+ 1. **Operation-Aware Configuration**
26
+ - Resource + operation determine required fields
27
+ - Different operations = different requirements
28
+ - Always check requirements when changing operation
29
+
30
+ 2. **Property Dependencies**
31
+ - Fields appear/disappear based on other field values
32
+ - displayOptions control visibility
33
+ - Conditional required fields
34
+ - Understanding dependency chains
35
+
36
+ 3. **Progressive Discovery**
37
+ - Start with get_node_essentials (91.7% success)
38
+ - Escalate to get_property_dependencies if needed
39
+ - Use get_node_info only when necessary
40
+ - Right tool for right job
41
+
42
+ 4. **Configuration Workflow**
43
+ - Identify → Discover → Configure → Validate → Iterate
44
+ - Average 2-3 validation cycles
45
+ - Read errors for dependency hints
46
+ - 56 seconds between edits average
47
+
48
+ 5. **Common Patterns**
49
+ - Resource/operation nodes (Slack, Sheets)
50
+ - HTTP-based nodes (HTTP Request, Webhook)
51
+ - Database nodes (Postgres, MySQL)
52
+ - Conditional logic nodes (IF, Switch)
53
+
54
+ ## File Structure
55
+
56
+ ```
57
+ n8n-node-configuration/
58
+ ├── SKILL.md (692 lines)
59
+ │ Main configuration guide
60
+ │ - Configuration philosophy (progressive disclosure)
61
+ │ - Core concepts (operation-aware, dependencies)
62
+ │ - Configuration workflow (8-step process)
63
+ │ - get_node_essentials vs get_node_info
64
+ │ - Property dependencies deep dive
65
+ │ - Common node patterns (4 categories)
66
+ │ - Operation-specific examples
67
+ │ - Conditional requirements
68
+ │ - Anti-patterns and best practices
69
+
70
+ ├── DEPENDENCIES.md (671 lines)
71
+ │ Property dependencies reference
72
+ │ - displayOptions mechanism
73
+ │ - show vs hide rules
74
+ │ - Multiple conditions (AND logic)
75
+ │ - Multiple values (OR logic)
76
+ │ - 4 common dependency patterns
77
+ │ - Using get_property_dependencies
78
+ │ - Complex dependency examples
79
+ │ - Nested dependencies
80
+ │ - Auto-sanitization interaction
81
+ │ - Troubleshooting guide
82
+ │ - Advanced patterns
83
+
84
+ ├── OPERATION_PATTERNS.md (783 lines)
85
+ │ Common configurations by node type
86
+ │ - HTTP Request (GET/POST/PUT/DELETE)
87
+ │ - Webhook (basic/auth/response)
88
+ │ - Slack (post/update/create)
89
+ │ - Gmail (send/get)
90
+ │ - Postgres (query/insert/update)
91
+ │ - Set (values/mapping)
92
+ │ - Code (per-item/all-items)
93
+ │ - IF (string/number/boolean)
94
+ │ - Switch (rules/fallback)
95
+ │ - OpenAI (chat completion)
96
+ │ - Schedule (daily/interval/cron)
97
+ │ - Gotchas and tips for each
98
+
99
+ └── README.md (this file)
100
+ Skill metadata and statistics
101
+ ```
102
+
103
+ **Total**: ~2,146 lines across 4 files + 4 evaluations
104
+
105
+ ## Usage Statistics
106
+
107
+ Configuration metrics:
108
+
109
+ | Metric | Value | Insight |
110
+ |---|---|---|
111
+ | get_node_essentials | Primary tool | Most popular discovery pattern |
112
+ | Success rate (essentials) | 91.7% | Essentials sufficient for most |
113
+ | Avg time search→essentials | 18 seconds | Fast discovery workflow |
114
+ | Avg time between edits | 56 seconds | Iterative configuration |
115
+
116
+ ## Tool Usage Pattern
117
+
118
+ **Most common discovery pattern**:
119
+ ```
120
+ search_nodes → get_node_essentials (18s average)
121
+ ```
122
+
123
+ **Configuration cycle**:
124
+ ```
125
+ get_node_essentials → configure → validate → iterate (56s avg per edit)
126
+ ```
127
+
128
+ ## Key Insights
129
+
130
+ ### 1. Progressive Disclosure Works
131
+
132
+ **91.7% success rate** with get_node_essentials proves most configurations don't need full schema.
133
+
134
+ **Strategy**:
135
+ 1. Start with essentials
136
+ 2. Escalate to dependencies if stuck
137
+ 3. Use full schema only when necessary
138
+
139
+ ### 2. Operations Determine Requirements
140
+
141
+ **Same node, different operation = different requirements**
142
+
143
+ Example: Slack message
144
+ - `operation="post"` → needs channel + text
145
+ - `operation="update"` → needs messageId + text (different!)
146
+
147
+ ### 3. Dependencies Control Visibility
148
+
149
+ **Fields appear/disappear based on other values**
150
+
151
+ Example: HTTP Request
152
+ - `method="GET"` → body hidden
153
+ - `method="POST"` + `sendBody=true` → body required
154
+
155
+ ### 4. Configuration is Iterative
156
+
157
+ **Average 56 seconds between edits** shows configuration is iterative, not one-shot.
158
+
159
+ **Normal workflow**:
160
+ 1. Configure minimal
161
+ 2. Validate → error
162
+ 3. Add missing field
163
+ 4. Validate → error
164
+ 5. Adjust value
165
+ 6. Validate → valid ✅
166
+
167
+ ### 5. Common Gotchas Exist
168
+
169
+ **Top 5 gotchas** from patterns:
170
+ 1. Webhook data under `$json.body` (not `$json`)
171
+ 2. POST needs `sendBody: true`
172
+ 3. Slack channel format (`#name`)
173
+ 4. SQL parameterized queries (injection prevention)
174
+ 5. Timezone must be explicit (schedule nodes)
175
+
176
+ ## Usage Examples
177
+
178
+ ### Example 1: Basic Configuration Flow
179
+
180
+ ```javascript
181
+ // Step 1: Get essentials
182
+ const info = get_node_essentials({
183
+ nodeType: "nodes-base.slack"
184
+ });
185
+
186
+ // Step 2: Configure for operation
187
+ {
188
+ "resource": "message",
189
+ "operation": "post",
190
+ "channel": "#general",
191
+ "text": "Hello!"
192
+ }
193
+
194
+ // Step 3: Validate
195
+ validate_node_operation({...});
196
+ // ✅ Valid!
197
+ ```
198
+
199
+ ### Example 2: Handling Dependencies
200
+
201
+ ```javascript
202
+ // Step 1: Configure HTTP POST
203
+ {
204
+ "method": "POST",
205
+ "url": "https://api.example.com/create"
206
+ }
207
+
208
+ // Step 2: Validate → Error: "sendBody required"
209
+ // Step 3: Check dependencies
210
+ get_property_dependencies({
211
+ nodeType: "nodes-base.httpRequest"
212
+ });
213
+ // Shows: body visible when sendBody=true
214
+
215
+ // Step 4: Fix
216
+ {
217
+ "method": "POST",
218
+ "url": "https://api.example.com/create",
219
+ "sendBody": true,
220
+ "body": {
221
+ "contentType": "json",
222
+ "content": {...}
223
+ }
224
+ }
225
+ // ✅ Valid!
226
+ ```
227
+
228
+ ### Example 3: Operation Change
229
+
230
+ ```javascript
231
+ // Initial config (post operation)
232
+ {
233
+ "resource": "message",
234
+ "operation": "post",
235
+ "channel": "#general",
236
+ "text": "Hello"
237
+ }
238
+
239
+ // Change operation
240
+ {
241
+ "resource": "message",
242
+ "operation": "update", // Changed!
243
+ // Need to check new requirements
244
+ }
245
+
246
+ // Get essentials for update operation
247
+ get_node_essentials({nodeType: "nodes-base.slack"});
248
+ // Shows: messageId required, channel optional
249
+
250
+ // Correct config
251
+ {
252
+ "resource": "message",
253
+ "operation": "update",
254
+ "messageId": "1234567890.123456",
255
+ "text": "Updated"
256
+ }
257
+ ```
258
+
259
+ ## When This Skill Activates
260
+
261
+ **Trigger phrases**:
262
+ - "how to configure"
263
+ - "what fields are required"
264
+ - "property dependencies"
265
+ - "get_node_essentials vs get_node_info"
266
+ - "operation-specific"
267
+ - "field not visible"
268
+
269
+ **Common scenarios**:
270
+ - Configuring new nodes
271
+ - Understanding required fields
272
+ - Field appears/disappears unexpectedly
273
+ - Choosing between discovery tools
274
+ - Switching operations
275
+ - Learning common patterns
276
+
277
+ ## Integration with Other Skills
278
+
279
+ ### Works With:
280
+ - **n8n MCP Tools Expert** - How to call discovery tools correctly
281
+ - **n8n Validation Expert** - Interpret missing_required errors
282
+ - **n8n Expression Syntax** - Configure expression fields
283
+ - **n8n Workflow Patterns** - Apply patterns with proper node config
284
+
285
+ ### Complementary:
286
+ - Use MCP Tools Expert to learn tool selection
287
+ - Use Validation Expert to fix configuration errors
288
+ - Use Expression Syntax for dynamic field values
289
+ - Use Workflow Patterns to understand node relationships
290
+
291
+ ## Testing
292
+
293
+ **Evaluations**: 4 test scenarios
294
+
295
+ 1. **eval-001-property-dependencies.json**
296
+ - Tests understanding of displayOptions
297
+ - Guides to get_property_dependencies
298
+ - Explains conditional requirements
299
+
300
+ 2. **eval-002-operation-specific-config.json**
301
+ - Tests operation-aware configuration
302
+ - Identifies resource + operation pattern
303
+ - References OPERATION_PATTERNS.md
304
+
305
+ 3. **eval-003-conditional-fields.json**
306
+ - Tests unary vs binary operators
307
+ - Explains singleValue dependency
308
+ - Mentions auto-sanitization
309
+
310
+ 4. **eval-004-essentials-vs-info.json**
311
+ - Tests tool selection knowledge
312
+ - Explains progressive disclosure
313
+ - Provides success rate statistics
314
+
315
+ ## Success Metrics
316
+
317
+ **Before this skill**:
318
+ - Using get_node_info for everything (slow, overwhelming)
319
+ - Not understanding property dependencies
320
+ - Confused when fields appear/disappear
321
+ - Not aware of operation-specific requirements
322
+ - Trial and error configuration
323
+
324
+ **After this skill**:
325
+ - Start with get_node_essentials (91.7% success)
326
+ - Understand displayOptions mechanism
327
+ - Predict field visibility based on dependencies
328
+ - Check requirements when changing operations
329
+ - Systematic configuration approach
330
+ - Know common patterns by node type
331
+
332
+ ## Coverage
333
+
334
+ **Node types covered**: Top 20 most-used nodes
335
+
336
+ | Category | Nodes | Coverage |
337
+ |---|---|---|
338
+ | HTTP/API | HTTP Request, Webhook | Complete |
339
+ | Communication | Slack, Gmail | Common operations |
340
+ | Database | Postgres, MySQL | CRUD operations |
341
+ | Transform | Set, Code | All modes |
342
+ | Conditional | IF, Switch | All operator types |
343
+ | AI | OpenAI | Chat completion |
344
+ | Schedule | Schedule Trigger | All modes |
345
+
346
+ ## Related Documentation
347
+
348
+ - **n8n-mcp MCP Server**: Provides discovery tools
349
+ - **n8n Node API**: get_node_essentials, get_property_dependencies, get_node_info
350
+ - **n8n Schema**: displayOptions mechanism, property definitions
351
+
352
+ ## Version History
353
+
354
+ - **v1.0** (2025-10-20): Initial implementation
355
+ - SKILL.md with configuration workflow
356
+ - DEPENDENCIES.md with displayOptions deep dive
357
+ - OPERATION_PATTERNS.md with 20+ node patterns
358
+ - 4 evaluation scenarios
359
+
360
+ ## Author
361
+
362
+ Conceived by Romuald Członkowski - [www.aiadvisors.pl/en](https://www.aiadvisors.pl/en)
363
+
364
+ Part of the n8n-skills meta-skill collection.