[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F8CDGCBCM47YA54J7EN3CX":3,"skill-same:01M6F8CDGCBCM47YA54J7EN3CX":84},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":66,"ownerHtmlUrl":67,"ownerBlogUrl":6,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6F8CDGCBCM47YA54J7EN3CX","clay-hello-world",null,"Send your first record to Clay and get enriched data back.\nUse when starting a new Clay integration, testing webhook setup,\nor verifying that enrichment columns are working.\nTrigger with phrases like \"clay hello world\", \"clay example\",\n\"clay quick start\", \"first clay enrichment\", \"test clay webhook\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclay-hello-world\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"hello world","hello","clay","world","clay hello world","quick","testing","quick start","io","webhook","get","back","edit","write","read","node","Bash","api","start","code","2026-11-10 10:12:30",false,"---\nname: clay-hello-world\ndescription: |\n  Send your first record to Clay and get enriched data back.\n  Use when starting a new Clay integration, testing webhook setup,\n  or verifying that enrichment columns are working.\n  Trigger with phrases like \"clay hello world\", \"clay example\",\n  \"clay quick start\", \"first clay enrichment\", \"test clay webhook\".\nallowed-tools: Read, Write, Edit, Bash(curl:*), Bash(node:*)\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\ntags: [saas, clay, api, testing]\n\n---\n# Clay Hello World\n\n## Overview\n\nMinimal working example: send a company domain to a Clay table via webhook, let Clay's enrichment columns fill in company data, and retrieve the enriched result. Clay does not have a traditional SDK — you interact with it via webhooks (data in), HTTP API columns (data out), and the web UI.\n\n## Prerequisites\n\n- Completed `clay-install-auth` setup\n- Clay workbook with a webhook source configured\n- At least one enrichment column added to the table\n\n## Instructions\n\n### Step 1: Create a Clay Table with Enrichment\n\nIn the Clay web UI:\n\n1. Create a new workbook\n2. Add columns: `domain`, `company_name`, `employee_count`, `industry`\n3. Click **+ Add** at bottom, select **Webhooks > Monitor webhook**\n4. Copy the webhook URL\n5. Add an enrichment column: **+ Add Column > Enrich Company** (uses the `domain` column as input)\n\n### Step 2: Send Your First Record via Webhook\n\n```bash\n# Send a single company domain to your Clay table\ncurl -X POST \"https:\u002F\u002Fapp.clay.com\u002Fapi\u002Fv1\u002Fwebhooks\u002FYOUR_WEBHOOK_ID\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"domain\": \"openai.com\"}'\n```\n\nWithin seconds, Clay creates a new row and auto-runs the enrichment column. The `company_name`, `employee_count`, and `industry` columns fill in automatically.\n\n### Step 3: Send Multiple Records\n\n```bash\n# Batch send — each object becomes a row\nfor domain in stripe.com notion.so figma.com linear.app; do\n  curl -s -X POST \"https:\u002F\u002Fapp.clay.com\u002Fapi\u002Fv1\u002Fwebhooks\u002FYOUR_WEBHOOK_ID\" \\\n    -H \"Content-Type: application\u002Fjson\" \\\n    -d \"{\\\"domain\\\": \\\"$domain\\\"}\"\n  echo \" -> Sent $domain\"\ndone\n```\n\n### Step 4: Send from Node.js\n\n```typescript\n\u002F\u002F hello-clay.ts — send records to Clay via webhook\nconst CLAY_WEBHOOK_URL = process.env.CLAY_WEBHOOK_URL!;\n\ninterface LeadInput {\n  email?: string;\n  domain?: string;\n  first_name?: string;\n  last_name?: string;\n  linkedin_url?: string;\n}\n\nasync function sendToClay(lead: LeadInput): Promise\u003CResponse> {\n  const response = await fetch(CLAY_WEBHOOK_URL, {\n    method: 'POST',\n    headers: { 'Content-Type': 'application\u002Fjson' },\n    body: JSON.stringify(lead),\n  });\n\n  if (!response.ok) {\n    throw new Error(`Clay webhook failed: ${response.status} ${response.statusText}`);\n  }\n  return response;\n}\n\n\u002F\u002F Send a test lead\nawait sendToClay({\n  email: 'jane@stripe.com',\n  first_name: 'Jane',\n  last_name: 'Doe',\n  domain: 'stripe.com',\n});\nconsole.log('Record sent to Clay — check your table for enriched data.');\n```\n\n### Step 5: Send from Python\n\n```python\nimport requests\nimport os\n\nCLAY_WEBHOOK_URL = os.environ[\"CLAY_WEBHOOK_URL\"]\n\ndef send_to_clay(lead: dict) -> requests.Response:\n    \"\"\"Send a lead record to a Clay table via webhook.\"\"\"\n    response = requests.post(\n        CLAY_WEBHOOK_URL,\n        json=lead,\n        headers={\"Content-Type\": \"application\u002Fjson\"},\n    )\n    response.raise_for_status()\n    return response\n\n# Test it\nsend_to_clay({\n    \"email\": \"jane@stripe.com\",\n    \"first_name\": \"Jane\",\n    \"last_name\": \"Doe\",\n    \"domain\": \"stripe.com\",\n})\nprint(\"Record sent to Clay — check your table for enriched data.\")\n```\n\n## Error Handling\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `404 Not Found` | Invalid webhook URL | Re-copy URL from Clay table settings |\n| `422 Unprocessable` | Invalid JSON payload | Validate JSON structure before sending |\n| Row appears but no enrichment | Enrichment column not configured | Add enrichment column in Clay UI, enable auto-run |\n| `429 Too Many Requests` | Exceeded webhook rate limit | Add 100ms delay between requests |\n| Webhook limit reached (50K) | Webhook exhausted | Create a new webhook source on the table |\n\n## Output\n\n- New row(s) visible in your Clay table\n- Enrichment columns auto-populated with company\u002Fperson data\n- Console confirmation of successful webhook delivery\n\n## Resources\n\n- [Clay University — Webhook Integration Guide](https:\u002F\u002Funiversity.clay.com\u002Fdocs\u002Fwebhook-integration-guide)\n- [Clay University — Using Clay as an API](https:\u002F\u002Fwww.clay.com\u002Funiversity\u002Fguide\u002Fusing-clay-as-an-api)\n\n## Next Steps\n\nProceed to `clay-local-dev-loop` for iterating on enrichment workflows locally.\n\n","# Clay Hello World\n\n## Overview\n\nMinimal working example: send a company domain to a Clay table via webhook, let Clay's enrichment columns fill in company data, and retrieve the enriched result. Clay does not have a traditional SDK — you interact with it via webhooks (data in), HTTP API columns (data out), and the web UI.\n\n## Prerequisites\n\n- Completed `clay-install-auth` setup\n- Clay workbook with a webhook source configured\n- At least one enrichment column added to the table\n\n## Instructions\n\n### Step 1: Create a Clay Table with Enrichment\n\nIn the Clay web UI:\n\n1. Create a new workbook\n2. Add columns: `domain`, `company_name`, `employee_count`, `industry`\n3. Click **+ Add** at bottom, select **Webhooks > Monitor webhook**\n4. Copy the webhook URL\n5. Add an enrichment column: **+ Add Column > Enrich Company** (uses the `domain` column as input)\n\n### Step 2: Send Your First Record via Webhook\n\n```bash\n# Send a single company domain to your Clay table\ncurl -X POST \"https:\u002F\u002Fapp.clay.com\u002Fapi\u002Fv1\u002Fwebhooks\u002FYOUR_WEBHOOK_ID\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"domain\": \"openai.com\"}'\n```\n\nWithin seconds, Clay creates a new row and auto-runs the enrichment column. The `company_name`, `employee_count`, and `industry` columns fill in automatically.\n\n### Step 3: Send Multiple Records\n\n```bash\n# Batch send — each object becomes a row\nfor domain in stripe.com notion.so figma.com linear.app; do\n  curl -s -X POST \"https:\u002F\u002Fapp.clay.com\u002Fapi\u002Fv1\u002Fwebhooks\u002FYOUR_WEBHOOK_ID\" \\\n    -H \"Content-Type: application\u002Fjson\" \\\n    -d \"{\\\"domain\\\": \\\"$domain\\\"}\"\n  echo \" -> Sent $domain\"\ndone\n```\n\n### Step 4: Send from Node.js\n\n```typescript\n\u002F\u002F hello-clay.ts — send records to Clay via webhook\nconst CLAY_WEBHOOK_URL = process.env.CLAY_WEBHOOK_URL!;\n\ninterface LeadInput {\n  email?: string;\n  domain?: string;\n  first_name?: string;\n  last_name?: string;\n  linkedin_url?: string;\n}\n\nasync function sendToClay(lead: LeadInput): Promise\u003CResponse> {\n  const response = await fetch(CLAY_WEBHOOK_URL, {\n    method: 'POST',\n    headers: { 'Content-Type': 'application\u002Fjson' },\n    body: JSON.stringify(lead),\n  });\n\n  if (!response.ok) {\n    throw new Error(`Clay webhook failed: ${response.status} ${response.statusText}`);\n  }\n  return response;\n}\n\n\u002F\u002F Send a test lead\nawait sendToClay({\n  email: 'jane@stripe.com',\n  first_name: 'Jane',\n  last_name: 'Doe',\n  domain: 'stripe.com',\n});\nconsole.log('Record sent to Clay — check your table for enriched data.');\n```\n\n### Step 5: Send from Python\n\n```python\nimport requests\nimport os\n\nCLAY_WEBHOOK_URL = os.environ[\"CLAY_WEBHOOK_URL\"]\n\ndef send_to_clay(lead: dict) -> requests.Response:\n    \"\"\"Send a lead record to a Clay table via webhook.\"\"\"\n    response = requests.post(\n        CLAY_WEBHOOK_URL,\n        json=lead,\n        headers={\"Content-Type\": \"application\u002Fjson\"},\n    )\n    response.raise_for_status()\n    return response\n\n# Test it\nsend_to_clay({\n    \"email\": \"jane@stripe.com\",\n    \"first_name\": \"Jane\",\n    \"last_name\": \"Doe\",\n    \"domain\": \"stripe.com\",\n})\nprint(\"Record sent to Clay — check your table for enriched data.\")\n```\n\n## Error Handling\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `404 Not Found` | Invalid webhook URL | Re-copy URL from Clay table settings |\n| `422 Unprocessable` | Invalid JSON payload | Validate JSON structure before sending |\n| Row appears but no enrichment | Enrichment column not configured | Add enrichment column in Clay UI, enable auto-run |\n| `429 Too Many Requests` | Exceeded webhook rate limit | Add 100ms delay between requests |\n| Webhook limit reached (50K) | Webhook exhausted | Create a new webhook source on the table |\n\n## Output\n\n- New row(s) visible in your Clay table\n- Enrichment columns auto-populated with company\u002Fperson data\n- Console confirmation of successful webhook delivery\n\n## Resources\n\n- [Clay University — Webhook Integration Guide](https:\u002F\u002Funiversity.clay.com\u002Fdocs\u002Fwebhook-integration-guide)\n- [Clay University — Using Clay as an API](https:\u002F\u002Fwww.clay.com\u002Funiversity\u002Fguide\u002Fusing-clay-as-an-api)\n\n## Next Steps\n\nProceed to `clay-local-dev-loop` for iterating on enrichment workflows locally.\n\n",{"name":5,"tags":54,"author":56,"license":15,"version":57,"description":58,"allowed-tools":59,"compatible-with":60},[55,31,46,35],"saas","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Send your first record to Clay and get enriched data back.\nUse when starting a new Clay integration, testing webhook setup,\nor verifying that enrichment columns are working.\nTrigger with phrases like \"clay hello world\", \"clay example\",\n\"clay quick start\", \"first clay enrichment\", \"test clay webhook\".\n","Read, Write, Edit, Bash(curl:*), Bash(node:*)","claude-code, codex, openclaw","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclay-hello-world",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill clay-hello-world",{"tool":76,"command":77},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill clay-hello-world",{"tool":79,"command":80},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill clay-hello-world","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fclay-hello-world\u002FSKILL.md",true,[],[85,97,107,116,122,129],{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":93,"publishedAt":49},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[90],{"categoryNo":91,"categoryName":92,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[94,95,96],"model","model hierarchy","model hierarchy skill",{"skillNo":98,"name":99,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":103,"publishedAt":49},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[102],{"categoryNo":91,"categoryName":92,"taxonomyType":21,"taxonomyTypeDesc":22},[104,105,106],"MCP","zoom","zoom mcp",{"skillNo":108,"name":109,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":49},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[113,114,115,105],"sdk","zoom apps sdk","apps",{"skillNo":117,"name":118,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":49},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[118],{"skillNo":123,"name":124,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":128,"publishedAt":49},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[127],{"categoryNo":91,"categoryName":92,"taxonomyType":21,"taxonomyTypeDesc":22},[124],{"skillNo":130,"name":131,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":49},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[131]]