[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71FSFY1SM0KKQ066ZSW2375":3,"skill-same:01M71FSFY1SM0KKQ066ZSW2375":66},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":45,"commitSha":46,"skillDirectory":5,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M71FSFY1SM0KKQ066ZSW2375","gmail-automation",null,"Lightweight Gmail integration with standalone OAuth authentication. No MCP server required.","agency-black\u002FSkills","agency-black","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F234862658?v=4","01M6HWVFPNGNR5N2CX9ECSAD57","agencia.black","01M719WF77BF3HN0N9FK1APEFY",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fgmail-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],"gmail automation","automation","gmail","community","standalone","authentication","MCP","critical","OAuth","mcp server","with","server","integration","2026-11-10 10:12:30",false,"---\nname: gmail-automation\ndescription: \"Lightweight Gmail integration with standalone OAuth authentication. No MCP server required.\"\nlicense: Apache-2.0\nrisk: critical\nsource: community\nmetadata:\n  author: sanjay3290\n  version: \"1.0\"\n---\n\n# Gmail\n\nLightweight Gmail integration with standalone OAuth authentication. No MCP server required.\n\n> **⚠️ Requires Google Workspace account.** Personal Gmail accounts are not supported.\n\n## When to Use\n\n- You need to search, read, or send Gmail messages from the command line without an MCP server.\n- You are automating inbox workflows for a Google Workspace account.\n- You want a lightweight Gmail integration backed by standalone OAuth scripts.\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## Commands\n\nAll operations via `scripts\u002Fgmail.py`. Auto-authenticates on first use if not logged in.\n\n### Search Emails\n\n```bash\n# Search with Gmail query syntax\npython scripts\u002Fgmail.py search \"from:someone@example.com is:unread\"\n\n# Search recent emails (no query returns all)\npython scripts\u002Fgmail.py search --limit 20\n\n# Filter by label\npython scripts\u002Fgmail.py search --label INBOX --limit 10\n\n# Include spam and trash\npython scripts\u002Fgmail.py search \"subject:important\" --include-spam-trash\n```\n\n### Read Email Content\n\n```bash\n# Get full message content\npython scripts\u002Fgmail.py get MESSAGE_ID\n\n# Get just metadata (headers)\npython scripts\u002Fgmail.py get MESSAGE_ID --format metadata\n\n# Get minimal response (IDs only)\npython scripts\u002Fgmail.py get MESSAGE_ID --format minimal\n```\n\n### Send Emails\n\n```bash\n# Send a simple email\npython scripts\u002Fgmail.py send --to \"user@example.com\" --subject \"Hello\" --body \"Message body\"\n\n# Send with CC and BCC\npython scripts\u002Fgmail.py send --to \"user@example.com\" --cc \"cc@example.com\" --bcc \"bcc@example.com\" \\\n  --subject \"Team Update\" --body \"Update message\"\n\n# Send from an alias (must be configured in Gmail settings)\npython scripts\u002Fgmail.py send --to \"user@example.com\" --subject \"Hello\" --body \"Message\" \\\n  --from \"Mile9 Accounts \u003Caccounts@mile9.io>\"\n\n# Send HTML email\npython scripts\u002Fgmail.py send --to \"user@example.com\" --subject \"HTML Email\" \\\n  --body \"\u003Ch1>Hello\u003C\u002Fh1>\u003Cp>HTML content\u003C\u002Fp>\" --html\n```\n\n### Draft Management\n\n```bash\n# Create a draft\npython scripts\u002Fgmail.py create-draft --to \"user@example.com\" --subject \"Draft Subject\" \\\n  --body \"Draft content\"\n\n# Send an existing draft\npython scripts\u002Fgmail.py send-draft DRAFT_ID\n```\n\n### Modify Messages (Labels)\n\n```bash\n# Mark as read (remove UNREAD label)\npython scripts\u002Fgmail.py modify MESSAGE_ID --remove-label UNREAD\n\n# Mark as unread\npython scripts\u002Fgmail.py modify MESSAGE_ID --add-label UNREAD\n\n# Archive (remove from INBOX)\npython scripts\u002Fgmail.py modify MESSAGE_ID --remove-label INBOX\n\n# Star a message\npython scripts\u002Fgmail.py modify MESSAGE_ID --add-label STARRED\n\n# Unstar a message\npython scripts\u002Fgmail.py modify MESSAGE_ID --remove-label STARRED\n\n# Mark as important\npython scripts\u002Fgmail.py modify MESSAGE_ID --add-label IMPORTANT\n\n# Multiple label changes at once\npython scripts\u002Fgmail.py modify MESSAGE_ID --remove-label UNREAD --add-label STARRED\n```\n\n### List Labels\n\n```bash\n# List all Gmail labels (system and user-created)\npython scripts\u002Fgmail.py list-labels\n```\n\n## Gmail Query Syntax\n\nGmail supports powerful search operators:\n\n| Query | Description |\n|-------|-------------|\n| `from:user@example.com` | Emails from a specific sender |\n| `to:user@example.com` | Emails to a specific recipient |\n| `subject:meeting` | Emails with \"meeting\" in subject |\n| `is:unread` | Unread emails |\n| `is:starred` | Starred emails |\n| `is:important` | Important emails |\n| `has:attachment` | Emails with attachments |\n| `after:2024\u002F01\u002F01` | Emails after a date |\n| `before:2024\u002F12\u002F31` | Emails before a date |\n| `newer_than:7d` | Emails from last 7 days |\n| `older_than:1m` | Emails older than 1 month |\n| `label:work` | Emails with a specific label |\n| `in:inbox` | Emails in inbox |\n| `in:sent` | Sent emails |\n| `in:trash` | Trashed emails |\n\nCombine with AND (space), OR, or - (NOT):\n```bash\npython scripts\u002Fgmail.py search \"from:boss@company.com is:unread newer_than:1d\"\npython scripts\u002Fgmail.py search \"subject:urgent OR subject:important\"\npython scripts\u002Fgmail.py search \"from:newsletter@example.com -is:starred\"\n```\n\n## Common Label IDs\n\n| Label | ID |\n|-------|-----|\n| Inbox | `INBOX` |\n| Sent | `SENT` |\n| Drafts | `DRAFT` |\n| Spam | `SPAM` |\n| Trash | `TRASH` |\n| Starred | `STARRED` |\n| Important | `IMPORTANT` |\n| Unread | `UNREAD` |\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: `gmail-skill-oauth`\n\nTokens automatically refresh when expired using Google's cloud function.\n","# Gmail\n\nLightweight Gmail integration with standalone OAuth authentication. No MCP server required.\n\n> **⚠️ Requires Google Workspace account.** Personal Gmail accounts are not supported.\n\n## When to Use\n\n- You need to search, read, or send Gmail messages from the command line without an MCP server.\n- You are automating inbox workflows for a Google Workspace account.\n- You want a lightweight Gmail integration backed by standalone OAuth scripts.\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## Commands\n\nAll operations via `scripts\u002Fgmail.py`. Auto-authenticates on first use if not logged in.\n\n### Search Emails\n\n```bash\n# Search with Gmail query syntax\npython scripts\u002Fgmail.py search \"from:someone@example.com is:unread\"\n\n# Search recent emails (no query returns all)\npython scripts\u002Fgmail.py search --limit 20\n\n# Filter by label\npython scripts\u002Fgmail.py search --label INBOX --limit 10\n\n# Include spam and trash\npython scripts\u002Fgmail.py search \"subject:important\" --include-spam-trash\n```\n\n### Read Email Content\n\n```bash\n# Get full message content\npython scripts\u002Fgmail.py get MESSAGE_ID\n\n# Get just metadata (headers)\npython scripts\u002Fgmail.py get MESSAGE_ID --format metadata\n\n# Get minimal response (IDs only)\npython scripts\u002Fgmail.py get MESSAGE_ID --format minimal\n```\n\n### Send Emails\n\n```bash\n# Send a simple email\npython scripts\u002Fgmail.py send --to \"user@example.com\" --subject \"Hello\" --body \"Message body\"\n\n# Send with CC and BCC\npython scripts\u002Fgmail.py send --to \"user@example.com\" --cc \"cc@example.com\" --bcc \"bcc@example.com\" \\\n  --subject \"Team Update\" --body \"Update message\"\n\n# Send from an alias (must be configured in Gmail settings)\npython scripts\u002Fgmail.py send --to \"user@example.com\" --subject \"Hello\" --body \"Message\" \\\n  --from \"Mile9 Accounts \u003Caccounts@mile9.io>\"\n\n# Send HTML email\npython scripts\u002Fgmail.py send --to \"user@example.com\" --subject \"HTML Email\" \\\n  --body \"\u003Ch1>Hello\u003C\u002Fh1>\u003Cp>HTML content\u003C\u002Fp>\" --html\n```\n\n### Draft Management\n\n```bash\n# Create a draft\npython scripts\u002Fgmail.py create-draft --to \"user@example.com\" --subject \"Draft Subject\" \\\n  --body \"Draft content\"\n\n# Send an existing draft\npython scripts\u002Fgmail.py send-draft DRAFT_ID\n```\n\n### Modify Messages (Labels)\n\n```bash\n# Mark as read (remove UNREAD label)\npython scripts\u002Fgmail.py modify MESSAGE_ID --remove-label UNREAD\n\n# Mark as unread\npython scripts\u002Fgmail.py modify MESSAGE_ID --add-label UNREAD\n\n# Archive (remove from INBOX)\npython scripts\u002Fgmail.py modify MESSAGE_ID --remove-label INBOX\n\n# Star a message\npython scripts\u002Fgmail.py modify MESSAGE_ID --add-label STARRED\n\n# Unstar a message\npython scripts\u002Fgmail.py modify MESSAGE_ID --remove-label STARRED\n\n# Mark as important\npython scripts\u002Fgmail.py modify MESSAGE_ID --add-label IMPORTANT\n\n# Multiple label changes at once\npython scripts\u002Fgmail.py modify MESSAGE_ID --remove-label UNREAD --add-label STARRED\n```\n\n### List Labels\n\n```bash\n# List all Gmail labels (system and user-created)\npython scripts\u002Fgmail.py list-labels\n```\n\n## Gmail Query Syntax\n\nGmail supports powerful search operators:\n\n| Query | Description |\n|-------|-------------|\n| `from:user@example.com` | Emails from a specific sender |\n| `to:user@example.com` | Emails to a specific recipient |\n| `subject:meeting` | Emails with \"meeting\" in subject |\n| `is:unread` | Unread emails |\n| `is:starred` | Starred emails |\n| `is:important` | Important emails |\n| `has:attachment` | Emails with attachments |\n| `after:2024\u002F01\u002F01` | Emails after a date |\n| `before:2024\u002F12\u002F31` | Emails before a date |\n| `newer_than:7d` | Emails from last 7 days |\n| `older_than:1m` | Emails older than 1 month |\n| `label:work` | Emails with a specific label |\n| `in:inbox` | Emails in inbox |\n| `in:sent` | Sent emails |\n| `in:trash` | Trashed emails |\n\nCombine with AND (space), OR, or - (NOT):\n```bash\npython scripts\u002Fgmail.py search \"from:boss@company.com is:unread newer_than:1d\"\npython scripts\u002Fgmail.py search \"subject:urgent OR subject:important\"\npython scripts\u002Fgmail.py search \"from:newsletter@example.com -is:starred\"\n```\n\n## Common Label IDs\n\n| Label | ID |\n|-------|-----|\n| Inbox | `INBOX` |\n| Sent | `SENT` |\n| Drafts | `DRAFT` |\n| Spam | `SPAM` |\n| Trash | `TRASH` |\n| Starred | `STARRED` |\n| Important | `IMPORTANT` |\n| Unread | `UNREAD` |\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: `gmail-skill-oauth`\n\nTokens automatically refresh when expired using Google's cloud function.\n",{"name":5,"risk":31,"source":27,"license":15,"metadata":42,"description":7},{"author":43,"version":44},"sanjay3290","1.0","main","681496e0662f4c45c4758fae9d4510ae87311bf2","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills","https:\u002F\u002Fgithub.com\u002Fagency-black","http:\u002F\u002Fwww.dogma.black","Las grandes ideas merecen una ejecución impecable. Construimos plataformas web, aplicaciones y ecosistemas digitales completos. Esta Trinidad es nuestro dogma.","2026-05-29 16:13:55",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add agency-black\u002FSkills --skill gmail-automation",{"tool":58,"command":59},"bunx","bunx skills add agency-black\u002FSkills --skill gmail-automation",{"tool":61,"command":62},"pnpm","pnpm dlx skills add agency-black\u002FSkills --skill gmail-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fgmail-automation\u002FSKILL.md",true,[],[67,95,122,151,176,201],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":37},"01M71JZVZ0TVW7Z5DQBRWSBG8A","zarr-python","Chunked N-D arrays for cloud storage (Zarr-Python 3). Compressed arrays, parallel I\u002FO, S3\u002FGCS via fsspec, NumPy\u002FDask\u002FXarray compatible, for large-scale scientific computing pipelines.","MIT","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fzarr-python\u002FSKILL.md",[],[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],"zarr python","python","zarr","arrays","Cloud Storage","remote","workflows","scientific","read","write","edit","parallel","dask","for","s3fs","use","numpy","s3","scientific computing","scale",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":71,"licenseFileUrl":99,"sourceHtmlUrl":100,"categories":101,"keywords":105,"publishedAt":37},"01M71JYXC5VAEJT8KXN5GRK32S","xvary-stock-research","Thesis-driven equity analysis from public SEC EDGAR and market data; \u002Fanalyze, \u002Fscore, \u002Fcompare workflows with bundled Python tools (Claude Code, Cursor, Codex).","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fxvary-stock-research\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fxvary-stock-research\u002FSKILL.md",[102],{"categoryNo":103,"categoryName":104,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[106,107,108,109,110,27,111,76,112,81,113,114,115,116,117,118,34,119,120,121],"xvary","stock","research","xvary stock research","sec edgar","equity","thesis","analysis","code","Market","compare","market data","analyze","codex","cursor","2026",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":126,"sourceHtmlUrl":127,"categories":128,"keywords":135,"publishedAt":37},"01M71JVSDPDQ5040YBN6J1ASKY","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fwebapp-testing\u002FSKILL.md",[129,132],{"categoryNo":130,"categoryName":131,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":133,"categoryName":134,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[136,137,138,88,139,140,141,142,143,144,145,34,146,147,148,149,150],"webapp","testing","webapp testing","applications","local","frontend","debugging","toolkit","logs","browser","playwright","web","behavior","ui","screenshots",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":155,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":37},"01M71JV64CW7R6FYYK9JWWGW0X","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fweb-artifacts-builder\u002FSKILL.md",[158],{"categoryNo":133,"categoryName":134,"taxonomyType":21,"taxonomyTypeDesc":22},[160,161,162,147,163,164,165,88,166,167,141,168,90,169,170,171,172,173,174,175],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","file","components","react","multi","state","routing","state management",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":37},"01M71JS4X2FRY41DE84DEP06MN","vercel-react-view-transitions","Guide for implementing smooth, native-feeling animations using React's View Transition API (`\u003CViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter\u002Fexit of components, animate list reorder, implement directional (forward\u002Fback) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view transitions, `startViewTransition`, `ViewTransition`, transition types, or asks about animating between UI states in React without third-party animation libraries.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fvercel-react-view-transitions\u002FSKILL.md",[182],{"categoryNo":133,"categoryName":134,"taxonomyType":21,"taxonomyTypeDesc":22},[171,184,185,186,187,188,189,190,191,165,192,193,194,195,196,170,197,198,199,200],"vercel react view transitions","view","react view transitions","vercel","transitions","shared","back","Animation","types","states","element","implementing","when","api","route","create","libraries",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":208,"publishedAt":37},"01M71JS1WZ1J4F9YVC2203JBJW","vercel-react-native-skills","React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.","https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fvercel-react-native-skills\u002FSKILL.md",[207],{"categoryNo":133,"categoryName":134,"taxonomyType":21,"taxonomyTypeDesc":22},[187,209,171,210,211,212,213,214,215,88,216,195,217,90,218,219,196,220,221,170],"vercel react native skills","react native","native","react native skills","modules","platform","animations","performance","triggers","react native components","apps","best practices","tasks"]