[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M713PB0H34A9TFQW7GAXTTP3":3,"skill-same:01M713PB0H34A9TFQW7GAXTTP3":71},{"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":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":14,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M713PB0H34A9TFQW7GAXTTP3","google-drive-automation",null,"Lightweight Google Drive integration with standalone OAuth authentication. No MCP server required. Full read\u002Fwrite access.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fgoogle-drive-automation\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"google","automation","google drive","google drive automation","drive","unknown","MCP","standalone","with","full","community","write","read","access","OAuth","server","integration","authentication","mcp server","2026-11-10 10:12:30",false,"---\nname: google-drive-automation\ndescription: \"Lightweight Google Drive integration with standalone OAuth authentication. No MCP server required. Full read\u002Fwrite access.\"\nlicense: Apache-2.0\nrisk: unknown\nsource: community\nmetadata:\n  author: sanjay3290\n  version: \"1.0\"\n---\n\n# Google Drive\n\nLightweight Google Drive integration with standalone OAuth authentication. No MCP server required. Full read\u002Fwrite access.\n\n> **Requires Google Workspace account.** Personal Gmail accounts are not supported.\n\n## First-Time Setup\n\nAuthenticate with Google (opens browser):\n```bash\npython scripts\u002Fauth.py login\n```\n\nCheck authentication status:\n```bash\npython scripts\u002Fauth.py status\n```\n\nLogout when needed:\n```bash\npython scripts\u002Fauth.py logout\n```\n\n## Read Commands\n\nAll operations via `scripts\u002Fdrive.py`. Auto-authenticates on first use if not logged in.\n\n```bash\n# Search for files (full-text search)\npython scripts\u002Fdrive.py search \"quarterly report\"\n\n# Search by title only\npython scripts\u002Fdrive.py search \"title:budget\"\n\n# Search using Google Drive URL (extracts ID automatically)\npython scripts\u002Fdrive.py search \"https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1ABC123...\"\n\n# Search files shared with you\npython scripts\u002Fdrive.py search --shared-with-me\n\n# Search with pagination\npython scripts\u002Fdrive.py search \"report\" --limit 5 --page-token \"...\"\n\n# Find a folder by exact name\npython scripts\u002Fdrive.py find-folder \"Project Documents\"\n\n# List files in root Drive\npython scripts\u002Fdrive.py list\n\n# List files in a specific folder\npython scripts\u002Fdrive.py list 1ABC123xyz --limit 20\n\n# Download a file\npython scripts\u002Fdrive.py download 1ABC123xyz .\u002Fdownloads\u002Freport.pdf\n```\n\n## Write Commands\n\n```bash\n# Upload a file to Drive root\npython scripts\u002Fdrive.py upload ~\u002FDocuments\u002Freport.pdf\n\n# Upload to a specific folder\npython scripts\u002Fdrive.py upload ~\u002FDocuments\u002Freport.pdf --folder 1ABC123xyz\n\n# Upload with a custom name\npython scripts\u002Fdrive.py upload ~\u002FDocuments\u002Freport.pdf --name \"Q4 Report.pdf\"\n\n# Create a new folder\npython scripts\u002Fdrive.py create-folder \"Project Documents\"\n\n# Create a folder inside another folder\npython scripts\u002Fdrive.py create-folder \"Attachments\" --parent 1ABC123xyz\n\n# Move a file to a different folder\npython scripts\u002Fdrive.py move FILE_ID DESTINATION_FOLDER_ID\n\n# Copy a file\npython scripts\u002Fdrive.py copy FILE_ID\npython scripts\u002Fdrive.py copy FILE_ID --name \"Report Copy\" --folder 1ABC123xyz\n\n# Rename a file or folder\npython scripts\u002Fdrive.py rename FILE_ID \"New Name.pdf\"\n\n# Move a file to trash\npython scripts\u002Fdrive.py trash FILE_ID\n```\n\n## Search Query Formats\n\nThe search command supports multiple query formats:\n\n| Format | Example | Description |\n|--------|---------|-------------|\n| Full-text | `\"quarterly report\"` | Searches file contents and names |\n| Title | `\"title:budget\"` | Searches file names only |\n| URL | `https:\u002F\u002Fdrive.google.com\u002F...` | Extracts and uses file\u002Ffolder ID |\n| Folder ID | `1ABC123...` | Lists folder contents (25+ char IDs) |\n| Native query | `mimeType='application\u002Fpdf'` | Pass-through Drive query syntax |\n\n## File ID Format\n\nGoogle Drive uses long IDs like `1ABC123xyz_-abc123`. Get IDs from:\n- `search` results\n- `find-folder` results\n- `list` results\n- Google Drive URLs\n\n## Download Limitations\n\n- Regular files (PDFs, images, etc.) download directly\n- Google Docs\u002FSheets\u002FSlides cannot be downloaded via this tool\n- For Google Workspace files, use export or dedicated tools\n\n## Token Management\n\nTokens stored securely using the system keyring:\n- **macOS**: Keychain\n- **Windows**: Windows Credential Locker\n- **Linux**: Secret Service API (GNOME Keyring, KDE Wallet, etc.)\n\nService name: `google-drive-skill-oauth`\n\nAutomatically refreshes expired tokens using Google's cloud function.\n","# Google Drive\n\nLightweight Google Drive integration with standalone OAuth authentication. No MCP server required. Full read\u002Fwrite access.\n\n> **Requires Google Workspace account.** Personal Gmail accounts are not supported.\n\n## First-Time Setup\n\nAuthenticate with Google (opens browser):\n```bash\npython scripts\u002Fauth.py login\n```\n\nCheck authentication status:\n```bash\npython scripts\u002Fauth.py status\n```\n\nLogout when needed:\n```bash\npython scripts\u002Fauth.py logout\n```\n\n## Read Commands\n\nAll operations via `scripts\u002Fdrive.py`. Auto-authenticates on first use if not logged in.\n\n```bash\n# Search for files (full-text search)\npython scripts\u002Fdrive.py search \"quarterly report\"\n\n# Search by title only\npython scripts\u002Fdrive.py search \"title:budget\"\n\n# Search using Google Drive URL (extracts ID automatically)\npython scripts\u002Fdrive.py search \"https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1ABC123...\"\n\n# Search files shared with you\npython scripts\u002Fdrive.py search --shared-with-me\n\n# Search with pagination\npython scripts\u002Fdrive.py search \"report\" --limit 5 --page-token \"...\"\n\n# Find a folder by exact name\npython scripts\u002Fdrive.py find-folder \"Project Documents\"\n\n# List files in root Drive\npython scripts\u002Fdrive.py list\n\n# List files in a specific folder\npython scripts\u002Fdrive.py list 1ABC123xyz --limit 20\n\n# Download a file\npython scripts\u002Fdrive.py download 1ABC123xyz .\u002Fdownloads\u002Freport.pdf\n```\n\n## Write Commands\n\n```bash\n# Upload a file to Drive root\npython scripts\u002Fdrive.py upload ~\u002FDocuments\u002Freport.pdf\n\n# Upload to a specific folder\npython scripts\u002Fdrive.py upload ~\u002FDocuments\u002Freport.pdf --folder 1ABC123xyz\n\n# Upload with a custom name\npython scripts\u002Fdrive.py upload ~\u002FDocuments\u002Freport.pdf --name \"Q4 Report.pdf\"\n\n# Create a new folder\npython scripts\u002Fdrive.py create-folder \"Project Documents\"\n\n# Create a folder inside another folder\npython scripts\u002Fdrive.py create-folder \"Attachments\" --parent 1ABC123xyz\n\n# Move a file to a different folder\npython scripts\u002Fdrive.py move FILE_ID DESTINATION_FOLDER_ID\n\n# Copy a file\npython scripts\u002Fdrive.py copy FILE_ID\npython scripts\u002Fdrive.py copy FILE_ID --name \"Report Copy\" --folder 1ABC123xyz\n\n# Rename a file or folder\npython scripts\u002Fdrive.py rename FILE_ID \"New Name.pdf\"\n\n# Move a file to trash\npython scripts\u002Fdrive.py trash FILE_ID\n```\n\n## Search Query Formats\n\nThe search command supports multiple query formats:\n\n| Format | Example | Description |\n|--------|---------|-------------|\n| Full-text | `\"quarterly report\"` | Searches file contents and names |\n| Title | `\"title:budget\"` | Searches file names only |\n| URL | `https:\u002F\u002Fdrive.google.com\u002F...` | Extracts and uses file\u002Ffolder ID |\n| Folder ID | `1ABC123...` | Lists folder contents (25+ char IDs) |\n| Native query | `mimeType='application\u002Fpdf'` | Pass-through Drive query syntax |\n\n## File ID Format\n\nGoogle Drive uses long IDs like `1ABC123xyz_-abc123`. Get IDs from:\n- `search` results\n- `find-folder` results\n- `list` results\n- Google Drive URLs\n\n## Download Limitations\n\n- Regular files (PDFs, images, etc.) download directly\n- Google Docs\u002FSheets\u002FSlides cannot be downloaded via this tool\n- For Google Workspace files, use export or dedicated tools\n\n## Token Management\n\nTokens stored securely using the system keyring:\n- **macOS**: Keychain\n- **Windows**: Windows Credential Locker\n- **Linux**: Secret Service API (GNOME Keyring, KDE Wallet, etc.)\n\nService name: `google-drive-skill-oauth`\n\nAutomatically refreshes expired tokens using Google's cloud function.\n",{"name":5,"risk":29,"source":34,"license":15,"metadata":48,"description":7},{"author":49,"version":50},"sanjay3290","1.0","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fgoogle-drive-automation","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill google-drive-automation",{"tool":63,"command":64},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill google-drive-automation",{"tool":66,"command":67},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill google-drive-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fgoogle-drive-automation\u002FSKILL.md",true,[],[72,96,120,130,143,160],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":43},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[85,86,87,88,89,90,91,92,93,94,95,32],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":43},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[103,104,105,106,107,108,87,109,110,111,112,113,114,115,116,24,117,36,118,119],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","install","across","api",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":43},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[127,128,103,114,115,116,24,107,87,36,129,118,119,113,111,110,109,117,108,106],"trend radar","radar","pulse",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":43},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[137,138,139,140,141,142],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":152,"publishedAt":43},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[149],{"categoryNo":150,"categoryName":151,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[145,93,153,154,155,32,114,156,157,158,105,159,117],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":43},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[162,167,168,169,117,170,157,171,172,173,174,175],"status","play","go","latest","github","discover","control","cmd","volume"]