[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FTTYCZBJ7VBJ71KS7HZ1WQ":3,"skill-same:01M6FTTYCZBJ7VBJ71KS7HZ1WQ":73},{"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":51,"commitSha":52,"skillDirectory":53,"forksCount":14,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6FTTYCZBJ7VBJ71KS7HZ1WQ","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.","reikiplanet\u002Fdaoskills","reikiplanet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F96377599?v=4","01M6CVWCMD740YHQDK7E9QYBW4","Reiki Planet","01M6CVWCS4KXVA2CWFVJ43EAXK",0,"MIT","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fdevelopment\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","azure ai vision","vision","text","with","Image Captioning","object detection","image analysis","community","build","use","image","analysis","applications","ocr","detection","sdk","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.\"\npackage: com.azure:azure-ai-vision-imageanalysis\nrisk: unknown\nsource: community\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":49,"source":35,"package":50,"description":7},"unknown","com.azure:azure-ai-vision-imageanalysis","master","dff58085da947e81e8418c922055644bf0082b1b","development\u002Fazure-ai-vision-imageanalysis-java","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills","https:\u002F\u002Fgithub.com\u002Freikiplanet","https:\u002F\u002Fwww.reiki-planet.com","Reiki Planet Game","2026-03-29 06:02:29",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add reikiplanet\u002Fdaoskills --skill azure-ai-vision-imageanalysis-java",{"tool":65,"command":66},"bunx","bunx skills add reikiplanet\u002Fdaoskills --skill azure-ai-vision-imageanalysis-java",{"tool":68,"command":69},"pnpm","pnpm dlx skills add reikiplanet\u002Fdaoskills --skill azure-ai-vision-imageanalysis-java","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fdevelopment\u002Fazure-ai-vision-imageanalysis-java\u002FSKILL.md",true,[],[74,100,112,125,144,166],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":44},"01M6G614JTEQJHPT8AKK3YQ18S","web-games","Web browser game development principles. Framework selection, WebGPU, optimization, PWA.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fweb-games\u002FSKILL.md",[],[81,82,83,84,85,86,35,87,88,89,90,91,92,93,94,95,96,97,98,99],"games","web games","web","grep","principles","selection","framework selection","edit","write","read","pwa","game","web browser","game development","Optimization","framework","browser","development","webgpu",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":44},"01M6G611H2YGV0GZFP90D38ZMJ","vr-ar","VR\u002FAR development principles. Comfort, interaction, performance requirements.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fvr-ar\u002FSKILL.md",[],[107,108,98,109,110,35,88,89,90,84,111,85],"ar","vr ar","interaction","requirements","performance",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":44},"01M6G60XNMHAMV1SV0EJ1CX0AY","templates","Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Ftemplates\u002FSKILL.md",[],[114,119,120,121,122,123,35,37,90,124,40,84],"project scaffolding","From Scratch","tech","project","scaffolding","projects",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":44},"01M6G60T0GATMK3Q5H8GDC1Z8S","wcag-audit-patterns","Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing ac...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fwcag-audit-patterns\u002FSKILL.md",[],[132,133,134,135,136,35,137,31,138,139,37,140,141,142,143],"wcag audit patterns","wcag audit","patterns","WCAG","audit","manual","automated testing","guidance","remediation","verification","accessibility","testing",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":44},"01M6G60PMCHW1FRZ63F931QK3R","vulnerability-scanner","Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fvulnerability-scanner\u002FSKILL.md",[],[151,152,153,154,155,156,157,158,35,90,84,159,85,39,160,161,162,163,164,165],"scanner","vulnerability scanner","vulnerability","prioritization","2025","mapping","chain","supply chain","Bash","risk","owasp","supply chain security","security","supply","advanced",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":44},"01M6G60JZBB8DK0W3DSG1WNMZK","threat-modeling-expert","Expert in threat modeling methodologies, security architecture review, and risk assessment. Masters STRIDE, PASTA, attack trees, and security requirement extraction. Use for security architecture r...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fthreat-modeling-expert\u002FSKILL.md",[],[173,174,175,176,177,178,179,180,163,37,181,182,183,35,184,185,186,160,187,188],"modeling","threat modeling expert","threat modeling","expert","threat","risk assessment","architecture review","architecture","security architecture review","trees","security architecture","security requirement extraction","assessment","extraction","review","stride"]