[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6Q2RQF9TSFEFTENC6A15M3H":3,"skill-same:01M6Q2RQF9TSFEFTENC6A15M3H":117},{"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":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6Q2RQF9TSFEFTENC6A15M3H","ez-google",null,"Use when asked to send email, check inbox, read emails, check calendar, schedule meetings, create events, search Google Drive, create Google Docs, read or write spreadsheets, find contacts, or any task involving Gmail, Google Calendar, Drive, Docs, Sheets, Slides, or Contacts. Agent-friendly with hosted OAuth - no API keys needed.","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电子邮件\u002Fez-google\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"ez google","google","use","send","api keys","sheets","contacts","with","check inbox","emails","task","check","schedule","slides","api","OAuth","email","search","inbox","create","2026-11-10 10:12:30",false,"---\nname: ez-google\ndescription: Use when asked to send email, check inbox, read emails, check calendar, schedule meetings, create events, search Google Drive, create Google Docs, read or write spreadsheets, find contacts, or any task involving Gmail, Google Calendar, Drive, Docs, Sheets, Slides, or Contacts. Agent-friendly with hosted OAuth - no API keys needed.\nmetadata: {\"openclaw\":{\"emoji\":\"?\"}}\n---\n\n# ez-google\n\nAgent-friendly Google Workspace tools. Simple CLI scripts with hosted OAuth - users just click a link and paste back a token. No API keys or credentials needed.\n\n**Run all commands with:** `uv run scripts\u002F\u003Cscript>.py \u003Ccommand> [args]`\n\n## Auth (do this first)\n\n```bash\nauth.py status        # Check: AUTHENTICATED or NOT_AUTHENTICATED\nauth.py login         # Get URL → send to user\nauth.py save '\u003CTOKEN>'  # Save token from hosted OAuth\n```\n\n**Auth flow:** `status` → if not authenticated → `login` → user clicks link, copies token → `save '\u003CTOKEN>'`\n\n---\n\n## Gmail\n\n```bash\ngmail.py list [-n 10] [-q \"query\"]   # List emails\ngmail.py search \"query\"              # Search emails\ngmail.py get MESSAGE_ID              # Read email\ngmail.py send \"to\" \"subject\" \"body\"  # Send email\ngmail.py draft \"to\" \"subject\" \"body\" # Create draft\ngmail.py labels                      # List labels\n\n# Bulk operations (up to 1000 messages per API call)\ngmail.py bulk-label \"query\" --add LABEL --remove LABEL  # Add\u002Fremove labels\ngmail.py bulk-trash \"query\" [-y]     # Move to trash (use -y to skip confirmation)\n```\n\n**Bulk examples:**\n```bash\ngmail.py bulk-label \"from:newsletter@example.com\" --add ARCHIVE --remove INBOX\ngmail.py bulk-trash \"subject:alert older_than:30d\" -y\ngmail.py bulk-label \"category:promotions\" --add Label_3  # Use label IDs from `labels`\n```\n\n## Calendar\n\n```bash\ngcal.py list [DATE]                  # List events (DATE: YYYY-MM-DD or \"today\")\ngcal.py create \"title\" \"START\" \"END\" # Create event (START\u002FEND: YYYY-MM-DDTHH:MM)\ngcal.py get EVENT_ID                 # Event details\ngcal.py delete EVENT_ID              # Delete event\ngcal.py calendars                    # List calendars\n```\n\n## Drive\n\n```bash\ndrive.py list [-n 20]                # List files\ndrive.py search \"query\"              # Search by name\ndrive.py get FILE_ID                 # File metadata\ndrive.py download FILE_ID            # File content\ndrive.py create-folder \"name\"        # Create folder\n```\n\n## Docs\n\n```bash\ndocs.py create \"title\"               # Create doc\ndocs.py get DOC_ID                   # Read content\ndocs.py find \"query\"                 # Find by title\ndocs.py append DOC_ID \"text\"         # Append text\ndocs.py insert DOC_ID \"text\"         # Insert at start\ndocs.py replace DOC_ID \"old\" \"new\"   # Replace text\n```\n\n## Sheets\n\n```bash\nsheets.py create \"title\"             # Create spreadsheet\nsheets.py get ID \"Sheet!A1:D10\"      # Read data\nsheets.py info ID                    # Sheet metadata\nsheets.py find \"query\"               # Find by name\nsheets.py write ID \"Sheet!A1\" \"a,b;c,d\"   # Write (rows separated by ;)\nsheets.py append ID \"Sheet!A:B\" \"a,b;c,d\" # Append rows\n```\n\n## Slides\n\n```bash\nslides.py find \"query\"               # Find presentations\nslides.py get PRESENTATION_ID        # Get slides info\nslides.py text PRESENTATION_ID       # Extract all text\nslides.py create \"title\"             # Create presentation\n```\n\n## People\u002FContacts\n\n```bash\npeople.py me                         # Current user profile\npeople.py contacts [-n 100]          # List contacts\npeople.py search \"name\"              # Search contacts\npeople.py get CONTACT_ID             # Contact details\n```\n\n## Chat (Workspace only)\n\n```bash\nchat.py spaces                       # List spaces\nchat.py messages SPACE_ID [-n 20]    # List messages\nchat.py send SPACE_ID \"text\"         # Send message\nchat.py get SPACE_ID                 # Space details\n```\n\n---\n\nNote: After adding new services, run `auth.py logout` then `login` again to grant new permissions.\n","# ez-google\n\nAgent-friendly Google Workspace tools. Simple CLI scripts with hosted OAuth - users just click a link and paste back a token. No API keys or credentials needed.\n\n**Run all commands with:** `uv run scripts\u002F\u003Cscript>.py \u003Ccommand> [args]`\n\n## Auth (do this first)\n\n```bash\nauth.py status        # Check: AUTHENTICATED or NOT_AUTHENTICATED\nauth.py login         # Get URL → send to user\nauth.py save '\u003CTOKEN>'  # Save token from hosted OAuth\n```\n\n**Auth flow:** `status` → if not authenticated → `login` → user clicks link, copies token → `save '\u003CTOKEN>'`\n\n---\n\n## Gmail\n\n```bash\ngmail.py list [-n 10] [-q \"query\"]   # List emails\ngmail.py search \"query\"              # Search emails\ngmail.py get MESSAGE_ID              # Read email\ngmail.py send \"to\" \"subject\" \"body\"  # Send email\ngmail.py draft \"to\" \"subject\" \"body\" # Create draft\ngmail.py labels                      # List labels\n\n# Bulk operations (up to 1000 messages per API call)\ngmail.py bulk-label \"query\" --add LABEL --remove LABEL  # Add\u002Fremove labels\ngmail.py bulk-trash \"query\" [-y]     # Move to trash (use -y to skip confirmation)\n```\n\n**Bulk examples:**\n```bash\ngmail.py bulk-label \"from:newsletter@example.com\" --add ARCHIVE --remove INBOX\ngmail.py bulk-trash \"subject:alert older_than:30d\" -y\ngmail.py bulk-label \"category:promotions\" --add Label_3  # Use label IDs from `labels`\n```\n\n## Calendar\n\n```bash\ngcal.py list [DATE]                  # List events (DATE: YYYY-MM-DD or \"today\")\ngcal.py create \"title\" \"START\" \"END\" # Create event (START\u002FEND: YYYY-MM-DDTHH:MM)\ngcal.py get EVENT_ID                 # Event details\ngcal.py delete EVENT_ID              # Delete event\ngcal.py calendars                    # List calendars\n```\n\n## Drive\n\n```bash\ndrive.py list [-n 20]                # List files\ndrive.py search \"query\"              # Search by name\ndrive.py get FILE_ID                 # File metadata\ndrive.py download FILE_ID            # File content\ndrive.py create-folder \"name\"        # Create folder\n```\n\n## Docs\n\n```bash\ndocs.py create \"title\"               # Create doc\ndocs.py get DOC_ID                   # Read content\ndocs.py find \"query\"                 # Find by title\ndocs.py append DOC_ID \"text\"         # Append text\ndocs.py insert DOC_ID \"text\"         # Insert at start\ndocs.py replace DOC_ID \"old\" \"new\"   # Replace text\n```\n\n## Sheets\n\n```bash\nsheets.py create \"title\"             # Create spreadsheet\nsheets.py get ID \"Sheet!A1:D10\"      # Read data\nsheets.py info ID                    # Sheet metadata\nsheets.py find \"query\"               # Find by name\nsheets.py write ID \"Sheet!A1\" \"a,b;c,d\"   # Write (rows separated by ;)\nsheets.py append ID \"Sheet!A:B\" \"a,b;c,d\" # Append rows\n```\n\n## Slides\n\n```bash\nslides.py find \"query\"               # Find presentations\nslides.py get PRESENTATION_ID        # Get slides info\nslides.py text PRESENTATION_ID       # Extract all text\nslides.py create \"title\"             # Create presentation\n```\n\n## People\u002FContacts\n\n```bash\npeople.py me                         # Current user profile\npeople.py contacts [-n 100]          # List contacts\npeople.py search \"name\"              # Search contacts\npeople.py get CONTACT_ID             # Contact details\n```\n\n## Chat (Workspace only)\n\n```bash\nchat.py spaces                       # List spaces\nchat.py messages SPACE_ID [-n 20]    # List messages\nchat.py send SPACE_ID \"text\"         # Send message\nchat.py get SPACE_ID                 # Space details\n```\n\n---\n\nNote: After adding new services, run `auth.py logout` then `login` again to grant new permissions.\n",{"name":5,"metadata":48,"description":7},{"openclaw":49},{"emoji":50},"?","main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","电子邮件\u002Fez-google",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 ez-google",{"tool":65,"command":66},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill ez-google",{"tool":68,"command":69},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill ez-google","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002FSKILL.md",true,[73,79,85,89,93,97,101,105,109,113],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"_meta.json","REFERENCE","参考文档",448,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002F_meta.json",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Fauth.py","SCRIPT","脚本",7513,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fauth.py",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Fchat.py",4037,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fchat.py",{"path":90,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":91,"sourceHtmlUrl":92},"scripts\u002Fdocs.py",4492,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fdocs.py",{"path":94,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":95,"sourceHtmlUrl":96},"scripts\u002Fdrive.py",4218,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fdrive.py",{"path":98,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":99,"sourceHtmlUrl":100},"scripts\u002Fgcal.py",4503,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fgcal.py",{"path":102,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Fgmail.py",8547,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fgmail.py",{"path":106,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":107,"sourceHtmlUrl":108},"scripts\u002Fpeople.py",4212,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fpeople.py",{"path":110,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":111,"sourceHtmlUrl":112},"scripts\u002Fsheets.py",4316,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fsheets.py",{"path":114,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":115,"sourceHtmlUrl":116},"scripts\u002Fslides.py",3714,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F电子邮件\u002Fez-google\u002Fscripts\u002Fslides.py",[118,141,174,185,195,225],{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":43},"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",[],[120,125,126,127,128,129,25,130,131,132,133,134,135,136,137,138,139,140],"safe","ethereum","defi","Optimization","user","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":142,"name":143,"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":144,"categories":145,"keywords":157,"publishedAt":43},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[146,149,152],{"categoryNo":147,"categoryName":148,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":150,"categoryName":151,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":153,"categoryName":154,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[37,158,159,160,161,162,163,127,164,130,165,166,167,168,169,170,171,172,173],"zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":175,"name":176,"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":177,"categories":178,"keywords":182,"publishedAt":43},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[179,180,181],{"categoryNo":147,"categoryName":148,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":150,"categoryName":151,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":153,"categoryName":154,"taxonomyType":155,"taxonomyTypeDesc":156},[37,183,184,158,159,160,161,162,163,127,164,130,166,167,168,169,170,171,172,173],"api skill","zerion api skill",{"skillNo":186,"name":187,"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":188,"categories":189,"keywords":193,"publishedAt":43},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[190,191,192],{"categoryNo":147,"categoryName":148,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":150,"categoryName":151,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":153,"categoryName":154,"taxonomyType":155,"taxonomyTypeDesc":156},[160,37,194,158,159,161,162,127,164,130,165,166,167,168,169,170,171,172,173],"zerion api mcp",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":204,"publishedAt":43},"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",[201],{"categoryNo":202,"categoryName":203,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000040","财务",[205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data","for",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":232,"publishedAt":43},"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",[231],{"categoryNo":202,"categoryName":203,"taxonomyType":155,"taxonomyTypeDesc":156},[205,206,208,233,234,235,34,236,237,216,238,239,240,241,242,243,244,245,173,223],"cli","homebrew","find","brew","up","local","get","stock","link","trending","sf","quotes","ln"]