[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PYFQY8SWVFWR79XMTHNPB9":3,"skill-same:01M6PYFQY8SWVFWR79XMTHNPB9":79},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":30,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6PYFQY8SWVFWR79XMTHNPB9","brevo",null,"Brevo (formerly Sendinblue) email marketing API for managing contacts, lists, sending transactional emails, and campaigns. Use when importing contacts, sending emails, managing subscriptions, or working with email automation.","Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F工作流自动化\u002Fbrevo\u002FSKILL.md",[17,22,25],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000005","邮件与沟通","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000019","营销推广",{"categoryNo":26,"categoryName":27,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000035","市场营销","PROFESSION","适用职业",[5,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"automation","email","api","marketing","use","subscriptions","campaigns","emails","transactional emails","with","Email Marketing","transactional","contacts","for","2026-11-10 10:12:30",false,"---\nname: brevo\nversion: 1.0.0\ndescription: Brevo (formerly Sendinblue) email marketing API for managing contacts, lists, sending transactional emails, and campaigns. Use when importing contacts, sending emails, managing subscriptions, or working with email automation.\n---\n\n# Brevo Email Marketing API\n\nManage contacts, send emails, and automate marketing via Brevo's REST API.\n\n## Authentication\n\n```bash\nBREVO_KEY=$(cat ~\u002F.config\u002Fbrevo\u002Fapi_key)\n```\n\nAll requests require header: `api-key: $BREVO_KEY`\n\n## Base URL\n\n```\nhttps:\u002F\u002Fapi.brevo.com\u002Fv3\n```\n\n## Common Endpoints\n\n### Contacts\n\n| Action | Method | Endpoint |\n|--------|--------|----------|\n| Create contact | POST | `\u002Fcontacts` |\n| Get contact | GET | `\u002Fcontacts\u002F{email}` |\n| Update contact | PUT | `\u002Fcontacts\u002F{email}` |\n| Delete contact | DELETE | `\u002Fcontacts\u002F{email}` |\n| List contacts | GET | `\u002Fcontacts?limit=50&offset=0` |\n| Get blacklisted | GET | `\u002Fcontacts?emailBlacklisted=true` |\n\n### Lists\n\n| Action | Method | Endpoint |\n|--------|--------|----------|\n| Get all lists | GET | `\u002Fcontacts\u002Flists` |\n| Create list | POST | `\u002Fcontacts\u002Flists` |\n| Get list contacts | GET | `\u002Fcontacts\u002Flists\u002F{listId}\u002Fcontacts` |\n| Add to list | POST | `\u002Fcontacts\u002Flists\u002F{listId}\u002Fcontacts\u002Fadd` |\n| Remove from list | POST | `\u002Fcontacts\u002Flists\u002F{listId}\u002Fcontacts\u002Fremove` |\n\n### Emails\n\n| Action | Method | Endpoint |\n|--------|--------|----------|\n| Send transactional | POST | `\u002Fsmtp\u002Femail` |\n| Send campaign | POST | `\u002FemailCampaigns` |\n| Get templates | GET | `\u002Fsmtp\u002Ftemplates` |\n\n## Examples\n\n### Create\u002FUpdate Contact\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"email\": \"user@example.com\",\n    \"listIds\": [10],\n    \"updateEnabled\": true,\n    \"attributes\": {\n      \"NOMBRE\": \"John\",\n      \"APELLIDOS\": \"Doe\"\n    }\n  }'\n```\n\n### Get Contact Info\n\n```bash\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Fuser@example.com\" \\\n  -H \"api-key: $BREVO_KEY\"\n```\n\n### Update Contact Attributes\n\n```bash\ncurl -X PUT \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Fuser@example.com\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"listIds\": [10, 15],\n    \"attributes\": {\n      \"CUSTOM_FIELD\": \"value\"\n    }\n  }'\n```\n\n### Send Transactional Email\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fsmtp\u002Femail\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"sender\": {\"name\": \"My App\", \"email\": \"noreply@example.com\"},\n    \"to\": [{\"email\": \"user@example.com\", \"name\": \"John\"}],\n    \"subject\": \"Welcome!\",\n    \"htmlContent\": \"\u003Cp>Hello {{params.name}}\u003C\u002Fp>\",\n    \"params\": {\"name\": \"John\"}\n  }'\n```\n\n### Send with Template\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fsmtp\u002Femail\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"to\": [{\"email\": \"user@example.com\"}],\n    \"templateId\": 34,\n    \"params\": {\n      \"NOMBRE\": \"John\",\n      \"FECHA\": \"2026-02-01\"\n    }\n  }'\n```\n\n### List All Contact Lists\n\n```bash\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Flists?limit=50\" \\\n  -H \"api-key: $BREVO_KEY\"\n```\n\n### Add Contacts to List (Bulk)\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Flists\u002F10\u002Fcontacts\u002Fadd\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"emails\": [\"user1@example.com\", \"user2@example.com\"]\n  }'\n```\n\n## Safe Import Pattern\n\nWhen importing contacts, **always respect unsubscribes**:\n\n```python\nimport requests\n\nBREVO_KEY = \"your-api-key\"\nHEADERS = {'api-key': BREVO_KEY, 'Content-Type': 'application\u002Fjson'}\nBASE = 'https:\u002F\u002Fapi.brevo.com\u002Fv3'\n\ndef get_blacklisted():\n    \"\"\"Get all unsubscribed\u002Fblacklisted emails\"\"\"\n    blacklisted = set()\n    offset = 0\n    while True:\n        r = requests.get(\n            f'{BASE}\u002Fcontacts?limit=100&offset={offset}&emailBlacklisted=true',\n            headers=HEADERS\n        )\n        contacts = r.json().get('contacts', [])\n        if not contacts:\n            break\n        for c in contacts:\n            blacklisted.add(c['email'].lower())\n        offset += 100\n    return blacklisted\n\ndef safe_import(emails, list_id):\n    \"\"\"Import contacts respecting unsubscribes\"\"\"\n    blacklisted = get_blacklisted()\n    \n    for email in emails:\n        if email.lower() in blacklisted:\n            print(f\"Skipped (unsubscribed): {email}\")\n            continue\n        \n        r = requests.post(f'{BASE}\u002Fcontacts', headers=HEADERS, json={\n            'email': email,\n            'listIds': [list_id],\n            'updateEnabled': True\n        })\n        \n        if r.status_code in [200, 201, 204]:\n            print(f\"Imported: {email}\")\n        else:\n            print(f\"Error: {email} - {r.text[:50]}\")\n```\n\n## Contact Attributes\n\nBrevo uses custom attributes for contact data:\n\n```json\n{\n  \"attributes\": {\n    \"NOMBRE\": \"John\",\n    \"APELLIDOS\": \"Doe\",\n    \"FECHA_ALTA\": \"2026-01-15\",\n    \"PLAN\": \"premium\",\n    \"CUSTOM_FIELD\": \"any value\"\n  }\n}\n```\n\nCreate attributes in Brevo dashboard: Contacts → Settings → Contact attributes.\n\n## Response Codes\n\n| Code | Meaning |\n|------|---------|\n| 200 | Success (GET) |\n| 201 | Created (POST) |\n| 204 | Success, no content (PUT\u002FDELETE) |\n| 400 | Bad request (check payload) |\n| 401 | Invalid API key |\n| 404 | Contact\u002Fresource not found |\n\n## Best Practices\n\n1. **Always check blacklist** before importing contacts\n2. **Use `updateEnabled: true`** to update existing contacts instead of failing\n3. **Use templates** for consistent transactional emails\n4. **Batch operations** when adding many contacts to lists\n5. **Store list IDs** in config, not hardcoded\n6. **Log imports** for audit trail\n\n## Automations\n\nBrevo automations trigger on:\n- Contact added to list\n- Contact attribute updated\n- Email opened\u002Fclicked\n- Custom events via API\n\nTrigger automation manually:\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Fimport\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"listIds\": [10],\n    \"emailBlacklist\": false,\n    \"updateExistingContacts\": true,\n    \"emptyContactsAttributes\": false,\n    \"jsonBody\": [\n      {\"email\": \"user@example.com\", \"attributes\": {\"NOMBRE\": \"John\"}}\n    ]\n  }'\n```\n\n## Useful Queries\n\n```bash\n# Count contacts in list\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Flists\u002F10\" -H \"api-key: $BREVO_KEY\" | jq '.totalSubscribers'\n\n# Get recent contacts\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts?limit=10&sort=desc\" -H \"api-key: $BREVO_KEY\"\n\n# Check if email exists\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Fuser@example.com\" -H \"api-key: $BREVO_KEY\"\n\n# Get account info\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Faccount\" -H \"api-key: $BREVO_KEY\"\n```\n","# Brevo Email Marketing API\n\nManage contacts, send emails, and automate marketing via Brevo's REST API.\n\n## Authentication\n\n```bash\nBREVO_KEY=$(cat ~\u002F.config\u002Fbrevo\u002Fapi_key)\n```\n\nAll requests require header: `api-key: $BREVO_KEY`\n\n## Base URL\n\n```\nhttps:\u002F\u002Fapi.brevo.com\u002Fv3\n```\n\n## Common Endpoints\n\n### Contacts\n\n| Action | Method | Endpoint |\n|--------|--------|----------|\n| Create contact | POST | `\u002Fcontacts` |\n| Get contact | GET | `\u002Fcontacts\u002F{email}` |\n| Update contact | PUT | `\u002Fcontacts\u002F{email}` |\n| Delete contact | DELETE | `\u002Fcontacts\u002F{email}` |\n| List contacts | GET | `\u002Fcontacts?limit=50&offset=0` |\n| Get blacklisted | GET | `\u002Fcontacts?emailBlacklisted=true` |\n\n### Lists\n\n| Action | Method | Endpoint |\n|--------|--------|----------|\n| Get all lists | GET | `\u002Fcontacts\u002Flists` |\n| Create list | POST | `\u002Fcontacts\u002Flists` |\n| Get list contacts | GET | `\u002Fcontacts\u002Flists\u002F{listId}\u002Fcontacts` |\n| Add to list | POST | `\u002Fcontacts\u002Flists\u002F{listId}\u002Fcontacts\u002Fadd` |\n| Remove from list | POST | `\u002Fcontacts\u002Flists\u002F{listId}\u002Fcontacts\u002Fremove` |\n\n### Emails\n\n| Action | Method | Endpoint |\n|--------|--------|----------|\n| Send transactional | POST | `\u002Fsmtp\u002Femail` |\n| Send campaign | POST | `\u002FemailCampaigns` |\n| Get templates | GET | `\u002Fsmtp\u002Ftemplates` |\n\n## Examples\n\n### Create\u002FUpdate Contact\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"email\": \"user@example.com\",\n    \"listIds\": [10],\n    \"updateEnabled\": true,\n    \"attributes\": {\n      \"NOMBRE\": \"John\",\n      \"APELLIDOS\": \"Doe\"\n    }\n  }'\n```\n\n### Get Contact Info\n\n```bash\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Fuser@example.com\" \\\n  -H \"api-key: $BREVO_KEY\"\n```\n\n### Update Contact Attributes\n\n```bash\ncurl -X PUT \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Fuser@example.com\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"listIds\": [10, 15],\n    \"attributes\": {\n      \"CUSTOM_FIELD\": \"value\"\n    }\n  }'\n```\n\n### Send Transactional Email\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fsmtp\u002Femail\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"sender\": {\"name\": \"My App\", \"email\": \"noreply@example.com\"},\n    \"to\": [{\"email\": \"user@example.com\", \"name\": \"John\"}],\n    \"subject\": \"Welcome!\",\n    \"htmlContent\": \"\u003Cp>Hello {{params.name}}\u003C\u002Fp>\",\n    \"params\": {\"name\": \"John\"}\n  }'\n```\n\n### Send with Template\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fsmtp\u002Femail\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"to\": [{\"email\": \"user@example.com\"}],\n    \"templateId\": 34,\n    \"params\": {\n      \"NOMBRE\": \"John\",\n      \"FECHA\": \"2026-02-01\"\n    }\n  }'\n```\n\n### List All Contact Lists\n\n```bash\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Flists?limit=50\" \\\n  -H \"api-key: $BREVO_KEY\"\n```\n\n### Add Contacts to List (Bulk)\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Flists\u002F10\u002Fcontacts\u002Fadd\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"emails\": [\"user1@example.com\", \"user2@example.com\"]\n  }'\n```\n\n## Safe Import Pattern\n\nWhen importing contacts, **always respect unsubscribes**:\n\n```python\nimport requests\n\nBREVO_KEY = \"your-api-key\"\nHEADERS = {'api-key': BREVO_KEY, 'Content-Type': 'application\u002Fjson'}\nBASE = 'https:\u002F\u002Fapi.brevo.com\u002Fv3'\n\ndef get_blacklisted():\n    \"\"\"Get all unsubscribed\u002Fblacklisted emails\"\"\"\n    blacklisted = set()\n    offset = 0\n    while True:\n        r = requests.get(\n            f'{BASE}\u002Fcontacts?limit=100&offset={offset}&emailBlacklisted=true',\n            headers=HEADERS\n        )\n        contacts = r.json().get('contacts', [])\n        if not contacts:\n            break\n        for c in contacts:\n            blacklisted.add(c['email'].lower())\n        offset += 100\n    return blacklisted\n\ndef safe_import(emails, list_id):\n    \"\"\"Import contacts respecting unsubscribes\"\"\"\n    blacklisted = get_blacklisted()\n    \n    for email in emails:\n        if email.lower() in blacklisted:\n            print(f\"Skipped (unsubscribed): {email}\")\n            continue\n        \n        r = requests.post(f'{BASE}\u002Fcontacts', headers=HEADERS, json={\n            'email': email,\n            'listIds': [list_id],\n            'updateEnabled': True\n        })\n        \n        if r.status_code in [200, 201, 204]:\n            print(f\"Imported: {email}\")\n        else:\n            print(f\"Error: {email} - {r.text[:50]}\")\n```\n\n## Contact Attributes\n\nBrevo uses custom attributes for contact data:\n\n```json\n{\n  \"attributes\": {\n    \"NOMBRE\": \"John\",\n    \"APELLIDOS\": \"Doe\",\n    \"FECHA_ALTA\": \"2026-01-15\",\n    \"PLAN\": \"premium\",\n    \"CUSTOM_FIELD\": \"any value\"\n  }\n}\n```\n\nCreate attributes in Brevo dashboard: Contacts → Settings → Contact attributes.\n\n## Response Codes\n\n| Code | Meaning |\n|------|---------|\n| 200 | Success (GET) |\n| 201 | Created (POST) |\n| 204 | Success, no content (PUT\u002FDELETE) |\n| 400 | Bad request (check payload) |\n| 401 | Invalid API key |\n| 404 | Contact\u002Fresource not found |\n\n## Best Practices\n\n1. **Always check blacklist** before importing contacts\n2. **Use `updateEnabled: true`** to update existing contacts instead of failing\n3. **Use templates** for consistent transactional emails\n4. **Batch operations** when adding many contacts to lists\n5. **Store list IDs** in config, not hardcoded\n6. **Log imports** for audit trail\n\n## Automations\n\nBrevo automations trigger on:\n- Contact added to list\n- Contact attribute updated\n- Email opened\u002Fclicked\n- Custom events via API\n\nTrigger automation manually:\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Fimport\" \\\n  -H \"api-key: $BREVO_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"listIds\": [10],\n    \"emailBlacklist\": false,\n    \"updateExistingContacts\": true,\n    \"emptyContactsAttributes\": false,\n    \"jsonBody\": [\n      {\"email\": \"user@example.com\", \"attributes\": {\"NOMBRE\": \"John\"}}\n    ]\n  }'\n```\n\n## Useful Queries\n\n```bash\n# Count contacts in list\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Flists\u002F10\" -H \"api-key: $BREVO_KEY\" | jq '.totalSubscribers'\n\n# Get recent contacts\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts?limit=10&sort=desc\" -H \"api-key: $BREVO_KEY\"\n\n# Check if email exists\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Fcontacts\u002Fuser@example.com\" -H \"api-key: $BREVO_KEY\"\n\n# Get account info\ncurl \"https:\u002F\u002Fapi.brevo.com\u002Fv3\u002Faccount\" -H \"api-key: $BREVO_KEY\"\n```\n",{"name":5,"version":50,"description":7},"1.0.0","main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","工作流自动化\u002Fbrevo",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill brevo",{"tool":65,"command":66},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill brevo",{"tool":68,"command":69},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill brevo","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F工作流自动化\u002Fbrevo\u002FSKILL.md",true,[73],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"_meta.json","REFERENCE","参考文档",265,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F工作流自动化\u002Fbrevo\u002F_meta.json",[80,103,134,145,155,184],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":45},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[82,87,88,89,90,91,35,92,93,94,95,96,97,98,99,100,101,102],"safe","ethereum","defi","Optimization","user","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":104,"name":105,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":117,"publishedAt":45},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[108,111,114],{"categoryNo":109,"categoryName":110,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":112,"categoryName":113,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":115,"categoryName":116,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000030","开发工程师",[33,118,119,120,121,122,123,89,124,92,125,126,127,128,129,130,131,132,133],"zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":135,"name":136,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":142,"publishedAt":45},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[139,140,141],{"categoryNo":109,"categoryName":110,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":112,"categoryName":113,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":115,"categoryName":116,"taxonomyType":28,"taxonomyTypeDesc":29},[33,143,144,118,119,120,121,122,123,89,124,92,126,127,128,129,130,131,132,133],"api skill","zerion api skill",{"skillNo":146,"name":147,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":153,"publishedAt":45},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[150,151,152],{"categoryNo":109,"categoryName":110,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":112,"categoryName":113,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":115,"categoryName":116,"taxonomyType":28,"taxonomyTypeDesc":29},[120,33,154,118,119,121,122,89,124,92,125,126,127,128,129,130,131,132,133],"zerion api mcp",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":164,"publishedAt":45},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[161],{"categoryNo":162,"categoryName":163,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000040","财务",[165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,44],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":191,"publishedAt":45},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[190],{"categoryNo":162,"categoryName":163,"taxonomyType":28,"taxonomyTypeDesc":29},[165,166,168,192,193,194,195,196,197,176,198,199,200,201,202,203,204,205,133,183],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]