[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6E8AQ2005EAF1VM8ASPRHWB":3,"skill-same:01M6E8AQ2005EAF1VM8ASPRHWB":75},{"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":25,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M6E8AQ2005EAF1VM8ASPRHWB","google-slides-automation",null,"Read and write Google Slides presentations - get text, find presentations, create presentations, add slides,\nreplace text, and manage slide content. Use when user asks to: read a presentation, create slides, find slides,\nadd a slide, replace text in a presentation, or...","kursku\u002Fskills","kursku","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15705647?v=4","01M6E5VWJKMRJQ1PNFP2P0PYVZ","01M6E5VWSCHN2C3RVE67795NRC",125,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills\u002Fblob\u002Fmaster\u002Fpacks\u002Fglobal-skillshare-import\u002Fwave-007\u002Fgoogle-slides-automation\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"automation","google slides automation","google slides","slides","google","find","add","get","manage","use","user","write","read","text","content","create","presentations","safe","2026-11-10 10:12:30",false,"---\nname: google-slides-automation\ndescription: |\n  Read and write Google Slides presentations - get text, find presentations, create presentations, add slides,\n  replace text, and manage slide content. Use when user asks to: read a presentation, create slides, find slides,\n  add a slide, replace text in a presentation, or...\nlicense: Apache-2.0\nmetadata:\n  author: sanjay3290\n  version: \"1.0\"\nrisk: safe\n---\n\n# Google Slides\n\nLightweight Google Slides 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\u002Fslides.py`. Auto-authenticates on first use if not logged in.\n\n```bash\n# Get all text content from a presentation\npython scripts\u002Fslides.py get-text \"1abc123xyz789\"\npython scripts\u002Fslides.py get-text \"https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1abc123xyz789\u002Fedit\"\n\n# Find presentations by search query\npython scripts\u002Fslides.py find \"quarterly report\"\npython scripts\u002Fslides.py find \"project proposal\" --limit 5\n\n# Get presentation metadata (title, slide count, slide object IDs)\npython scripts\u002Fslides.py get-metadata \"1abc123xyz789\"\n```\n\n## Write Commands\n\n```bash\n# Create a new empty presentation\npython scripts\u002Fslides.py create \"Q4 Sales Report\"\n\n# Add a blank slide to the end\npython scripts\u002Fslides.py add-slide \"1abc123xyz789\"\n\n# Add a slide with a specific layout\npython scripts\u002Fslides.py add-slide \"1abc123xyz789\" --layout TITLE_AND_BODY\n\n# Add a slide at a specific position (0-based index)\npython scripts\u002Fslides.py add-slide \"1abc123xyz789\" --layout TITLE --at 0\n\n# Find and replace text across all slides\npython scripts\u002Fslides.py replace-text \"1abc123xyz789\" \"old text\" \"new text\"\npython scripts\u002Fslides.py replace-text \"1abc123xyz789\" \"Draft\" \"Final\" --match-case\n\n# Delete a slide by object ID (use get-metadata to find IDs)\npython scripts\u002Fslides.py delete-slide \"1abc123xyz789\" \"g123abc456\"\n\n# Batch update (advanced - for formatting, inserting shapes, images, etc.)\npython scripts\u002Fslides.py batch-update \"1abc123xyz789\" '[{\"replaceAllText\":{\"containsText\":{\"text\":\"foo\"},\"replaceText\":\"bar\"}}]'\n```\n\n## Slide Layouts\n\nAvailable layouts for `add-slide --layout`:\n- `BLANK` - Empty slide (default)\n- `TITLE` - Title slide\n- `TITLE_AND_BODY` - Title with body text\n- `TITLE_AND_TWO_COLUMNS` - Title with two text columns\n- `TITLE_ONLY` - Title bar only\n- `SECTION_HEADER` - Section divider\n- `ONE_COLUMN_TEXT` - Single column text\n- `MAIN_POINT` - Main point highlight\n- `BIG_NUMBER` - Large number display\n\n## Presentation ID Format\n\nYou can use either:\n- Direct presentation ID: `1abc123xyz789`\n- Full Google Slides URL: `https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1abc123xyz789\u002Fedit`\n\nThe scripts automatically extract the ID from URLs.\n\n## Output Format\n\n### get-text\nReturns extracted text from all slides, including:\n- Presentation title\n- Text from shapes\u002Ftext boxes on each slide\n- Table data with cell contents\n\n### find\nReturns list of matching presentations:\n```json\n{\n  \"presentations\": [\n    {\"id\": \"1abc...\", \"name\": \"Q4 Report\", \"modifiedTime\": \"2024-01-15T...\"}\n  ],\n  \"nextPageToken\": \"...\"\n}\n```\n\n### get-metadata\nReturns presentation details:\n```json\n{\n  \"presentationId\": \"1abc...\",\n  \"title\": \"My Presentation\",\n  \"slideCount\": 15,\n  \"pageSize\": {\"width\": {...}, \"height\": {...}},\n  \"hasMasters\": true,\n  \"hasLayouts\": true\n}\n```\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-slides-skill-oauth`\n\nAutomatically refreshes expired tokens using Google's cloud function.\n","# Google Slides\n\nLightweight Google Slides 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\u002Fslides.py`. Auto-authenticates on first use if not logged in.\n\n```bash\n# Get all text content from a presentation\npython scripts\u002Fslides.py get-text \"1abc123xyz789\"\npython scripts\u002Fslides.py get-text \"https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1abc123xyz789\u002Fedit\"\n\n# Find presentations by search query\npython scripts\u002Fslides.py find \"quarterly report\"\npython scripts\u002Fslides.py find \"project proposal\" --limit 5\n\n# Get presentation metadata (title, slide count, slide object IDs)\npython scripts\u002Fslides.py get-metadata \"1abc123xyz789\"\n```\n\n## Write Commands\n\n```bash\n# Create a new empty presentation\npython scripts\u002Fslides.py create \"Q4 Sales Report\"\n\n# Add a blank slide to the end\npython scripts\u002Fslides.py add-slide \"1abc123xyz789\"\n\n# Add a slide with a specific layout\npython scripts\u002Fslides.py add-slide \"1abc123xyz789\" --layout TITLE_AND_BODY\n\n# Add a slide at a specific position (0-based index)\npython scripts\u002Fslides.py add-slide \"1abc123xyz789\" --layout TITLE --at 0\n\n# Find and replace text across all slides\npython scripts\u002Fslides.py replace-text \"1abc123xyz789\" \"old text\" \"new text\"\npython scripts\u002Fslides.py replace-text \"1abc123xyz789\" \"Draft\" \"Final\" --match-case\n\n# Delete a slide by object ID (use get-metadata to find IDs)\npython scripts\u002Fslides.py delete-slide \"1abc123xyz789\" \"g123abc456\"\n\n# Batch update (advanced - for formatting, inserting shapes, images, etc.)\npython scripts\u002Fslides.py batch-update \"1abc123xyz789\" '[{\"replaceAllText\":{\"containsText\":{\"text\":\"foo\"},\"replaceText\":\"bar\"}}]'\n```\n\n## Slide Layouts\n\nAvailable layouts for `add-slide --layout`:\n- `BLANK` - Empty slide (default)\n- `TITLE` - Title slide\n- `TITLE_AND_BODY` - Title with body text\n- `TITLE_AND_TWO_COLUMNS` - Title with two text columns\n- `TITLE_ONLY` - Title bar only\n- `SECTION_HEADER` - Section divider\n- `ONE_COLUMN_TEXT` - Single column text\n- `MAIN_POINT` - Main point highlight\n- `BIG_NUMBER` - Large number display\n\n## Presentation ID Format\n\nYou can use either:\n- Direct presentation ID: `1abc123xyz789`\n- Full Google Slides URL: `https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1abc123xyz789\u002Fedit`\n\nThe scripts automatically extract the ID from URLs.\n\n## Output Format\n\n### get-text\nReturns extracted text from all slides, including:\n- Presentation title\n- Text from shapes\u002Ftext boxes on each slide\n- Table data with cell contents\n\n### find\nReturns list of matching presentations:\n```json\n{\n  \"presentations\": [\n    {\"id\": \"1abc...\", \"name\": \"Q4 Report\", \"modifiedTime\": \"2024-01-15T...\"}\n  ],\n  \"nextPageToken\": \"...\"\n}\n```\n\n### get-metadata\nReturns presentation details:\n```json\n{\n  \"presentationId\": \"1abc...\",\n  \"title\": \"My Presentation\",\n  \"slideCount\": 15,\n  \"pageSize\": {\"width\": {...}, \"height\": {...}},\n  \"hasMasters\": true,\n  \"hasLayouts\": true\n}\n```\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-slides-skill-oauth`\n\nAutomatically refreshes expired tokens using Google's cloud function.\n",{"name":5,"risk":43,"license":14,"metadata":49,"description":52},{"author":50,"version":51},"sanjay3290","1.0","Read and write Google Slides presentations - get text, find presentations, create presentations, add slides,\nreplace text, and manage slide content. Use when user asks to: read a presentation, create slides, find slides,\nadd a slide, replace text in a presentation, or...\n","master","346c313fd2ec241a088c68274da26c538422568b","packs\u002Fglobal-skillshare-import\u002Fwave-007\u002Fgoogle-slides-automation",35,"https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills","https:\u002F\u002Fclaude.ai","https:\u002F\u002Fgithub.com\u002Fkursku","2026-03-27 22:43:37",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add kursku\u002Fskills --skill google-slides-automation",{"tool":67,"command":68},"bunx","bunx skills add kursku\u002Fskills --skill google-slides-automation",{"tool":70,"command":71},"pnpm","pnpm dlx skills add kursku\u002Fskills --skill google-slides-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills\u002Fblob\u002Fmaster\u002Fpacks\u002Fglobal-skillshare-import\u002Fwave-007\u002Fgoogle-slides-automation\u002FSKILL.md",true,[],[76,98,109,121,132,142],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":91,"publishedAt":44},"01M6ECKM7725267ZM3XNYWH608","wedding-marketing","Wedding Marketing — Skill especializada para criar e executar estratégias de marketing digital para o mercado de casamentos, focando em noivos e fornecedores.","MIT","https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills\u002Fblob\u002Fmaster\u002Fpacks\u002Fkit-510-ptbr\u002F16-nichos-especificos\u002Fwedding-marketing\u002FSKILL.md",[83,86],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000019","营销推广",{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000035","市场营销","PROFESSION","适用职业",[92,93,94,95,96,97],"wedding marketing","marketing","marketing digital","de","para","code",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":106,"publishedAt":44},"01M6ECKGP656JQC2C6CK5JH3ZG","travel-marketing","Travel Marketing — Skill especializada para travel marketing","https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills\u002Fblob\u002Fmaster\u002Fpacks\u002Fkit-510-ptbr\u002F16-nichos-especificos\u002Ftravel-marketing\u002FSKILL.md",[104,105],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[107,108,93,96,97,43],"travel marketing","travel",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":117,"publishedAt":44},"01M6ECKBY53SJ7E167D6BXTMRK","tech-startup-marketing","Tech Startup Marketing — Skill especializada para tech startup marketing","https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills\u002Fblob\u002Fmaster\u002Fpacks\u002Fkit-510-ptbr\u002F16-nichos-especificos\u002Ftech-startup-marketing\u002FSKILL.md",[115,116],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[118,119,93,120,96,97,43],"tech startup marketing","tech","startup",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":129,"publishedAt":44},"01M6ECK7W2W0J5MZ8BZHFM516P","saas-marketing","Saas Marketing — Skill especializada para desenvolver e executar estratégias de marketing digital focadas no crescimento de produtos SaaS.","https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills\u002Fblob\u002Fmaster\u002Fpacks\u002Fkit-510-ptbr\u002F16-nichos-especificos\u002Fsaas-marketing\u002FSKILL.md",[127,128],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[130,93,131,43,94,95,96,97],"saas marketing","saas",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":140,"publishedAt":44},"01M6ECK42ZSX5ND0SCTRKD7XKB","restaurant-marketing","Restaurant Marketing — Skill especializada para otimizar a presença digital, atrair e reter clientes em restaurantes.","https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills\u002Fblob\u002Fmaster\u002Fpacks\u002Fkit-510-ptbr\u002F16-nichos-especificos\u002Frestaurant-marketing\u002FSKILL.md",[138,139],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[141,93,97,96],"restaurant marketing",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":150,"publishedAt":44},"01M6ECK0S48CPYE9P7PRAG9R3T","real-estate-marketing","Real Estate Marketing — Skill especializada para criação e execução de estratégias de marketing digital para o setor imobiliário.","https:\u002F\u002Fgithub.com\u002Fkursku\u002Fskills\u002Fblob\u002Fmaster\u002Fpacks\u002Fkit-510-ptbr\u002F16-nichos-especificos\u002Freal-estate-marketing\u002FSKILL.md",[148,149],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[93,151,152,97,96,95,94,43],"real estate","real estate marketing"]