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.
- package/.bps-kit.json +4 -4
- package/README.md +3 -0
- package/implementation_plan.md.resolved +37 -0
- package/package.json +2 -2
- package/templates/agents-template/ARCHITECTURE.md +21 -9
- package/templates/agents-template/agents/automation-specialist.md +157 -0
- package/templates/agents-template/rules/GEMINI.md +2 -10
- package/templates/agents-template/workflows/automate.md +153 -0
- package/templates/skills_normal/n8n-code-javascript/BUILTIN_FUNCTIONS.md +764 -0
- package/templates/skills_normal/n8n-code-javascript/COMMON_PATTERNS.md +1110 -0
- package/templates/skills_normal/n8n-code-javascript/DATA_ACCESS.md +782 -0
- package/templates/skills_normal/n8n-code-javascript/ERROR_PATTERNS.md +763 -0
- package/templates/skills_normal/n8n-code-javascript/README.md +350 -0
- package/templates/skills_normal/n8n-code-javascript/SKILL.md +699 -0
- package/templates/skills_normal/n8n-code-python/COMMON_PATTERNS.md +794 -0
- package/templates/skills_normal/n8n-code-python/DATA_ACCESS.md +702 -0
- package/templates/skills_normal/n8n-code-python/ERROR_PATTERNS.md +601 -0
- package/templates/skills_normal/n8n-code-python/README.md +386 -0
- package/templates/skills_normal/n8n-code-python/SKILL.md +748 -0
- package/templates/skills_normal/n8n-code-python/STANDARD_LIBRARY.md +974 -0
- package/templates/skills_normal/n8n-expression-syntax/COMMON_MISTAKES.md +393 -0
- package/templates/skills_normal/n8n-expression-syntax/EXAMPLES.md +483 -0
- package/templates/skills_normal/n8n-expression-syntax/README.md +93 -0
- package/templates/skills_normal/n8n-expression-syntax/SKILL.md +516 -0
- package/templates/skills_normal/n8n-mcp-tools-expert/README.md +99 -0
- package/templates/skills_normal/n8n-mcp-tools-expert/SEARCH_GUIDE.md +374 -0
- package/templates/skills_normal/n8n-mcp-tools-expert/SKILL.md +642 -0
- package/templates/skills_normal/n8n-mcp-tools-expert/VALIDATION_GUIDE.md +442 -0
- package/templates/skills_normal/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md +618 -0
- package/templates/skills_normal/n8n-node-configuration/DEPENDENCIES.md +789 -0
- package/templates/skills_normal/n8n-node-configuration/OPERATION_PATTERNS.md +913 -0
- package/templates/skills_normal/n8n-node-configuration/README.md +364 -0
- package/templates/skills_normal/n8n-node-configuration/SKILL.md +785 -0
- package/templates/skills_normal/n8n-validation-expert/ERROR_CATALOG.md +943 -0
- package/templates/skills_normal/n8n-validation-expert/FALSE_POSITIVES.md +720 -0
- package/templates/skills_normal/n8n-validation-expert/README.md +290 -0
- package/templates/skills_normal/n8n-validation-expert/SKILL.md +689 -0
- package/templates/skills_normal/n8n-workflow-patterns/README.md +251 -0
- package/templates/skills_normal/n8n-workflow-patterns/SKILL.md +411 -0
- package/templates/skills_normal/n8n-workflow-patterns/ai_agent_workflow.md +784 -0
- package/templates/skills_normal/n8n-workflow-patterns/database_operations.md +785 -0
- package/templates/skills_normal/n8n-workflow-patterns/http_api_integration.md +734 -0
- package/templates/skills_normal/n8n-workflow-patterns/scheduled_tasks.md +773 -0
- package/templates/skills_normal/n8n-workflow-patterns/webhook_processing.md +545 -0
- package/templates/vault/n8n-code-javascript/SKILL.md +10 -10
- package/templates/vault/n8n-code-python/SKILL.md +11 -11
- package/templates/vault/n8n-expression-syntax/SKILL.md +4 -4
- package/templates/vault/n8n-mcp-tools-expert/SKILL.md +9 -9
- package/templates/vault/n8n-node-configuration/SKILL.md +2 -2
- package/templates/vault/n8n-validation-expert/SKILL.md +3 -3
- 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.
|