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,290 @@
|
|
|
1
|
+
# n8n Validation Expert
|
|
2
|
+
|
|
3
|
+
Expert guidance for interpreting and fixing n8n validation errors.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
**Skill Name**: n8n Validation Expert
|
|
8
|
+
**Priority**: Medium
|
|
9
|
+
**Purpose**: Interpret validation errors and guide systematic fixing through the validation loop
|
|
10
|
+
|
|
11
|
+
## The Problem This Solves
|
|
12
|
+
|
|
13
|
+
Validation errors are common:
|
|
14
|
+
|
|
15
|
+
- Validation often requires iteration (79% lead to feedback loops)
|
|
16
|
+
- **7,841 validate → fix cycles** (avg 23s thinking + 58s fixing)
|
|
17
|
+
- **2-3 iterations** average to achieve valid configuration
|
|
18
|
+
|
|
19
|
+
**Key insight**: Validation is an iterative process, not a one-shot fix!
|
|
20
|
+
|
|
21
|
+
## What This Skill Teaches
|
|
22
|
+
|
|
23
|
+
### Core Concepts
|
|
24
|
+
|
|
25
|
+
1. **Error Severity Levels**
|
|
26
|
+
- Errors (must fix) - Block execution
|
|
27
|
+
- Warnings (should fix) - Don't block but indicate issues
|
|
28
|
+
- Suggestions (optional) - Nice-to-have improvements
|
|
29
|
+
|
|
30
|
+
2. **The Validation Loop**
|
|
31
|
+
- Configure → Validate → Read errors → Fix → Validate again
|
|
32
|
+
- Average 2-3 iterations to success
|
|
33
|
+
- 23 seconds thinking + 58 seconds fixing per cycle
|
|
34
|
+
|
|
35
|
+
3. **Validation Profiles**
|
|
36
|
+
- `minimal` - Quick checks, most permissive
|
|
37
|
+
- `runtime` - Recommended for most use cases
|
|
38
|
+
- `ai-friendly` - Reduces false positives for AI workflows
|
|
39
|
+
- `strict` - Maximum safety, many warnings
|
|
40
|
+
|
|
41
|
+
4. **Auto-Sanitization System**
|
|
42
|
+
- Automatically fixes operator structure issues
|
|
43
|
+
- Runs on every workflow save
|
|
44
|
+
- Fixes binary/unary operator problems
|
|
45
|
+
- Adds IF/Switch metadata
|
|
46
|
+
|
|
47
|
+
5. **False Positives**
|
|
48
|
+
- Not all warnings need fixing
|
|
49
|
+
- 40% of warnings are acceptable in context
|
|
50
|
+
- Use `ai-friendly` profile to reduce by 60%
|
|
51
|
+
- Document accepted warnings
|
|
52
|
+
|
|
53
|
+
## File Structure
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
n8n-validation-expert/
|
|
57
|
+
├── SKILL.md (690 lines)
|
|
58
|
+
│ Core validation concepts and workflow
|
|
59
|
+
│ - Validation philosophy
|
|
60
|
+
│ - Error severity levels
|
|
61
|
+
│ - The validation loop pattern
|
|
62
|
+
│ - Validation profiles
|
|
63
|
+
│ - Common error types
|
|
64
|
+
│ - Auto-sanitization system
|
|
65
|
+
│ - Workflow validation
|
|
66
|
+
│ - Recovery strategies
|
|
67
|
+
│ - Best practices
|
|
68
|
+
│
|
|
69
|
+
├── ERROR_CATALOG.md (865 lines)
|
|
70
|
+
│ Complete error reference with examples
|
|
71
|
+
│ - 9 error types with real examples
|
|
72
|
+
│ - missing_required (45% of errors)
|
|
73
|
+
│ - invalid_value (28%)
|
|
74
|
+
│ - type_mismatch (12%)
|
|
75
|
+
│ - invalid_expression (8%)
|
|
76
|
+
│ - invalid_reference (5%)
|
|
77
|
+
│ - operator_structure (2%, auto-fixed)
|
|
78
|
+
│ - Recovery patterns
|
|
79
|
+
│ - Summary with frequencies
|
|
80
|
+
│
|
|
81
|
+
├── FALSE_POSITIVES.md (669 lines)
|
|
82
|
+
│ When warnings are acceptable
|
|
83
|
+
│ - Philosophy of warning acceptance
|
|
84
|
+
│ - 6 common false positive types
|
|
85
|
+
│ - When acceptable vs when to fix
|
|
86
|
+
│ - Validation profile strategies
|
|
87
|
+
│ - Decision framework
|
|
88
|
+
│ - Documentation template
|
|
89
|
+
│ - Known n8n issues (#304, #306, #338)
|
|
90
|
+
│
|
|
91
|
+
└── README.md (this file)
|
|
92
|
+
Skill metadata and statistics
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Total**: ~2,224 lines across 4 files
|
|
96
|
+
|
|
97
|
+
## Common Error Types
|
|
98
|
+
|
|
99
|
+
| Error Type | Priority | Auto-Fix | Severity |
|
|
100
|
+
|---|---|---|---|
|
|
101
|
+
| missing_required | Highest | ❌ | Error |
|
|
102
|
+
| invalid_value | High | ❌ | Error |
|
|
103
|
+
| type_mismatch | Medium | ❌ | Error |
|
|
104
|
+
| invalid_expression | Medium | ❌ | Error |
|
|
105
|
+
| invalid_reference | Low | ❌ | Error |
|
|
106
|
+
| operator_structure | Low | ✅ | Warning |
|
|
107
|
+
|
|
108
|
+
## Key Insights
|
|
109
|
+
|
|
110
|
+
### 1. Validation is Iterative
|
|
111
|
+
Don't expect to get it right on the first try. Multiple validation cycles (typically 2-3) are normal and expected!
|
|
112
|
+
|
|
113
|
+
### 2. False Positives Exist
|
|
114
|
+
Many validation warnings are acceptable in production workflows. This skill helps you recognize which ones to address vs. which to ignore.
|
|
115
|
+
|
|
116
|
+
### 3. Auto-Sanitization Works
|
|
117
|
+
Certain error types (like operator structure issues) are automatically fixed by n8n. Don't waste time manually fixing these!
|
|
118
|
+
|
|
119
|
+
### 4. Profile Matters
|
|
120
|
+
- `ai-friendly` reduces false positives by 60%
|
|
121
|
+
- `runtime` is the sweet spot for most use cases
|
|
122
|
+
- `strict` has value pre-production but is noisy
|
|
123
|
+
|
|
124
|
+
### 5. Error Messages Help
|
|
125
|
+
Validation errors include fix guidance - read them carefully!
|
|
126
|
+
|
|
127
|
+
## Usage Examples
|
|
128
|
+
|
|
129
|
+
### Example 1: Basic Validation Loop
|
|
130
|
+
|
|
131
|
+
```javascript
|
|
132
|
+
// Iteration 1
|
|
133
|
+
let config = {
|
|
134
|
+
resource: "channel",
|
|
135
|
+
operation: "create"
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const result1 = validate_node_operation({
|
|
139
|
+
nodeType: "nodes-base.slack",
|
|
140
|
+
config,
|
|
141
|
+
profile: "runtime"
|
|
142
|
+
});
|
|
143
|
+
// → Error: Missing "name"
|
|
144
|
+
|
|
145
|
+
// Iteration 2
|
|
146
|
+
config.name = "general";
|
|
147
|
+
const result2 = validate_node_operation({...});
|
|
148
|
+
// → Valid! ✅
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Example 2: Handling False Positives
|
|
152
|
+
|
|
153
|
+
```javascript
|
|
154
|
+
// Run validation
|
|
155
|
+
const result = validate_node_operation({
|
|
156
|
+
nodeType: "nodes-base.slack",
|
|
157
|
+
config,
|
|
158
|
+
profile: "runtime"
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
// Fix errors (must fix)
|
|
162
|
+
if (!result.valid) {
|
|
163
|
+
result.errors.forEach(error => {
|
|
164
|
+
console.log(`MUST FIX: ${error.message}`);
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Review warnings (context-dependent)
|
|
169
|
+
result.warnings.forEach(warning => {
|
|
170
|
+
if (warning.type === 'best_practice' && isDevWorkflow) {
|
|
171
|
+
console.log(`ACCEPTABLE: ${warning.message}`);
|
|
172
|
+
} else {
|
|
173
|
+
console.log(`SHOULD FIX: ${warning.message}`);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Example 3: Using Auto-Fix
|
|
179
|
+
|
|
180
|
+
```javascript
|
|
181
|
+
// Check what can be auto-fixed
|
|
182
|
+
const preview = n8n_autofix_workflow({
|
|
183
|
+
id: "workflow-id",
|
|
184
|
+
applyFixes: false // Preview mode
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
console.log(`Can auto-fix: ${preview.fixCount} issues`);
|
|
188
|
+
|
|
189
|
+
// Apply fixes
|
|
190
|
+
if (preview.fixCount > 0) {
|
|
191
|
+
n8n_autofix_workflow({
|
|
192
|
+
id: "workflow-id",
|
|
193
|
+
applyFixes: true
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## When This Skill Activates
|
|
199
|
+
|
|
200
|
+
**Trigger phrases**:
|
|
201
|
+
- "validation error"
|
|
202
|
+
- "validation failing"
|
|
203
|
+
- "what does this error mean"
|
|
204
|
+
- "false positive"
|
|
205
|
+
- "validation loop"
|
|
206
|
+
- "operator structure"
|
|
207
|
+
- "validation profile"
|
|
208
|
+
|
|
209
|
+
**Common scenarios**:
|
|
210
|
+
- Encountering validation errors
|
|
211
|
+
- Stuck in validation feedback loops
|
|
212
|
+
- Wondering if warnings need fixing
|
|
213
|
+
- Choosing the right validation profile
|
|
214
|
+
- Understanding auto-sanitization
|
|
215
|
+
|
|
216
|
+
## Integration with Other Skills
|
|
217
|
+
|
|
218
|
+
### Works With:
|
|
219
|
+
- **n8n MCP Tools Expert** - How to use validation tools correctly
|
|
220
|
+
- **n8n Expression Syntax** - Fix invalid_expression errors
|
|
221
|
+
- **n8n Node Configuration** - Understand required fields
|
|
222
|
+
- **n8n Workflow Patterns** - Validate pattern implementations
|
|
223
|
+
|
|
224
|
+
### Complementary:
|
|
225
|
+
- Use MCP Tools Expert to call validation tools
|
|
226
|
+
- Use Expression Syntax to fix expression errors
|
|
227
|
+
- Use Node Configuration to understand dependencies
|
|
228
|
+
- Use Workflow Patterns to validate structure
|
|
229
|
+
|
|
230
|
+
## Testing
|
|
231
|
+
|
|
232
|
+
**Evaluations**: 4 test scenarios
|
|
233
|
+
|
|
234
|
+
1. **eval-001-missing-required-field.json**
|
|
235
|
+
- Tests error interpretation
|
|
236
|
+
- Guides to get_node_essentials
|
|
237
|
+
- References ERROR_CATALOG.md
|
|
238
|
+
|
|
239
|
+
2. **eval-002-false-positive.json**
|
|
240
|
+
- Tests warning vs error distinction
|
|
241
|
+
- Explains false positives
|
|
242
|
+
- References FALSE_POSITIVES.md
|
|
243
|
+
- Suggests ai-friendly profile
|
|
244
|
+
|
|
245
|
+
3. **eval-003-auto-sanitization.json**
|
|
246
|
+
- Tests auto-sanitization understanding
|
|
247
|
+
- Explains operator structure fixes
|
|
248
|
+
- Advises trusting auto-fix
|
|
249
|
+
|
|
250
|
+
4. **eval-004-validation-loop.json**
|
|
251
|
+
- Tests iterative validation process
|
|
252
|
+
- Explains 2-3 iteration pattern
|
|
253
|
+
- Provides systematic approach
|
|
254
|
+
|
|
255
|
+
## Success Metrics
|
|
256
|
+
|
|
257
|
+
**Before this skill**:
|
|
258
|
+
- Users confused by validation errors
|
|
259
|
+
- Multiple failed attempts to fix
|
|
260
|
+
- Frustration with "validation loops"
|
|
261
|
+
- Fixing issues that auto-fix handles
|
|
262
|
+
- Fixing all warnings unnecessarily
|
|
263
|
+
|
|
264
|
+
**After this skill**:
|
|
265
|
+
- Systematic error resolution
|
|
266
|
+
- Understanding of iteration process
|
|
267
|
+
- Recognition of false positives
|
|
268
|
+
- Trust in auto-sanitization
|
|
269
|
+
- Context-aware warning handling
|
|
270
|
+
- 94% success within 3 iterations
|
|
271
|
+
|
|
272
|
+
## Related Documentation
|
|
273
|
+
|
|
274
|
+
- **n8n-mcp MCP Server**: Provides validation tools
|
|
275
|
+
- **n8n Validation API**: validate_node_operation, validate_workflow, n8n_autofix_workflow
|
|
276
|
+
- **n8n Issues**: #304 (IF metadata), #306 (Switch branches), #338 (credentials)
|
|
277
|
+
|
|
278
|
+
## Version History
|
|
279
|
+
|
|
280
|
+
- **v1.0** (2025-10-20): Initial implementation
|
|
281
|
+
- SKILL.md with core concepts
|
|
282
|
+
- ERROR_CATALOG.md with 9 error types
|
|
283
|
+
- FALSE_POSITIVES.md with 6 false positive patterns
|
|
284
|
+
- 4 evaluation scenarios
|
|
285
|
+
|
|
286
|
+
## Author
|
|
287
|
+
|
|
288
|
+
Conceived by Romuald Członkowski - [www.aiadvisors.pl/en](https://www.aiadvisors.pl/en)
|
|
289
|
+
|
|
290
|
+
Part of the n8n-skills meta-skill collection.
|