[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6Q1AMGFKDN8RAP1MD886DN7":3,"skill-same:01M6Q1AMGFKDN8RAP1MD886DN7":81},{"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":17,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6Q1AMGFKDN8RAP1MD886DN7","google-calendar",null,"Interact with Google Calendar via the Google Calendar API – list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.","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日程与赛程安排\u002Fgoogle-calendar\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"google","calendar","google calendar","openclaw","create","delete","update","api","access","list","use","events","via","with","you","programmatic","2026-11-10 10:12:30",false,"---\nname: google-calendar\ndescription: Interact with Google Calendar via the Google Calendar API – list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.\n---\n\n# Google Calendar Skill\n\n## Overview\nThis skill provides a thin wrapper around the Google Calendar REST API. It lets you:\n- **list** upcoming events (optionally filtered by time range or query)\n- **add** a new event with title, start\u002Fend time, description, location, and attendees\n- **update** an existing event by its ID\n- **delete** an event by its ID\n\nThe skill is implemented in Python (`scripts\u002Fgoogle_calendar.py`). It expects the following environment variables to be set (you can store them securely with `openclaw secret set`):\n```\nGOOGLE_CLIENT_ID=…\nGOOGLE_CLIENT_SECRET=…\nGOOGLE_REFRESH_TOKEN=…   # obtained after OAuth consent\nGOOGLE_CALENDAR_ID=primary   # or the ID of a specific calendar\n```\nThe first time you run the skill you may need to perform an OAuth flow to obtain a refresh token – see the **Setup** section below.\n\n## Commands\n```\ngoogle-calendar list [--from \u003CISO> --to \u003CISO> --max \u003CN>]\ngoogle-calendar add   --title \u003Ctitle> [--start \u003CISO> --end \u003CISO>]\n                     [--desc \u003Cdescription> --location \u003Cloc> --attendees \u003Cemail1,email2>]\ngoogle-calendar update --event-id \u003Cid> [--title \u003Ctitle> ... other fields]\ngoogle-calendar delete --event-id \u003Cid>\n```\nAll commands return a JSON payload printed to stdout. Errors are printed to stderr and cause a non‑zero exit code.\n\n## Setup\n1. **Create a Google Cloud project** and enable the *Google Calendar API*.\n2. **Create OAuth credentials** (type *Desktop app*). Note the `client_id` and `client_secret`.\n3. Run the helper script to obtain a refresh token:\n   ```bash\n   GOOGLE_CLIENT_ID=… GOOGLE_CLIENT_SECRET=… python3 -m google_calendar.auth\n   ```\n   It will open a browser (or print a URL you can open elsewhere) and ask you to grant access. After you approve, copy the `refresh_token` it prints.\n4. Store the credentials securely:\n   ```bash\n   openclaw secret set GOOGLE_CLIENT_ID \u003Cvalue>\n   openclaw secret set GOOGLE_CLIENT_SECRET \u003Cvalue>\n   openclaw secret set GOOGLE_REFRESH_TOKEN \u003Cvalue>\n   openclaw secret set GOOGLE_CALENDAR_ID primary   # optional\n   ```\n5. Install the required Python packages (once):\n   ```bash\n   pip install --user google-auth google-auth-oauthlib google-api-python-client\n   ```\n\n## How it works (brief)\nThe script loads the credentials from the environment, refreshes the access token using the refresh token, builds a `service = build('calendar', 'v3', credentials=creds)`, and then calls the appropriate API method.\n\n## References\n- Google Calendar API reference: https:\u002F\u002Fdevelopers.google.com\u002Fcalendar\u002Fapi\u002Fv3\u002Freference\n- OAuth 2.0 for installed apps: https:\u002F\u002Fdevelopers.google.com\u002Fidentity\u002Fprotocols\u002Foauth2\u002Fnative-app\n\n---\n\n**Note:** This skill does not require a GUI; it works entirely via HTTP calls, so it is suitable for headless servers.\n","# Google Calendar Skill\n\n## Overview\nThis skill provides a thin wrapper around the Google Calendar REST API. It lets you:\n- **list** upcoming events (optionally filtered by time range or query)\n- **add** a new event with title, start\u002Fend time, description, location, and attendees\n- **update** an existing event by its ID\n- **delete** an event by its ID\n\nThe skill is implemented in Python (`scripts\u002Fgoogle_calendar.py`). It expects the following environment variables to be set (you can store them securely with `openclaw secret set`):\n```\nGOOGLE_CLIENT_ID=…\nGOOGLE_CLIENT_SECRET=…\nGOOGLE_REFRESH_TOKEN=…   # obtained after OAuth consent\nGOOGLE_CALENDAR_ID=primary   # or the ID of a specific calendar\n```\nThe first time you run the skill you may need to perform an OAuth flow to obtain a refresh token – see the **Setup** section below.\n\n## Commands\n```\ngoogle-calendar list [--from \u003CISO> --to \u003CISO> --max \u003CN>]\ngoogle-calendar add   --title \u003Ctitle> [--start \u003CISO> --end \u003CISO>]\n                     [--desc \u003Cdescription> --location \u003Cloc> --attendees \u003Cemail1,email2>]\ngoogle-calendar update --event-id \u003Cid> [--title \u003Ctitle> ... other fields]\ngoogle-calendar delete --event-id \u003Cid>\n```\nAll commands return a JSON payload printed to stdout. Errors are printed to stderr and cause a non‑zero exit code.\n\n## Setup\n1. **Create a Google Cloud project** and enable the *Google Calendar API*.\n2. **Create OAuth credentials** (type *Desktop app*). Note the `client_id` and `client_secret`.\n3. Run the helper script to obtain a refresh token:\n   ```bash\n   GOOGLE_CLIENT_ID=… GOOGLE_CLIENT_SECRET=… python3 -m google_calendar.auth\n   ```\n   It will open a browser (or print a URL you can open elsewhere) and ask you to grant access. After you approve, copy the `refresh_token` it prints.\n4. Store the credentials securely:\n   ```bash\n   openclaw secret set GOOGLE_CLIENT_ID \u003Cvalue>\n   openclaw secret set GOOGLE_CLIENT_SECRET \u003Cvalue>\n   openclaw secret set GOOGLE_REFRESH_TOKEN \u003Cvalue>\n   openclaw secret set GOOGLE_CALENDAR_ID primary   # optional\n   ```\n5. Install the required Python packages (once):\n   ```bash\n   pip install --user google-auth google-auth-oauthlib google-api-python-client\n   ```\n\n## How it works (brief)\nThe script loads the credentials from the environment, refreshes the access token using the refresh token, builds a `service = build('calendar', 'v3', credentials=creds)`, and then calls the appropriate API method.\n\n## References\n- Google Calendar API reference: https:\u002F\u002Fdevelopers.google.com\u002Fcalendar\u002Fapi\u002Fv3\u002Freference\n- OAuth 2.0 for installed apps: https:\u002F\u002Fdevelopers.google.com\u002Fidentity\u002Fprotocols\u002Foauth2\u002Fnative-app\n\n---\n\n**Note:** This skill does not require a GUI; it works entirely via HTTP calls, so it is suitable for headless servers.\n",{"name":5,"description":7},"main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","日程与赛程安排\u002Fgoogle-calendar",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":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill google-calendar",{"tool":53,"command":54},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill google-calendar",{"tool":56,"command":57},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill google-calendar","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fgoogle-calendar\u002FSKILL.md",true,[61,67,73,77],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"_meta.json","REFERENCE","参考文档",290,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fgoogle-calendar\u002F_meta.json",{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"scripts\u002Fgoogle_calendar.py","SCRIPT","脚本",5664,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fgoogle-calendar\u002Fscripts\u002Fgoogle_calendar.py",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"scripts\u002Frefresh_token.py",2002,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fgoogle-calendar\u002Fscripts\u002Frefresh_token.py",{"path":78,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":79,"sourceHtmlUrl":80},"scripts\u002Fvenv\u002Fpyvenv.cfg",225,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F日程与赛程安排\u002Fgoogle-calendar\u002Fscripts\u002Fvenv\u002Fpyvenv.cfg",[82,105,140,151,161,191],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":34},"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",[],[84,89,90,91,92,93,28,94,95,96,97,98,99,100,101,102,103,104],"safe","ethereum","defi","Optimization","user","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":106,"name":107,"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":108,"categories":109,"keywords":123,"publishedAt":34},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[110,115,118],{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":116,"categoryName":117,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[25,124,125,126,127,128,129,91,130,94,131,132,133,134,135,136,137,138,139],"zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":141,"name":142,"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":143,"categories":144,"keywords":148,"publishedAt":34},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[145,146,147],{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},{"categoryNo":116,"categoryName":117,"taxonomyType":113,"taxonomyTypeDesc":114},{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},[25,149,150,124,125,126,127,128,129,91,130,94,132,133,134,135,136,137,138,139],"api skill","zerion api skill",{"skillNo":152,"name":153,"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":154,"categories":155,"keywords":159,"publishedAt":34},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[156,157,158],{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},{"categoryNo":116,"categoryName":117,"taxonomyType":113,"taxonomyTypeDesc":114},{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},[126,25,160,124,125,127,128,91,130,94,131,132,133,134,135,136,137,138,139],"zerion api mcp",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":170,"publishedAt":34},"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",[167],{"categoryNo":168,"categoryName":169,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000040","财务",[171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190],"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":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":198,"publishedAt":34},"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",[197],{"categoryNo":168,"categoryName":169,"taxonomyType":121,"taxonomyTypeDesc":122},[171,172,174,199,200,201,202,203,204,182,205,206,207,208,209,210,211,212,139,189],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]