{"id":"397ad13d-cc44-41ec-9ef1-4761642e9a3e","shortId":"8V768Y","kind":"skill","title":"n8n-node-configuration","tagline":"Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between get_node detail levels, or learning common configuration patterns by node type.","description":"# n8n Node Configuration\n\nExpert guidance for operation-aware node configuration with property dependencies.\n\n## When to Use\n- You need to configure an n8n node correctly for a specific resource and operation.\n- The task involves required fields, property dependencies, or choosing the right `get_node` detail level.\n- You are troubleshooting node setup rather than overall workflow architecture.\n\n---\n\n## Configuration Philosophy\n\n**Progressive disclosure**: Start minimal, add complexity as needed\n\nConfiguration best practices:\n- `get_node` with `detail: \"standard\"` is the most used discovery pattern\n- 56 seconds average between configuration edits\n- Covers 95% of use cases with 1-2K tokens response\n\n**Key insight**: Most configurations need only standard detail, not full schema!\n\n---\n\n## Core Concepts\n\n### 1. Operation-Aware Configuration\n\n**Not all fields are always required** - it depends on operation!\n\n**Example**: Slack node\n```javascript\n// For operation='post'\n{\n  \"resource\": \"message\",\n  \"operation\": \"post\",\n  \"channel\": \"#general\",  // Required for post\n  \"text\": \"Hello!\"        // Required for post\n}\n\n// For operation='update'\n{\n  \"resource\": \"message\",\n  \"operation\": \"update\",\n  \"messageId\": \"123\",     // Required for update (different!)\n  \"text\": \"Updated!\"      // Required for update\n  // channel NOT required for update\n}\n```\n\n**Key**: Resource + operation determine which fields are required!\n\n### 2. Property Dependencies\n\n**Fields appear/disappear based on other field values**\n\n**Example**: HTTP Request node\n```javascript\n// When method='GET'\n{\n  \"method\": \"GET\",\n  \"url\": \"https://api.example.com\"\n  // sendBody not shown (GET doesn't have body)\n}\n\n// When method='POST'\n{\n  \"method\": \"POST\",\n  \"url\": \"https://api.example.com\",\n  \"sendBody\": true,       // Now visible!\n  \"body\": {               // Required when sendBody=true\n    \"contentType\": \"json\",\n    \"content\": {...}\n  }\n}\n```\n\n**Mechanism**: displayOptions control field visibility\n\n### 3. Progressive Discovery\n\n**Use the right detail level**:\n\n1. **get_node({detail: \"standard\"})** - DEFAULT\n   - Quick overview (~1-2K tokens)\n   - Required fields + common options\n   - **Use first** - covers 95% of needs\n\n2. **get_node({mode: \"search_properties\", propertyQuery: \"...\"})** (for finding specific fields)\n   - Find properties by name\n   - Use when looking for auth, body, headers, etc.\n\n3. **get_node({detail: \"full\"})** (complete schema)\n   - All properties (~3-8K tokens)\n   - Use only when standard detail is insufficient\n\n---\n\n## Configuration Workflow\n\n### Standard Process\n\n```\n1. Identify node type and operation\n   ↓\n2. Use get_node (standard detail is default)\n   ↓\n3. Configure required fields\n   ↓\n4. Validate configuration\n   ↓\n5. If field unclear → get_node({mode: \"search_properties\"})\n   ↓\n6. Add optional fields as needed\n   ↓\n7. Validate again\n   ↓\n8. Deploy\n```\n\n### Example: Configuring HTTP Request\n\n**Step 1**: Identify what you need\n```javascript\n// Goal: POST JSON to API\n```\n\n**Step 2**: Get node info\n```javascript\nconst info = get_node({\n  nodeType: \"nodes-base.httpRequest\"\n});\n\n// Returns: method, url, sendBody, body, authentication required/optional\n```\n\n**Step 3**: Minimal config\n```javascript\n{\n  \"method\": \"POST\",\n  \"url\": \"https://api.example.com/create\",\n  \"authentication\": \"none\"\n}\n```\n\n**Step 4**: Validate\n```javascript\nvalidate_node({\n  nodeType: \"nodes-base.httpRequest\",\n  config,\n  profile: \"runtime\"\n});\n// → Error: \"sendBody required for POST\"\n```\n\n**Step 5**: Add required field\n```javascript\n{\n  \"method\": \"POST\",\n  \"url\": \"https://api.example.com/create\",\n  \"authentication\": \"none\",\n  \"sendBody\": true\n}\n```\n\n**Step 6**: Validate again\n```javascript\nvalidate_node({...});\n// → Error: \"body required when sendBody=true\"\n```\n\n**Step 7**: Complete configuration\n```javascript\n{\n  \"method\": \"POST\",\n  \"url\": \"https://api.example.com/create\",\n  \"authentication\": \"none\",\n  \"sendBody\": true,\n  \"body\": {\n    \"contentType\": \"json\",\n    \"content\": {\n      \"name\": \"={{$json.name}}\",\n      \"email\": \"={{$json.email}}\"\n    }\n  }\n}\n```\n\n**Step 8**: Final validation\n```javascript\nvalidate_node({...});\n// → Valid! ✅\n```\n\n---\n\n## get_node Detail Levels\n\n### Standard Detail (DEFAULT - Use This!)\n\n**✅ Starting configuration**\n```javascript\nget_node({\n  nodeType: \"nodes-base.slack\"\n});\n// detail=\"standard\" is the default\n```\n\n**Returns** (~1-2K tokens):\n- Required fields\n- Common options\n- Operation list\n- Metadata\n\n**Use**: 95% of configuration needs\n\n### Full Detail (Use Sparingly)\n\n**✅ When standard isn't enough**\n```javascript\nget_node({\n  nodeType: \"nodes-base.slack\",\n  detail: \"full\"\n});\n```\n\n**Returns** (~3-8K tokens):\n- Complete schema\n- All properties\n- All nested options\n\n**Warning**: Large response, use only when standard insufficient\n\n### Search Properties Mode\n\n**✅ Looking for specific field**\n```javascript\nget_node({\n  nodeType: \"nodes-base.httpRequest\",\n  mode: \"search_properties\",\n  propertyQuery: \"auth\"\n});\n```\n\n**Use**: Find authentication, headers, body fields, etc.\n\n### Decision Tree\n\n```\n┌─────────────────────────────────┐\n│ Starting new node config?       │\n├─────────────────────────────────┤\n│ YES → get_node (standard)       │\n└─────────────────────────────────┘\n         ↓\n┌─────────────────────────────────┐\n│ Standard has what you need?     │\n├─────────────────────────────────┤\n│ YES → Configure with it         │\n│ NO  → Continue                  │\n└─────────────────────────────────┘\n         ↓\n┌─────────────────────────────────┐\n│ Looking for specific field?     │\n├─────────────────────────────────┤\n│ YES → search_properties mode    │\n│ NO  → Continue                  │\n└─────────────────────────────────┘\n         ↓\n┌─────────────────────────────────┐\n│ Still need more details?        │\n├─────────────────────────────────┤\n│ YES → get_node({detail: \"full\"})│\n└─────────────────────────────────┘\n```\n\n---\n\n## Property Dependencies Deep Dive\n\n### displayOptions Mechanism\n\n**Fields have visibility rules**:\n\n```javascript\n{\n  \"name\": \"body\",\n  \"displayOptions\": {\n    \"show\": {\n      \"sendBody\": [true],\n      \"method\": [\"POST\", \"PUT\", \"PATCH\"]\n    }\n  }\n}\n```\n\n**Translation**: \"body\" field shows when:\n- sendBody = true AND\n- method = POST, PUT, or PATCH\n\n### Common Dependency Patterns\n\n#### Pattern 1: Boolean Toggle\n\n**Example**: HTTP Request sendBody\n```javascript\n// sendBody controls body visibility\n{\n  \"sendBody\": true   // → body field appears\n}\n```\n\n#### Pattern 2: Operation Switch\n\n**Example**: Slack resource/operation\n```javascript\n// Different operations → different fields\n{\n  \"resource\": \"message\",\n  \"operation\": \"post\"\n  // → Shows: channel, text, attachments, etc.\n}\n\n{\n  \"resource\": \"message\",\n  \"operation\": \"update\"\n  // → Shows: messageId, text (different fields!)\n}\n```\n\n#### Pattern 3: Type Selection\n\n**Example**: IF node conditions\n```javascript\n{\n  \"type\": \"string\",\n  \"operation\": \"contains\"\n  // → Shows: value1, value2\n}\n\n{\n  \"type\": \"boolean\",\n  \"operation\": \"equals\"\n  // → Shows: value1, value2, different operators\n}\n```\n\n### Finding Property Dependencies\n\n**Use get_node with search_properties mode**:\n```javascript\nget_node({\n  nodeType: \"nodes-base.httpRequest\",\n  mode: \"search_properties\",\n  propertyQuery: \"body\"\n});\n\n// Returns property paths matching \"body\" with descriptions\n```\n\n**Or use full detail for complete schema**:\n```javascript\nget_node({\n  nodeType: \"nodes-base.httpRequest\",\n  detail: \"full\"\n});\n\n// Returns complete schema with displayOptions rules\n```\n\n**Use this when**: Validation fails and you don't understand why field is missing/required\n\n---\n\n## Common Node Patterns\n\n### Pattern 1: Resource/Operation Nodes\n\n**Examples**: Slack, Google Sheets, Airtable\n\n**Structure**:\n```javascript\n{\n  \"resource\": \"<entity>\",      // What type of thing\n  \"operation\": \"<action>\",     // What to do with it\n  // ... operation-specific fields\n}\n```\n\n**How to configure**:\n1. Choose resource\n2. Choose operation\n3. Use get_node to see operation-specific requirements\n4. Configure required fields\n\n### Pattern 2: HTTP-Based Nodes\n\n**Examples**: HTTP Request, Webhook\n\n**Structure**:\n```javascript\n{\n  \"method\": \"<HTTP_METHOD>\",\n  \"url\": \"<endpoint>\",\n  \"authentication\": \"<type>\",\n  // ... method-specific fields\n}\n```\n\n**Dependencies**:\n- POST/PUT/PATCH → sendBody available\n- sendBody=true → body required\n- authentication != \"none\" → credentials required\n\n### Pattern 3: Database Nodes\n\n**Examples**: Postgres, MySQL, MongoDB\n\n**Structure**:\n```javascript\n{\n  \"operation\": \"<query|insert|update|delete>\",\n  // ... operation-specific fields\n}\n```\n\n**Dependencies**:\n- operation=\"executeQuery\" → query required\n- operation=\"insert\" → table + values required\n- operation=\"update\" → table + values + where required\n\n### Pattern 4: Conditional Logic Nodes\n\n**Examples**: IF, Switch, Merge\n\n**Structure**:\n```javascript\n{\n  \"conditions\": {\n    \"<type>\": [\n      {\n        \"operation\": \"<operator>\",\n        \"value1\": \"...\",\n        \"value2\": \"...\"  // Only for binary operators\n      }\n    ]\n  }\n}\n```\n\n**Dependencies**:\n- Binary operators (equals, contains, etc.) → value1 + value2\n- Unary operators (isEmpty, isNotEmpty) → value1 only + singleValue: true\n\n---\n\n## Operation-Specific Configuration\n\n### Slack Node Examples\n\n#### Post Message\n```javascript\n{\n  \"resource\": \"message\",\n  \"operation\": \"post\",\n  \"channel\": \"#general\",      // Required\n  \"text\": \"Hello!\",           // Required\n  \"attachments\": [],          // Optional\n  \"blocks\": []                // Optional\n}\n```\n\n#### Update Message\n```javascript\n{\n  \"resource\": \"message\",\n  \"operation\": \"update\",\n  \"messageId\": \"1234567890\",  // Required (different from post!)\n  \"text\": \"Updated!\",         // Required\n  \"channel\": \"#general\"       // Optional (can be inferred)\n}\n```\n\n#### Create Channel\n```javascript\n{\n  \"resource\": \"channel\",\n  \"operation\": \"create\",\n  \"name\": \"new-channel\",      // Required\n  \"isPrivate\": false          // Optional\n  // Note: text NOT required for this operation\n}\n```\n\n### HTTP Request Node Examples\n\n#### GET Request\n```javascript\n{\n  \"method\": \"GET\",\n  \"url\": \"https://api.example.com/users\",\n  \"authentication\": \"predefinedCredentialType\",\n  \"nodeCredentialType\": \"httpHeaderAuth\",\n  \"sendQuery\": true,                    // Optional\n  \"queryParameters\": {                  // Shows when sendQuery=true\n    \"parameters\": [\n      {\n        \"name\": \"limit\",\n        \"value\": \"100\"\n      }\n    ]\n  }\n}\n```\n\n#### POST with JSON\n```javascript\n{\n  \"method\": \"POST\",\n  \"url\": \"https://api.example.com/users\",\n  \"authentication\": \"none\",\n  \"sendBody\": true,                     // Required for POST\n  \"body\": {                             // Required when sendBody=true\n    \"contentType\": \"json\",\n    \"content\": {\n      \"name\": \"John Doe\",\n      \"email\": \"john@example.com\"\n    }\n  }\n}\n```\n\n### IF Node Examples\n\n#### String Comparison (Binary)\n```javascript\n{\n  \"conditions\": {\n    \"string\": [\n      {\n        \"value1\": \"={{$json.status}}\",\n        \"operation\": \"equals\",\n        \"value2\": \"active\"              // Binary: needs value2\n      }\n    ]\n  }\n}\n```\n\n#### Empty Check (Unary)\n```javascript\n{\n  \"conditions\": {\n    \"string\": [\n      {\n        \"value1\": \"={{$json.email}}\",\n        \"operation\": \"isEmpty\",\n        // No value2 - unary operator\n        \"singleValue\": true             // Auto-added by sanitization\n      }\n    ]\n  }\n}\n```\n\n---\n\n## Handling Conditional Requirements\n\n### Example: HTTP Request Body\n\n**Scenario**: body field required, but only sometimes\n\n**Rule**:\n```\nbody is required when:\n  - sendBody = true AND\n  - method IN (POST, PUT, PATCH, DELETE)\n```\n\n**How to discover**:\n```javascript\n// Option 1: Read validation error\nvalidate_node({...});\n// Error: \"body required when sendBody=true\"\n\n// Option 2: Search for the property\nget_node({\n  nodeType: \"nodes-base.httpRequest\",\n  mode: \"search_properties\",\n  propertyQuery: \"body\"\n});\n// Shows: body property with displayOptions rules\n\n// Option 3: Try minimal config and iterate\n// Start without body, validation will tell you if needed\n```\n\n### Example: IF Node singleValue\n\n**Scenario**: singleValue property appears for unary operators\n\n**Rule**:\n```\nsingleValue should be true when:\n  - operation IN (isEmpty, isNotEmpty, true, false)\n```\n\n**Good news**: Auto-sanitization fixes this!\n\n**Manual check**:\n```javascript\nget_node({\n  nodeType: \"nodes-base.if\",\n  detail: \"full\"\n});\n// Shows complete schema with operator-specific rules\n```\n\n---\n\n## Configuration Anti-Patterns\n\n### ❌ Don't: Over-configure Upfront\n\n**Bad**:\n```javascript\n// Adding every possible field\n{\n  \"method\": \"GET\",\n  \"url\": \"...\",\n  \"sendQuery\": false,\n  \"sendHeaders\": false,\n  \"sendBody\": false,\n  \"timeout\": 10000,\n  \"ignoreResponseCode\": false,\n  // ... 20 more optional fields\n}\n```\n\n**Good**:\n```javascript\n// Start minimal\n{\n  \"method\": \"GET\",\n  \"url\": \"...\",\n  \"authentication\": \"none\"\n}\n// Add fields only when needed\n```\n\n### ❌ Don't: Skip Validation\n\n**Bad**:\n```javascript\n// Configure and deploy without validating\nconst config = {...};\nn8n_update_partial_workflow({...});  // YOLO\n```\n\n**Good**:\n```javascript\n// Validate before deploying\nconst config = {...};\nconst result = validate_node({...});\nif (result.valid) {\n  n8n_update_partial_workflow({...});\n}\n```\n\n### ❌ Don't: Ignore Operation Context\n\n**Bad**:\n```javascript\n// Same config for all Slack operations\n{\n  \"resource\": \"message\",\n  \"operation\": \"post\",\n  \"channel\": \"#general\",\n  \"text\": \"...\"\n}\n\n// Then switching operation without updating config\n{\n  \"resource\": \"message\",\n  \"operation\": \"update\",  // Changed\n  \"channel\": \"#general\",  // Wrong field for update!\n  \"text\": \"...\"\n}\n```\n\n**Good**:\n```javascript\n// Check requirements when changing operation\nget_node({\n  nodeType: \"nodes-base.slack\"\n});\n// See what update operation needs (messageId, not channel)\n```\n\n---\n\n## Best Practices\n\n### ✅ Do\n\n1. **Start with get_node (standard detail)**\n   - ~1-2K tokens response\n   - Covers 95% of configuration needs\n   - Default detail level\n\n2. **Validate iteratively**\n   - Configure → Validate → Fix → Repeat\n   - Average 2-3 iterations is normal\n   - Read validation errors carefully\n\n3. **Use search_properties mode when stuck**\n   - If field seems missing, search for it\n   - Understand what controls field visibility\n   - `get_node({mode: \"search_properties\", propertyQuery: \"...\"})`\n\n4. **Respect operation context**\n   - Different operations = different requirements\n   - Always check get_node when changing operation\n   - Don't assume configs are transferable\n\n5. **Trust auto-sanitization**\n   - Operator structure fixed automatically\n   - Don't manually add/remove singleValue\n   - IF/Switch metadata added on save\n\n### ❌ Don't\n\n1. **Jump to detail=\"full\" immediately**\n   - Try standard detail first\n   - Only escalate if needed\n   - Full schema is 3-8K tokens\n\n2. **Configure blindly**\n   - Always validate before deploying\n   - Understand why fields are required\n   - Use search_properties for conditional fields\n\n3. **Copy configs without understanding**\n   - Different operations need different fields\n   - Validate after copying\n   - Adjust for new context\n\n4. **Manually fix auto-sanitization issues**\n   - Let auto-sanitization handle operator structure\n   - Focus on business logic\n   - Save and let system fix structure\n\n---\n\n## Detailed References\n\nFor comprehensive guides on specific topics:\n\n- **DEPENDENCIES.md** - Deep dive into property dependencies and displayOptions\n- **OPERATION_PATTERNS.md** - Common configuration patterns by node type\n\n---\n\n## Summary\n\n**Configuration Strategy**:\n1. Start with `get_node` (standard detail is default)\n2. Configure required fields for operation\n3. Validate configuration\n4. Search properties if stuck\n5. Iterate until valid (avg 2-3 cycles)\n6. Deploy with confidence\n\n**Key Principles**:\n- **Operation-aware**: Different operations = different requirements\n- **Progressive disclosure**: Start minimal, add as needed\n- **Dependency-aware**: Understand field visibility rules\n- **Validation-driven**: Let validation guide configuration\n\n**Related Skills**:\n- **n8n MCP Tools Expert** - How to use discovery tools correctly\n- **n8n Validation Expert** - Interpret validation errors\n- **n8n Expression Syntax** - Configure expression fields\n- **n8n Workflow Patterns** - Apply patterns with proper configuration\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["n8n","node","configuration","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-n8n-node-configuration","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/n8n-node-configuration","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34666 github stars · SKILL.md body (16,656 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T06:51:36.952Z","embedding":null,"createdAt":"2026-04-18T21:41:13.664Z","updatedAt":"2026-04-23T06:51:36.952Z","lastSeenAt":"2026-04-23T06:51:36.952Z","tsv":"'-2':128,283,531,1416 '-3':1437,1647 '-8':329,564,1530 '/create':429,459,487 '/users':1050,1077 '1':127,145,274,282,343,389,530,684,821,849,1170,1408,1415,1512,1618 '100':1067 '10000':1292 '123':189 '1234567890':1002 '2':212,296,349,401,702,852,870,1183,1428,1436,1533,1627,1646 '20':1295 '3':266,319,328,357,420,563,732,855,901,1204,1445,1529,1551,1633 '4':361,433,865,936,1470,1568,1636 '5':364,449,1491,1641 '56':115 '6':373,465,1649 '7':379,478 '8':382,501 '95':122,293,542,1421 'activ':1112 'ad':1134,1278,1507 'add':97,374,450,1308,1666 'add/remove':1503 'adjust':1564 'airtabl':828 'alway':154,1478,1536 'anti':1268 'anti-pattern':1267 'api':399 'api.example.com':233,248,428,458,486,1049,1076 'api.example.com/create':427,457,485 'api.example.com/users':1048,1075 'appear':700,1226 'appear/disappear':216 'appli':1710 'architectur':90 'ask':1748 'assum':1487 'attach':720,990 'auth':315,598 'authent':417,430,460,488,601,883,896,1051,1078,1306 'auto':1133,1245,1494,1572,1577 'auto-ad':1132 'auto-sanit':1244,1493,1571,1576 'automat':1499 'avail':891 'averag':117,1435 'avg':1645 'awar':7,43,148,1657,1671 'bad':1276,1317,1353 'base':217,873 'best':102,1405 'binari':952,955,1103,1113 'blind':1535 'block':992 'bodi':241,253,316,416,472,492,603,658,668,694,698,775,780,894,1085,1143,1145,1152,1177,1196,1198,1212 'boolean':685,748 'boundari':1756 'busi':1584 'care':1444 'case':125 'chang':1378,1391,1483 'channel':171,199,718,984,1010,1017,1020,1026,1365,1379,1404 'check':1117,1250,1388,1479 'choos':21,74,850,853 'clarif':1750 'clear':1723 'common':29,288,536,680,817,1609 'comparison':1102 'complet':324,479,567,788,798,1259 'complex':98 'comprehens':1595 'concept':144 'condit':738,937,946,1105,1120,1138,1549 'confid':1652 'config':422,440,611,1207,1325,1337,1356,1373,1488,1553 'configur':4,9,13,30,37,45,55,91,101,119,135,149,339,358,363,385,480,518,544,622,848,866,973,1266,1274,1319,1423,1431,1534,1610,1616,1628,1635,1682,1704,1714 'const':406,1324,1336,1338 'contain':743,958 'content':260,495,1092 'contenttyp':258,493,1090 'context':1352,1473,1567 'continu':626,636 'control':263,693,1461 'copi':1552,1563 'core':143 'correct':59,1694 'cover':121,292,1420 'creat':1016,1022 'credenti':898 'criteria':1759 'cycl':1648 'databas':902 'decis':606 'deep':648,1601 'default':279,356,514,528,1425,1626 'delet':914,1164 'depend':17,48,72,157,214,647,681,758,888,919,954,1605,1670 'dependencies.md':1600 'dependency-awar':1669 'deploy':383,1321,1335,1539,1650 'describ':1727 'descript':782 'detail':25,79,107,139,272,277,322,336,354,510,513,524,547,560,640,644,786,795,1256,1414,1426,1515,1520,1592,1624 'determin':18,207 'differ':193,709,711,729,754,1004,1474,1476,1556,1559,1658,1660 'disclosur':94,1663 'discov':1167 'discoveri':113,268,1692 'displayopt':262,650,659,801,1201,1607 'dive':649,1602 'doe':1095 'doesn':238 'driven':1678 'edit':120 'email':498,1096 'empti':1116 'enough':554 'environ':1739 'environment-specif':1738 'equal':750,957,1110 'error':443,471,1173,1176,1443,1700 'escal':1523 'etc':318,605,721,959 'everi':1279 'exampl':160,222,384,687,705,735,824,875,904,940,976,1041,1100,1140,1219 'executequeri':921 'expert':38,1688,1697,1744 'express':1702,1705 'fail':807 'fals':1029,1241,1286,1288,1290,1294 'field':20,70,152,209,215,220,264,287,306,360,366,376,452,535,588,604,630,652,669,699,712,730,814,845,868,887,918,1146,1281,1298,1309,1382,1453,1462,1542,1550,1560,1630,1673,1706 'final':502 'find':304,307,600,756 'first':291,1521 'fix':1247,1433,1498,1570,1590 'focus':1582 'full':141,323,546,561,645,785,796,1257,1516,1526 'general':172,985,1011,1366,1380 'get':23,77,104,229,231,237,275,297,320,351,368,402,408,508,520,556,590,613,642,760,767,791,857,1042,1046,1188,1252,1283,1304,1393,1411,1464,1480,1621 'goal':395 'good':1242,1299,1331,1386 'googl':826 'guid':1596,1681 'guidanc':10,39 'handl':1137,1579 'header':317,602 'hello':177,988 'http':223,386,688,872,876,1038,1141 'http-base':871 'httpheaderauth':1054 'identifi':344,390 'if/switch':1505 'ignor':1350 'ignoreresponsecod':1293 'immedi':1517 'infer':1015 'info':404,407 'input':1753 'insert':912,925 'insight':133 'insuffici':338,581 'interpret':1698 'involv':68 'isempti':964,1125,1238 'isn':552 'isnotempti':965,1239 'ispriv':1028 'issu':1574 'iter':1209,1430,1438,1642 'javascript':163,226,394,405,423,435,453,468,481,504,519,555,589,656,691,708,739,766,790,830,880,909,945,979,996,1018,1044,1071,1104,1119,1168,1251,1277,1300,1318,1332,1354,1387 'john':1094 'john@example.com':1097 'json':259,397,494,1070,1091 'json.email':499,1123 'json.name':497 'json.status':1108 'jump':1513 'k':129,284,330,532,565,1417,1531 'key':132,204,1653 'larg':575 'learn':28 'let':1575,1588,1679 'level':26,80,273,511,1427 'limit':1065,1715 'list':539 'logic':938,1585 'look':313,585,627 'manual':1249,1502,1569 'match':779,1724 'mcp':1686 'mechan':261,651 'merg':943 'messag':168,185,714,723,978,981,995,998,1362,1375 'messageid':188,727,1001,1402 'metadata':540,1506 'method':228,230,243,245,413,424,454,482,663,675,881,885,1045,1072,1159,1282,1303 'method-specif':884 'minim':96,421,1206,1302,1665 'miss':1455,1761 'missing/required':816 'mode':299,370,584,594,634,765,771,1192,1449,1466 'mongodb':907 'mysql':906 'n8n':2,35,57,1326,1344,1685,1695,1701,1707 'n8n-node-configuration':1 'name':310,496,657,1023,1064,1093 'need':53,100,136,295,378,393,545,620,638,1114,1218,1312,1401,1424,1525,1558,1668 'nest':572 'new':609,1025,1566 'new-channel':1024 'news':1243 'node':3,8,14,24,33,36,44,58,78,84,105,162,225,276,298,321,345,352,369,403,409,437,470,506,509,521,557,591,610,614,643,737,761,768,792,818,823,858,874,903,939,975,1040,1099,1175,1189,1221,1253,1341,1394,1412,1465,1481,1613,1622 'nodecredentialtyp':1053 'nodes-base.httprequest':411,439,593,770,794,1191 'nodes-base.if':1255 'nodes-base.slack':523,559,1396 'nodetyp':410,438,522,558,592,769,793,1190,1254,1395 'none':431,461,489,897,1079,1307 'normal':1440 'note':1031 'oper':6,42,65,147,159,165,169,182,186,206,348,538,703,710,715,724,742,749,755,836,843,854,862,910,916,920,924,929,947,953,956,963,971,982,999,1021,1037,1109,1124,1129,1229,1236,1263,1351,1360,1363,1370,1376,1392,1400,1472,1475,1484,1496,1557,1580,1632,1656,1659 'operation-awar':5,41,146,1655 'operation-specif':842,861,915,970 'operation_patterns.md':1608 'operator-specif':1262 'option':289,375,537,573,991,993,1012,1030,1057,1169,1182,1203,1297 'output':1733 'over-configur':1272 'overal':88 'overview':281 'paramet':1063 'partial':1328,1346 'patch':666,679,1163 'path':778 'pattern':31,114,682,683,701,731,819,820,869,900,935,1269,1611,1709,1711 'permiss':1754 'philosophi':92 'possibl':1280 'post':166,170,175,180,244,246,396,425,447,455,483,664,676,716,977,983,1006,1068,1073,1084,1161,1364 'post/put/patch':889 'postgr':905 'practic':103,1406 'predefinedcredentialtyp':1052 'principl':1654 'process':342 'profil':441 'progress':93,267,1662 'proper':1713 'properti':16,47,71,213,301,308,327,372,570,583,596,633,646,757,764,773,777,1187,1194,1199,1225,1448,1468,1547,1604,1638 'propertyqueri':302,597,774,1195,1469 'put':665,677,1162 'queri':911,922 'queryparamet':1058 'quick':280 'rather':86 'read':1171,1441 'refer':1593 'relat':1683 'repeat':1434 'request':224,387,689,877,1039,1043,1142 'requir':19,69,155,173,178,190,196,201,211,254,286,359,445,451,473,534,864,867,895,899,923,928,934,986,989,1003,1009,1027,1034,1082,1086,1139,1147,1154,1178,1389,1477,1544,1629,1661,1752 'required/optional':418 'resourc':63,167,184,205,713,722,831,851,980,997,1019,1361,1374 'resource/operation':707,822 'respect':1471 'respons':131,576,1419 'result':1339 'result.valid':1343 'return':412,529,562,776,797 'review':1745 'right':76,271 'rule':655,802,1151,1202,1230,1265,1675 'runtim':442 'safeti':1755 'sanit':1136,1246,1495,1573,1578 'save':1509,1586 'scenario':1144,1223 'schema':142,325,568,789,799,1260,1527 'scope':1726 'search':300,371,582,595,632,763,772,1184,1193,1447,1456,1467,1546,1637 'second':116 'see':860,1397 'seem':1454 'select':734 'sendbodi':234,249,256,415,444,462,475,490,661,672,690,692,696,890,892,1080,1088,1156,1180,1289 'sendhead':1287 'sendqueri':1055,1061,1285 'setup':85 'sheet':827 'show':660,670,717,726,744,751,1059,1197,1258 'shown':236 'singlevalu':968,1130,1222,1224,1231,1504 'skill':1684,1718 'skill-n8n-node-configuration' 'skip':1315 'slack':161,706,825,974,1359 'sometim':1150 'source-sickn33' 'spare':549 'specif':62,305,587,629,844,863,886,917,972,1264,1598,1740 'standard':108,138,278,335,341,353,512,525,551,580,615,616,1413,1519,1623 'start':95,517,608,1210,1301,1409,1619,1664 'step':388,400,419,432,448,464,477,500 'still':637 'stop':1746 'strategi':1617 'string':741,1101,1106,1121 'structur':829,879,908,944,1497,1581,1591 'stuck':1451,1640 'substitut':1736 'success':1758 'summari':1615 'switch':704,942,1369 'syntax':1703 'system':1589 'tabl':926,931 'task':67,1722 'tell':1215 'test':1742 'text':176,194,719,728,987,1007,1032,1367,1385 'thing':835 'timeout':1291 'toggl':686 'token':130,285,331,533,566,1418,1532 'tool':1687,1693 'topic':1599 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'transfer':1490 'translat':667 'treat':1731 'tree':607 'tri':1205,1518 'troubleshoot':83 'true':250,257,463,476,491,662,673,697,893,969,1056,1062,1081,1089,1131,1157,1181,1234,1240 'trust':1492 'type':34,346,733,740,747,833,1614 'unari':962,1118,1128,1228 'unclear':367 'understand':15,812,1459,1540,1555,1672 'updat':183,187,192,195,198,203,725,913,930,994,1000,1008,1327,1345,1372,1377,1384,1399 'upfront':1275 'url':232,247,414,426,456,484,882,1047,1074,1284,1305 'use':11,51,112,124,269,290,311,332,350,515,541,548,577,599,759,784,803,856,1446,1545,1691,1716 'valid':362,380,434,436,466,469,503,505,507,806,1172,1174,1213,1316,1323,1333,1340,1429,1432,1442,1537,1561,1634,1644,1677,1680,1696,1699,1741 'validation-driven':1676 'valu':221,927,932,1066 'value1':745,752,948,960,966,1107,1122 'value2':746,753,949,961,1111,1115,1127 'visibl':252,265,654,695,1463,1674 'warn':574 'webhook':878 'without':1211,1322,1371,1554 'workflow':89,340,1329,1347,1708 'wrong':1381 'yes':612,621,631,641 'yolo':1330","prices":[{"id":"eac04056-8dcd-4fef-9902-f15fdc7c8779","listingId":"397ad13d-cc44-41ec-9ef1-4761642e9a3e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:41:13.664Z"}],"sources":[{"listingId":"397ad13d-cc44-41ec-9ef1-4761642e9a3e","source":"github","sourceId":"sickn33/antigravity-awesome-skills/n8n-node-configuration","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/n8n-node-configuration","isPrimary":false,"firstSeenAt":"2026-04-18T21:41:13.664Z","lastSeenAt":"2026-04-23T06:51:36.952Z"}],"details":{"listingId":"397ad13d-cc44-41ec-9ef1-4761642e9a3e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"n8n-node-configuration","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34666,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-23T06:41:03Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"4809892b0fed4bc80c32a54ec58ee8a94ee32a05","skill_md_path":"skills/n8n-node-configuration/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/n8n-node-configuration"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"n8n-node-configuration","description":"Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between get_node detail levels, or learning common configuration patterns by node type."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/n8n-node-configuration"},"updatedAt":"2026-04-23T06:51:36.952Z"}}