[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M715AT30RVZPQZJ01YBAWWEF":3,"skill-same:01M715AT30RVZPQZJ01YBAWWEF":70},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M715AT30RVZPQZJ01YBAWWEF","azure-ai-vision-imageanalysis-java",null,"Build image analysis applications with Azure AI Vision SDK for Java. Use when implementing image captioning, OCR text extraction, object detection, tagging, or smart cropping.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcursor\u002Fazure-ai-vision-imageanalysis-java\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"azure ai","azure","azure ai vision imageanalysis java","java","vision","azure ai vision","2026","image","tagging","when","captioning","unknown","for","implementing","object detection","community","text","analysis","applications","ocr","2026-11-10 10:12:30",false,"---\nname: azure-ai-vision-imageanalysis-java\ndescription: \"Build image analysis applications with Azure AI Vision SDK for Java. Use when implementing image captioning, OCR text extraction, object detection, tagging, or smart cropping.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Azure AI Vision Image Analysis SDK for Java\n\nBuild image analysis applications using the Azure AI Vision Image Analysis SDK for Java.\n\n## Installation\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.azure\u003C\u002FgroupId>\n    \u003CartifactId>azure-ai-vision-imageanalysis\u003C\u002FartifactId>\n    \u003Cversion>1.1.0-beta.1\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Client Creation\n\n### With API Key\n\n```java\nimport com.azure.ai.vision.imageanalysis.ImageAnalysisClient;\nimport com.azure.ai.vision.imageanalysis.ImageAnalysisClientBuilder;\nimport com.azure.core.credential.KeyCredential;\n\nString endpoint = System.getenv(\"VISION_ENDPOINT\");\nString key = System.getenv(\"VISION_KEY\");\n\nImageAnalysisClient client = new ImageAnalysisClientBuilder()\n    .endpoint(endpoint)\n    .credential(new KeyCredential(key))\n    .buildClient();\n```\n\n### Async Client\n\n```java\nimport com.azure.ai.vision.imageanalysis.ImageAnalysisAsyncClient;\n\nImageAnalysisAsyncClient asyncClient = new ImageAnalysisClientBuilder()\n    .endpoint(endpoint)\n    .credential(new KeyCredential(key))\n    .buildAsyncClient();\n```\n\n### With DefaultAzureCredential\n\n```java\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nImageAnalysisClient client = new ImageAnalysisClientBuilder()\n    .endpoint(endpoint)\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n```\n\n## Visual Features\n\n| Feature | Description |\n|---------|-------------|\n| `CAPTION` | Generate human-readable image description |\n| `DENSE_CAPTIONS` | Captions for up to 10 regions |\n| `READ` | OCR - Extract text from images |\n| `TAGS` | Content tags for objects, scenes, actions |\n| `OBJECTS` | Detect objects with bounding boxes |\n| `SMART_CROPS` | Smart thumbnail regions |\n| `PEOPLE` | Detect people with locations |\n\n## Core Patterns\n\n### Generate Caption\n\n```java\nimport com.azure.ai.vision.imageanalysis.models.*;\nimport com.azure.core.util.BinaryData;\nimport java.io.File;\nimport java.util.Arrays;\n\n\u002F\u002F From file\nBinaryData imageData = BinaryData.fromFile(new File(\"image.jpg\").toPath());\n\nImageAnalysisResult result = client.analyze(\n    imageData,\n    Arrays.asList(VisualFeatures.CAPTION),\n    new ImageAnalysisOptions().setGenderNeutralCaption(true));\n\nSystem.out.printf(\"Caption: \\\"%s\\\" (confidence: %.4f)%n\",\n    result.getCaption().getText(),\n    result.getCaption().getConfidence());\n```\n\n### Generate Caption from URL\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    \"https:\u002F\u002Fexample.com\u002Fimage.jpg\",\n    Arrays.asList(VisualFeatures.CAPTION),\n    new ImageAnalysisOptions().setGenderNeutralCaption(true));\n\nSystem.out.printf(\"Caption: \\\"%s\\\"%n\", result.getCaption().getText());\n```\n\n### Extract Text (OCR)\n\n```java\nImageAnalysisResult result = client.analyze(\n    BinaryData.fromFile(new File(\"document.jpg\").toPath()),\n    Arrays.asList(VisualFeatures.READ),\n    null);\n\nfor (DetectedTextBlock block : result.getRead().getBlocks()) {\n    for (DetectedTextLine line : block.getLines()) {\n        System.out.printf(\"Line: '%s'%n\", line.getText());\n        System.out.printf(\"  Bounding polygon: %s%n\", line.getBoundingPolygon());\n        \n        for (DetectedTextWord word : line.getWords()) {\n            System.out.printf(\"  Word: '%s' (confidence: %.4f)%n\",\n                word.getText(),\n                word.getConfidence());\n        }\n    }\n}\n```\n\n### Detect Objects\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.OBJECTS),\n    null);\n\nfor (DetectedObject obj : result.getObjects()) {\n    System.out.printf(\"Object: %s (confidence: %.4f)%n\",\n        obj.getTags().get(0).getName(),\n        obj.getTags().get(0).getConfidence());\n    \n    ImageBoundingBox box = obj.getBoundingBox();\n    System.out.printf(\"  Location: x=%d, y=%d, w=%d, h=%d%n\",\n        box.getX(), box.getY(), box.getWidth(), box.getHeight());\n}\n```\n\n### Get Tags\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.TAGS),\n    null);\n\nfor (DetectedTag tag : result.getTags()) {\n    System.out.printf(\"Tag: %s (confidence: %.4f)%n\",\n        tag.getName(),\n        tag.getConfidence());\n}\n```\n\n### Detect People\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.PEOPLE),\n    null);\n\nfor (DetectedPerson person : result.getPeople()) {\n    ImageBoundingBox box = person.getBoundingBox();\n    System.out.printf(\"Person at x=%d, y=%d (confidence: %.4f)%n\",\n        box.getX(), box.getY(), person.getConfidence());\n}\n```\n\n### Smart Cropping\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.SMART_CROPS),\n    new ImageAnalysisOptions().setSmartCropsAspectRatios(Arrays.asList(1.0, 1.5)));\n\nfor (CropRegion crop : result.getSmartCrops()) {\n    System.out.printf(\"Crop region: aspect=%.2f, x=%d, y=%d, w=%d, h=%d%n\",\n        crop.getAspectRatio(),\n        crop.getBoundingBox().getX(),\n        crop.getBoundingBox().getY(),\n        crop.getBoundingBox().getWidth(),\n        crop.getBoundingBox().getHeight());\n}\n```\n\n### Dense Captions\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.DENSE_CAPTIONS),\n    new ImageAnalysisOptions().setGenderNeutralCaption(true));\n\nfor (DenseCaption caption : result.getDenseCaptions()) {\n    System.out.printf(\"Caption: \\\"%s\\\" (confidence: %.4f)%n\",\n        caption.getText(),\n        caption.getConfidence());\n    System.out.printf(\"  Region: x=%d, y=%d, w=%d, h=%d%n\",\n        caption.getBoundingBox().getX(),\n        caption.getBoundingBox().getY(),\n        caption.getBoundingBox().getWidth(),\n        caption.getBoundingBox().getHeight());\n}\n```\n\n### Multiple Features\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(\n        VisualFeatures.CAPTION,\n        VisualFeatures.TAGS,\n        VisualFeatures.OBJECTS,\n        VisualFeatures.READ),\n    new ImageAnalysisOptions()\n        .setGenderNeutralCaption(true)\n        .setLanguage(\"en\"));\n\n\u002F\u002F Access all results\nSystem.out.println(\"Caption: \" + result.getCaption().getText());\nSystem.out.println(\"Tags: \" + result.getTags().size());\nSystem.out.println(\"Objects: \" + result.getObjects().size());\nSystem.out.println(\"Text blocks: \" + result.getRead().getBlocks().size());\n```\n\n### Async Analysis\n\n```java\nasyncClient.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.CAPTION),\n    null)\n    .subscribe(\n        result -> System.out.println(\"Caption: \" + result.getCaption().getText()),\n        error -> System.err.println(\"Error: \" + error.getMessage()),\n        () -> System.out.println(\"Complete\")\n    );\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    client.analyzeFromUrl(imageUrl, Arrays.asList(VisualFeatures.CAPTION), null);\n} catch (HttpResponseException e) {\n    System.out.println(\"Status: \" + e.getResponse().getStatusCode());\n    System.out.println(\"Error: \" + e.getMessage());\n}\n```\n\n## Environment Variables\n\n```bash\nVISION_ENDPOINT=https:\u002F\u002F\u003Cresource>.cognitiveservices.azure.com\u002F\nVISION_KEY=\u003Cyour-api-key>\n```\n\n## Image Requirements\n\n- Formats: JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF, MPO\n- Size: \u003C 20 MB\n- Dimensions: 50x50 to 16000x16000 pixels\n\n## Regional Availability\n\nCaption and Dense Captions require GPU-supported regions. Check [supported regions](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-services\u002Fcomputer-vision\u002Fconcept-describe-images-40) before deployment.\n\n## Trigger Phrases\n\n- \"image analysis Java\"\n- \"Azure Vision SDK\"\n- \"image captioning\"\n- \"OCR image text extraction\"\n- \"object detection image\"\n- \"smart crop thumbnail\"\n- \"detect people image\"\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Azure AI Vision Image Analysis SDK for Java\n\nBuild image analysis applications using the Azure AI Vision Image Analysis SDK for Java.\n\n## Installation\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.azure\u003C\u002FgroupId>\n    \u003CartifactId>azure-ai-vision-imageanalysis\u003C\u002FartifactId>\n    \u003Cversion>1.1.0-beta.1\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Client Creation\n\n### With API Key\n\n```java\nimport com.azure.ai.vision.imageanalysis.ImageAnalysisClient;\nimport com.azure.ai.vision.imageanalysis.ImageAnalysisClientBuilder;\nimport com.azure.core.credential.KeyCredential;\n\nString endpoint = System.getenv(\"VISION_ENDPOINT\");\nString key = System.getenv(\"VISION_KEY\");\n\nImageAnalysisClient client = new ImageAnalysisClientBuilder()\n    .endpoint(endpoint)\n    .credential(new KeyCredential(key))\n    .buildClient();\n```\n\n### Async Client\n\n```java\nimport com.azure.ai.vision.imageanalysis.ImageAnalysisAsyncClient;\n\nImageAnalysisAsyncClient asyncClient = new ImageAnalysisClientBuilder()\n    .endpoint(endpoint)\n    .credential(new KeyCredential(key))\n    .buildAsyncClient();\n```\n\n### With DefaultAzureCredential\n\n```java\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nImageAnalysisClient client = new ImageAnalysisClientBuilder()\n    .endpoint(endpoint)\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n```\n\n## Visual Features\n\n| Feature | Description |\n|---------|-------------|\n| `CAPTION` | Generate human-readable image description |\n| `DENSE_CAPTIONS` | Captions for up to 10 regions |\n| `READ` | OCR - Extract text from images |\n| `TAGS` | Content tags for objects, scenes, actions |\n| `OBJECTS` | Detect objects with bounding boxes |\n| `SMART_CROPS` | Smart thumbnail regions |\n| `PEOPLE` | Detect people with locations |\n\n## Core Patterns\n\n### Generate Caption\n\n```java\nimport com.azure.ai.vision.imageanalysis.models.*;\nimport com.azure.core.util.BinaryData;\nimport java.io.File;\nimport java.util.Arrays;\n\n\u002F\u002F From file\nBinaryData imageData = BinaryData.fromFile(new File(\"image.jpg\").toPath());\n\nImageAnalysisResult result = client.analyze(\n    imageData,\n    Arrays.asList(VisualFeatures.CAPTION),\n    new ImageAnalysisOptions().setGenderNeutralCaption(true));\n\nSystem.out.printf(\"Caption: \\\"%s\\\" (confidence: %.4f)%n\",\n    result.getCaption().getText(),\n    result.getCaption().getConfidence());\n```\n\n### Generate Caption from URL\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    \"https:\u002F\u002Fexample.com\u002Fimage.jpg\",\n    Arrays.asList(VisualFeatures.CAPTION),\n    new ImageAnalysisOptions().setGenderNeutralCaption(true));\n\nSystem.out.printf(\"Caption: \\\"%s\\\"%n\", result.getCaption().getText());\n```\n\n### Extract Text (OCR)\n\n```java\nImageAnalysisResult result = client.analyze(\n    BinaryData.fromFile(new File(\"document.jpg\").toPath()),\n    Arrays.asList(VisualFeatures.READ),\n    null);\n\nfor (DetectedTextBlock block : result.getRead().getBlocks()) {\n    for (DetectedTextLine line : block.getLines()) {\n        System.out.printf(\"Line: '%s'%n\", line.getText());\n        System.out.printf(\"  Bounding polygon: %s%n\", line.getBoundingPolygon());\n        \n        for (DetectedTextWord word : line.getWords()) {\n            System.out.printf(\"  Word: '%s' (confidence: %.4f)%n\",\n                word.getText(),\n                word.getConfidence());\n        }\n    }\n}\n```\n\n### Detect Objects\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.OBJECTS),\n    null);\n\nfor (DetectedObject obj : result.getObjects()) {\n    System.out.printf(\"Object: %s (confidence: %.4f)%n\",\n        obj.getTags().get(0).getName(),\n        obj.getTags().get(0).getConfidence());\n    \n    ImageBoundingBox box = obj.getBoundingBox();\n    System.out.printf(\"  Location: x=%d, y=%d, w=%d, h=%d%n\",\n        box.getX(), box.getY(), box.getWidth(), box.getHeight());\n}\n```\n\n### Get Tags\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.TAGS),\n    null);\n\nfor (DetectedTag tag : result.getTags()) {\n    System.out.printf(\"Tag: %s (confidence: %.4f)%n\",\n        tag.getName(),\n        tag.getConfidence());\n}\n```\n\n### Detect People\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.PEOPLE),\n    null);\n\nfor (DetectedPerson person : result.getPeople()) {\n    ImageBoundingBox box = person.getBoundingBox();\n    System.out.printf(\"Person at x=%d, y=%d (confidence: %.4f)%n\",\n        box.getX(), box.getY(), person.getConfidence());\n}\n```\n\n### Smart Cropping\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.SMART_CROPS),\n    new ImageAnalysisOptions().setSmartCropsAspectRatios(Arrays.asList(1.0, 1.5)));\n\nfor (CropRegion crop : result.getSmartCrops()) {\n    System.out.printf(\"Crop region: aspect=%.2f, x=%d, y=%d, w=%d, h=%d%n\",\n        crop.getAspectRatio(),\n        crop.getBoundingBox().getX(),\n        crop.getBoundingBox().getY(),\n        crop.getBoundingBox().getWidth(),\n        crop.getBoundingBox().getHeight());\n}\n```\n\n### Dense Captions\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.DENSE_CAPTIONS),\n    new ImageAnalysisOptions().setGenderNeutralCaption(true));\n\nfor (DenseCaption caption : result.getDenseCaptions()) {\n    System.out.printf(\"Caption: \\\"%s\\\" (confidence: %.4f)%n\",\n        caption.getText(),\n        caption.getConfidence());\n    System.out.printf(\"  Region: x=%d, y=%d, w=%d, h=%d%n\",\n        caption.getBoundingBox().getX(),\n        caption.getBoundingBox().getY(),\n        caption.getBoundingBox().getWidth(),\n        caption.getBoundingBox().getHeight());\n}\n```\n\n### Multiple Features\n\n```java\nImageAnalysisResult result = client.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(\n        VisualFeatures.CAPTION,\n        VisualFeatures.TAGS,\n        VisualFeatures.OBJECTS,\n        VisualFeatures.READ),\n    new ImageAnalysisOptions()\n        .setGenderNeutralCaption(true)\n        .setLanguage(\"en\"));\n\n\u002F\u002F Access all results\nSystem.out.println(\"Caption: \" + result.getCaption().getText());\nSystem.out.println(\"Tags: \" + result.getTags().size());\nSystem.out.println(\"Objects: \" + result.getObjects().size());\nSystem.out.println(\"Text blocks: \" + result.getRead().getBlocks().size());\n```\n\n### Async Analysis\n\n```java\nasyncClient.analyzeFromUrl(\n    imageUrl,\n    Arrays.asList(VisualFeatures.CAPTION),\n    null)\n    .subscribe(\n        result -> System.out.println(\"Caption: \" + result.getCaption().getText()),\n        error -> System.err.println(\"Error: \" + error.getMessage()),\n        () -> System.out.println(\"Complete\")\n    );\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    client.analyzeFromUrl(imageUrl, Arrays.asList(VisualFeatures.CAPTION), null);\n} catch (HttpResponseException e) {\n    System.out.println(\"Status: \" + e.getResponse().getStatusCode());\n    System.out.println(\"Error: \" + e.getMessage());\n}\n```\n\n## Environment Variables\n\n```bash\nVISION_ENDPOINT=https:\u002F\u002F\u003Cresource>.cognitiveservices.azure.com\u002F\nVISION_KEY=\u003Cyour-api-key>\n```\n\n## Image Requirements\n\n- Formats: JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF, MPO\n- Size: \u003C 20 MB\n- Dimensions: 50x50 to 16000x16000 pixels\n\n## Regional Availability\n\nCaption and Dense Captions require GPU-supported regions. Check [supported regions](https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fai-services\u002Fcomputer-vision\u002Fconcept-describe-images-40) before deployment.\n\n## Trigger Phrases\n\n- \"image analysis Java\"\n- \"Azure Vision SDK\"\n- \"image captioning\"\n- \"OCR image text extraction\"\n- \"object detection image\"\n- \"smart crop thumbnail\"\n- \"detect people image\"\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":35,"source":39,"date_added":49,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcursor\u002Fazure-ai-vision-imageanalysis-java","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill azure-ai-vision-imageanalysis-java",{"tool":62,"command":63},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill azure-ai-vision-imageanalysis-java",{"tool":65,"command":66},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill azure-ai-vision-imageanalysis-java","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcursor\u002Fazure-ai-vision-imageanalysis-java\u002FSKILL.md",true,[],[71,95,120,130,143,160],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":44},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[83,84,85,86,87,88,89,90,91,92,93,94],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":44},"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",[],[102,103,104,105,106,107,85,108,109,110,111,33,112,113,114,115,116,117,118,119],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","brew","live","data","google","install","read","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":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":44},"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,102,112,113,114,115,106,85,117,129,118,119,33,110,109,108,116,107,105],"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":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":44},"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":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":152,"publishedAt":44},"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,91,153,154,155,94,112,156,157,158,104,159,116],"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":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":44},"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,116,170,157,171,172,173,174,175],"status","play","go","latest","github","discover","control","cmd","volume"]