[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69APE3AQQ2FRSR3TA9366VJ":3,"skill-same:01M69APE3AQQ2FRSR3TA9366VJ":78},{"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":18,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M69APE3AQQ2FRSR3TA9366VJ","azure-ai-anomalydetector-java",null,"Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.","microsoft\u002Fskills","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69AJYYW4E1RMSYCQDJ4FJSH",3204,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-sdk-java\u002Fskills\u002Fazure-ai-anomalydetector-java\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,9],"azure ai","azure","azure ai anomalydetector java","java","ai anomaly detector","when","anomaly","for","implementing","with","anomaly detection","series","time-series","time","anomaly detector","sdk","build","use","analysis","applications","monitoring","2026-11-10 10:12:30",false,"---\nname: azure-ai-anomalydetector-java\ndescription: Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.\nlicense: MIT\nmetadata:\n  author: Microsoft\n  version: \"1.0.0\"\n  package: com.azure:azure-ai-anomalydetector\n---\n\n# Azure AI Anomaly Detector SDK for Java\n\nBuild anomaly detection applications using the Azure AI Anomaly Detector SDK for Java.\n\n## Installation\n\n```xml\n\u003Cdependency>\n  \u003CgroupId>com.azure\u003C\u002FgroupId>\n  \u003CartifactId>azure-ai-anomalydetector\u003C\u002FartifactId>\n  \u003Cversion>3.0.0-beta.6\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Client Creation\n\n### Sync and Async Clients\n\n```java\nimport com.azure.ai.anomalydetector.AnomalyDetectorClientBuilder;\nimport com.azure.ai.anomalydetector.MultivariateClient;\nimport com.azure.ai.anomalydetector.UnivariateClient;\nimport com.azure.core.credential.AzureKeyCredential;\n\nString endpoint = System.getenv(\"AZURE_ANOMALY_DETECTOR_ENDPOINT\");\nString key = System.getenv(\"AZURE_ANOMALY_DETECTOR_API_KEY\");\n\n\u002F\u002F Multivariate client for multiple correlated signals\nMultivariateClient multivariateClient = new AnomalyDetectorClientBuilder()\n    .credential(new AzureKeyCredential(key))\n    .endpoint(endpoint)\n    .buildMultivariateClient();\n\n\u002F\u002F Univariate client for single variable analysis\nUnivariateClient univariateClient = new AnomalyDetectorClientBuilder()\n    .credential(new AzureKeyCredential(key))\n    .endpoint(endpoint)\n    .buildUnivariateClient();\n```\n\n### With DefaultAzureCredential\n\n```java\nimport com.azure.core.credential.TokenCredential;\nimport com.azure.identity.AzureIdentityEnvVars;\nimport com.azure.identity.DefaultAzureCredentialBuilder;\nimport com.azure.identity.ManagedIdentityCredentialBuilder;\n\nTokenCredential credential = new DefaultAzureCredentialBuilder()\n    .requireEnvVars(AzureIdentityEnvVars.AZURE_TOKEN_CREDENTIALS)\n    .build();\n\u002F\u002F Or use a specific credential directly in production:\n\u002F\u002F See https:\u002F\u002Flearn.microsoft.com\u002Fjava\u002Fapi\u002Foverview\u002Fazure\u002Fidentity-readme?view=azure-java-stable#credential-classes\n\u002F\u002F TokenCredential credential = new ManagedIdentityCredentialBuilder().build();\n\nMultivariateClient client = new AnomalyDetectorClientBuilder()\n    .credential(credential)\n    .endpoint(endpoint)\n    .buildMultivariateClient();\n```\n\n## Key Concepts\n\n### Univariate Anomaly Detection\n- **Batch Detection**: Analyze entire time series at once\n- **Streaming Detection**: Real-time detection on latest data point\n- **Change Point Detection**: Detect trend changes in time series\n\n### Multivariate Anomaly Detection\n- Detect anomalies across 300+ correlated signals\n- Uses Graph Attention Network for inter-correlations\n- Three-step process: Train → Inference → Results\n\n## Core Patterns\n\n### Univariate Batch Detection\n\n```java\nimport com.azure.ai.anomalydetector.models.*;\nimport java.time.OffsetDateTime;\nimport java.util.List;\n\nList\u003CTimeSeriesPoint> series = List.of(\n    new TimeSeriesPoint(OffsetDateTime.parse(\"2023-01-01T00:00:00Z\"), 1.0),\n    new TimeSeriesPoint(OffsetDateTime.parse(\"2023-01-02T00:00:00Z\"), 2.5),\n    \u002F\u002F ... more data points (minimum 12 points required)\n);\n\nUnivariateDetectionOptions options = new UnivariateDetectionOptions(series)\n    .setGranularity(TimeGranularity.DAILY)\n    .setSensitivity(95);\n\nUnivariateEntireDetectionResult result = univariateClient.detectUnivariateEntireSeries(options);\n\n\u002F\u002F Check for anomalies\nfor (int i = 0; i \u003C result.getIsAnomaly().size(); i++) {\n    if (result.getIsAnomaly().get(i)) {\n        System.out.printf(\"Anomaly detected at index %d with value %.2f%n\",\n            i, series.get(i).getValue());\n    }\n}\n```\n\n### Univariate Last Point Detection (Streaming)\n\n```java\nUnivariateLastDetectionResult lastResult = univariateClient.detectUnivariateLastPoint(options);\n\nif (lastResult.isAnomaly()) {\n    System.out.println(\"Latest point is an anomaly!\");\n    System.out.printf(\"Expected: %.2f, Upper: %.2f, Lower: %.2f%n\",\n        lastResult.getExpectedValue(),\n        lastResult.getUpperMargin(),\n        lastResult.getLowerMargin());\n}\n```\n\n### Change Point Detection\n\n```java\nUnivariateChangePointDetectionOptions changeOptions = \n    new UnivariateChangePointDetectionOptions(series, TimeGranularity.DAILY);\n\nUnivariateChangePointDetectionResult changeResult = \n    univariateClient.detectUnivariateChangePoint(changeOptions);\n\nfor (int i = 0; i \u003C changeResult.getIsChangePoint().size(); i++) {\n    if (changeResult.getIsChangePoint().get(i)) {\n        System.out.printf(\"Change point at index %d with confidence %.2f%n\",\n            i, changeResult.getConfidenceScores().get(i));\n    }\n}\n```\n\n### Multivariate Model Training\n\n```java\nimport com.azure.ai.anomalydetector.models.*;\nimport com.azure.core.util.polling.SyncPoller;\n\n\u002F\u002F Prepare training request with blob storage data\nModelInfo modelInfo = new ModelInfo()\n    .setDataSource(\"https:\u002F\u002Fstorage.blob.core.windows.net\u002Fcontainer\u002Fdata.zip?sasToken\")\n    .setStartTime(OffsetDateTime.parse(\"2023-01-01T00:00:00Z\"))\n    .setEndTime(OffsetDateTime.parse(\"2023-06-01T00:00:00Z\"))\n    .setSlidingWindow(200)\n    .setDisplayName(\"MyMultivariateModel\");\n\n\u002F\u002F Train model (long-running operation)\nAnomalyDetectionModel trainedModel = multivariateClient.trainMultivariateModel(modelInfo);\n\nString modelId = trainedModel.getModelId();\nSystem.out.println(\"Model ID: \" + modelId);\n\n\u002F\u002F Check training status\nAnomalyDetectionModel model = multivariateClient.getMultivariateModel(modelId);\nSystem.out.println(\"Status: \" + model.getModelInfo().getStatus());\n```\n\n### Multivariate Batch Inference\n\n```java\nMultivariateBatchDetectionOptions detectionOptions = new MultivariateBatchDetectionOptions()\n    .setDataSource(\"https:\u002F\u002Fstorage.blob.core.windows.net\u002Fcontainer\u002Finference-data.zip?sasToken\")\n    .setStartTime(OffsetDateTime.parse(\"2023-07-01T00:00:00Z\"))\n    .setEndTime(OffsetDateTime.parse(\"2023-07-31T00:00:00Z\"))\n    .setTopContributorCount(10);\n\nMultivariateDetectionResult detectionResult = \n    multivariateClient.detectMultivariateBatchAnomaly(modelId, detectionOptions);\n\nString resultId = detectionResult.getResultId();\n\n\u002F\u002F Poll for results\nMultivariateDetectionResult result = multivariateClient.getBatchDetectionResult(resultId);\nfor (AnomalyState state : result.getResults()) {\n    if (state.getValue().isAnomaly()) {\n        System.out.printf(\"Anomaly at %s, severity: %.2f%n\",\n            state.getTimestamp(),\n            state.getValue().getSeverity());\n    }\n}\n```\n\n### Multivariate Last Point Detection\n\n```java\nMultivariateLastDetectionOptions lastOptions = new MultivariateLastDetectionOptions()\n    .setVariables(List.of(\n        new VariableValues(\"variable1\", List.of(\"timestamp1\"), List.of(1.0f)),\n        new VariableValues(\"variable2\", List.of(\"timestamp1\"), List.of(2.5f))\n    ))\n    .setTopContributorCount(5);\n\nMultivariateLastDetectionResult lastResult = \n    multivariateClient.detectMultivariateLastAnomaly(modelId, lastOptions);\n\nif (lastResult.getValue().isAnomaly()) {\n    System.out.println(\"Anomaly detected!\");\n    \u002F\u002F Check contributing variables\n    for (AnomalyContributor contributor : lastResult.getValue().getInterpretation()) {\n        System.out.printf(\"Variable: %s, Contribution: %.2f%n\",\n            contributor.getVariable(),\n            contributor.getContributionScore());\n    }\n}\n```\n\n### Model Management\n\n```java\n\u002F\u002F List all models\nPagedIterable\u003CAnomalyDetectionModel> models = multivariateClient.listMultivariateModels();\nfor (AnomalyDetectionModel m : models) {\n    System.out.printf(\"Model: %s, Status: %s%n\",\n        m.getModelId(),\n        m.getModelInfo().getStatus());\n}\n\n\u002F\u002F Delete a model\nmultivariateClient.deleteMultivariateModel(modelId);\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    univariateClient.detectUnivariateEntireSeries(options);\n} catch (HttpResponseException e) {\n    System.out.println(\"Status code: \" + e.getResponse().getStatusCode());\n    System.out.println(\"Error: \" + e.getMessage());\n}\n```\n\n## Environment Variables\n\n```bash\nAZURE_ANOMALY_DETECTOR_ENDPOINT=https:\u002F\u002F\u003Cresource>.cognitiveservices.azure.com\u002F # Required for all auth methods\nAZURE_ANOMALY_DETECTOR_API_KEY=\u003Cyour-api-key> # Only required for AzureKeyCredential auth\nAZURE_TOKEN_CREDENTIALS=prod  # Required only if DefaultAzureCredential is used in production\n```\n\n## Best Practices\n\n1. **Minimum Data Points**: Univariate requires at least 12 points; more data improves accuracy\n2. **Granularity Alignment**: Match `TimeGranularity` to your actual data frequency\n3. **Sensitivity Tuning**: Higher values (0-99) detect more anomalies\n4. **Multivariate Training**: Use 200-1000 sliding window based on pattern complexity\n5. **Error Handling**: Always handle `HttpResponseException` for API errors\n\n## Trigger Phrases\n\n- \"anomaly detection Java\"\n- \"detect anomalies time series\"\n- \"multivariate anomaly Java\"\n- \"univariate anomaly detection\"\n- \"streaming anomaly detection\"\n- \"change point detection\"\n- \"Azure AI Anomaly Detector\"\n","# Azure AI Anomaly Detector SDK for Java\n\nBuild anomaly detection applications using the Azure AI Anomaly Detector SDK for Java.\n\n## Installation\n\n```xml\n\u003Cdependency>\n  \u003CgroupId>com.azure\u003C\u002FgroupId>\n  \u003CartifactId>azure-ai-anomalydetector\u003C\u002FartifactId>\n  \u003Cversion>3.0.0-beta.6\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Client Creation\n\n### Sync and Async Clients\n\n```java\nimport com.azure.ai.anomalydetector.AnomalyDetectorClientBuilder;\nimport com.azure.ai.anomalydetector.MultivariateClient;\nimport com.azure.ai.anomalydetector.UnivariateClient;\nimport com.azure.core.credential.AzureKeyCredential;\n\nString endpoint = System.getenv(\"AZURE_ANOMALY_DETECTOR_ENDPOINT\");\nString key = System.getenv(\"AZURE_ANOMALY_DETECTOR_API_KEY\");\n\n\u002F\u002F Multivariate client for multiple correlated signals\nMultivariateClient multivariateClient = new AnomalyDetectorClientBuilder()\n    .credential(new AzureKeyCredential(key))\n    .endpoint(endpoint)\n    .buildMultivariateClient();\n\n\u002F\u002F Univariate client for single variable analysis\nUnivariateClient univariateClient = new AnomalyDetectorClientBuilder()\n    .credential(new AzureKeyCredential(key))\n    .endpoint(endpoint)\n    .buildUnivariateClient();\n```\n\n### With DefaultAzureCredential\n\n```java\nimport com.azure.core.credential.TokenCredential;\nimport com.azure.identity.AzureIdentityEnvVars;\nimport com.azure.identity.DefaultAzureCredentialBuilder;\nimport com.azure.identity.ManagedIdentityCredentialBuilder;\n\nTokenCredential credential = new DefaultAzureCredentialBuilder()\n    .requireEnvVars(AzureIdentityEnvVars.AZURE_TOKEN_CREDENTIALS)\n    .build();\n\u002F\u002F Or use a specific credential directly in production:\n\u002F\u002F See https:\u002F\u002Flearn.microsoft.com\u002Fjava\u002Fapi\u002Foverview\u002Fazure\u002Fidentity-readme?view=azure-java-stable#credential-classes\n\u002F\u002F TokenCredential credential = new ManagedIdentityCredentialBuilder().build();\n\nMultivariateClient client = new AnomalyDetectorClientBuilder()\n    .credential(credential)\n    .endpoint(endpoint)\n    .buildMultivariateClient();\n```\n\n## Key Concepts\n\n### Univariate Anomaly Detection\n- **Batch Detection**: Analyze entire time series at once\n- **Streaming Detection**: Real-time detection on latest data point\n- **Change Point Detection**: Detect trend changes in time series\n\n### Multivariate Anomaly Detection\n- Detect anomalies across 300+ correlated signals\n- Uses Graph Attention Network for inter-correlations\n- Three-step process: Train → Inference → Results\n\n## Core Patterns\n\n### Univariate Batch Detection\n\n```java\nimport com.azure.ai.anomalydetector.models.*;\nimport java.time.OffsetDateTime;\nimport java.util.List;\n\nList\u003CTimeSeriesPoint> series = List.of(\n    new TimeSeriesPoint(OffsetDateTime.parse(\"2023-01-01T00:00:00Z\"), 1.0),\n    new TimeSeriesPoint(OffsetDateTime.parse(\"2023-01-02T00:00:00Z\"), 2.5),\n    \u002F\u002F ... more data points (minimum 12 points required)\n);\n\nUnivariateDetectionOptions options = new UnivariateDetectionOptions(series)\n    .setGranularity(TimeGranularity.DAILY)\n    .setSensitivity(95);\n\nUnivariateEntireDetectionResult result = univariateClient.detectUnivariateEntireSeries(options);\n\n\u002F\u002F Check for anomalies\nfor (int i = 0; i \u003C result.getIsAnomaly().size(); i++) {\n    if (result.getIsAnomaly().get(i)) {\n        System.out.printf(\"Anomaly detected at index %d with value %.2f%n\",\n            i, series.get(i).getValue());\n    }\n}\n```\n\n### Univariate Last Point Detection (Streaming)\n\n```java\nUnivariateLastDetectionResult lastResult = univariateClient.detectUnivariateLastPoint(options);\n\nif (lastResult.isAnomaly()) {\n    System.out.println(\"Latest point is an anomaly!\");\n    System.out.printf(\"Expected: %.2f, Upper: %.2f, Lower: %.2f%n\",\n        lastResult.getExpectedValue(),\n        lastResult.getUpperMargin(),\n        lastResult.getLowerMargin());\n}\n```\n\n### Change Point Detection\n\n```java\nUnivariateChangePointDetectionOptions changeOptions = \n    new UnivariateChangePointDetectionOptions(series, TimeGranularity.DAILY);\n\nUnivariateChangePointDetectionResult changeResult = \n    univariateClient.detectUnivariateChangePoint(changeOptions);\n\nfor (int i = 0; i \u003C changeResult.getIsChangePoint().size(); i++) {\n    if (changeResult.getIsChangePoint().get(i)) {\n        System.out.printf(\"Change point at index %d with confidence %.2f%n\",\n            i, changeResult.getConfidenceScores().get(i));\n    }\n}\n```\n\n### Multivariate Model Training\n\n```java\nimport com.azure.ai.anomalydetector.models.*;\nimport com.azure.core.util.polling.SyncPoller;\n\n\u002F\u002F Prepare training request with blob storage data\nModelInfo modelInfo = new ModelInfo()\n    .setDataSource(\"https:\u002F\u002Fstorage.blob.core.windows.net\u002Fcontainer\u002Fdata.zip?sasToken\")\n    .setStartTime(OffsetDateTime.parse(\"2023-01-01T00:00:00Z\"))\n    .setEndTime(OffsetDateTime.parse(\"2023-06-01T00:00:00Z\"))\n    .setSlidingWindow(200)\n    .setDisplayName(\"MyMultivariateModel\");\n\n\u002F\u002F Train model (long-running operation)\nAnomalyDetectionModel trainedModel = multivariateClient.trainMultivariateModel(modelInfo);\n\nString modelId = trainedModel.getModelId();\nSystem.out.println(\"Model ID: \" + modelId);\n\n\u002F\u002F Check training status\nAnomalyDetectionModel model = multivariateClient.getMultivariateModel(modelId);\nSystem.out.println(\"Status: \" + model.getModelInfo().getStatus());\n```\n\n### Multivariate Batch Inference\n\n```java\nMultivariateBatchDetectionOptions detectionOptions = new MultivariateBatchDetectionOptions()\n    .setDataSource(\"https:\u002F\u002Fstorage.blob.core.windows.net\u002Fcontainer\u002Finference-data.zip?sasToken\")\n    .setStartTime(OffsetDateTime.parse(\"2023-07-01T00:00:00Z\"))\n    .setEndTime(OffsetDateTime.parse(\"2023-07-31T00:00:00Z\"))\n    .setTopContributorCount(10);\n\nMultivariateDetectionResult detectionResult = \n    multivariateClient.detectMultivariateBatchAnomaly(modelId, detectionOptions);\n\nString resultId = detectionResult.getResultId();\n\n\u002F\u002F Poll for results\nMultivariateDetectionResult result = multivariateClient.getBatchDetectionResult(resultId);\nfor (AnomalyState state : result.getResults()) {\n    if (state.getValue().isAnomaly()) {\n        System.out.printf(\"Anomaly at %s, severity: %.2f%n\",\n            state.getTimestamp(),\n            state.getValue().getSeverity());\n    }\n}\n```\n\n### Multivariate Last Point Detection\n\n```java\nMultivariateLastDetectionOptions lastOptions = new MultivariateLastDetectionOptions()\n    .setVariables(List.of(\n        new VariableValues(\"variable1\", List.of(\"timestamp1\"), List.of(1.0f)),\n        new VariableValues(\"variable2\", List.of(\"timestamp1\"), List.of(2.5f))\n    ))\n    .setTopContributorCount(5);\n\nMultivariateLastDetectionResult lastResult = \n    multivariateClient.detectMultivariateLastAnomaly(modelId, lastOptions);\n\nif (lastResult.getValue().isAnomaly()) {\n    System.out.println(\"Anomaly detected!\");\n    \u002F\u002F Check contributing variables\n    for (AnomalyContributor contributor : lastResult.getValue().getInterpretation()) {\n        System.out.printf(\"Variable: %s, Contribution: %.2f%n\",\n            contributor.getVariable(),\n            contributor.getContributionScore());\n    }\n}\n```\n\n### Model Management\n\n```java\n\u002F\u002F List all models\nPagedIterable\u003CAnomalyDetectionModel> models = multivariateClient.listMultivariateModels();\nfor (AnomalyDetectionModel m : models) {\n    System.out.printf(\"Model: %s, Status: %s%n\",\n        m.getModelId(),\n        m.getModelInfo().getStatus());\n}\n\n\u002F\u002F Delete a model\nmultivariateClient.deleteMultivariateModel(modelId);\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    univariateClient.detectUnivariateEntireSeries(options);\n} catch (HttpResponseException e) {\n    System.out.println(\"Status code: \" + e.getResponse().getStatusCode());\n    System.out.println(\"Error: \" + e.getMessage());\n}\n```\n\n## Environment Variables\n\n```bash\nAZURE_ANOMALY_DETECTOR_ENDPOINT=https:\u002F\u002F\u003Cresource>.cognitiveservices.azure.com\u002F # Required for all auth methods\nAZURE_ANOMALY_DETECTOR_API_KEY=\u003Cyour-api-key> # Only required for AzureKeyCredential auth\nAZURE_TOKEN_CREDENTIALS=prod  # Required only if DefaultAzureCredential is used in production\n```\n\n## Best Practices\n\n1. **Minimum Data Points**: Univariate requires at least 12 points; more data improves accuracy\n2. **Granularity Alignment**: Match `TimeGranularity` to your actual data frequency\n3. **Sensitivity Tuning**: Higher values (0-99) detect more anomalies\n4. **Multivariate Training**: Use 200-1000 sliding window based on pattern complexity\n5. **Error Handling**: Always handle `HttpResponseException` for API errors\n\n## Trigger Phrases\n\n- \"anomaly detection Java\"\n- \"detect anomalies time series\"\n- \"multivariate anomaly Java\"\n- \"univariate anomaly detection\"\n- \"streaming anomaly detection\"\n- \"change point detection\"\n- \"Azure AI Anomaly Detector\"\n",{"name":5,"license":15,"metadata":45,"description":7},{"author":12,"package":46,"version":47},"com.azure:azure-ai-anomalydetector","1.0.0","main","3f5b461b2314e01c400564051e92469114c5b68f",".github\u002Fplugins\u002Fazure-sdk-java\u002Fskills\u002Fazure-ai-anomalydetector-java",368,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","https:\u002F\u002Fmicrosoft.github.io\u002Fskills\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-14 06:48:25",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add microsoft\u002Fskills --skill azure-ai-anomalydetector-java",{"tool":64,"command":65},"bunx","bunx skills add microsoft\u002Fskills --skill azure-ai-anomalydetector-java",{"tool":67,"command":68},"pnpm","pnpm dlx skills add microsoft\u002Fskills --skill azure-ai-anomalydetector-java","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-sdk-java\u002Fskills\u002Fazure-ai-anomalydetector-java\u002FSKILL.md",true,[72],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fexamples.md","REFERENCE","参考文档",24401,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-sdk-java\u002Fskills\u002Fazure-ai-anomalydetector-java\u002Freferences\u002Fexamples.md",[79,104,142,169,189,225],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":90,"publishedAt":40},"01M69B4JCRQV5SPXAFCKXQRV0H","skill-creator","Guide for creating effective skills for AI coding agents working with Azure SDKs and Microsoft Foundry services. Use when creating new skills or updating existing skills.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fskill-creator\u002FSKILL.md",[85],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[91,92,93,9,94,95,96,20,97,98,99,36,100,28,101,26,102,24,103],"skill creator","creator","coding agents","foundry","microsoft foundry","ai coding agents","services","coding","guide","ai coding","sdks","Existing","new",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":120,"publishedAt":40},"01M69B4FD57V1MYKRWAJJECTZ7","podcast-generation","Generate AI-powered podcast-style audio narratives using Azure OpenAI's GPT Realtime Mini model via WebSocket. Use when building text-to-speech features, audio narrative generation, podcast creation from content, or integrating with Azure OpenAI Realtime API for real audio output. Covers full-stack implementation from React frontend to Python FastAPI backend with WebSocket streaming.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fpodcast-generation\u002FSKILL.md",[110,113,116,119],{"categoryNo":111,"categoryName":112,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":114,"categoryName":115,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":117,"categoryName":118,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},[121,122,123,124,125,126,127,20,128,129,130,131,132,133,134,135,136,137,138,139,140,24,141],"podcast generation","podcast","generation","frontend","python","react","realtime","azure openai","generate","streaming","api","Audio","stack","text","model","fastapi","creation","python fastapi","narrative","features","fastapi backend",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":149,"publishedAt":40},"01M69B4CYPM5SESY5ZWEFDXEQZ","microsoft-docs","Understand Microsoft technologies by querying official documentation. Use whenever the user asks how something works, wants tutorials, needs configuration options, limits, quotas, or best practices for any Microsoft technology (Azure, .NET, M365, Windows, Power Platform, etc.)—even if they don't mention \"docs.\" If the question is about understanding a concept rather than writing code, this is the right skill.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[148],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},[150,9,151,152,153,154,155,156,157,158,159,20,160,161,162,36,163,61,164,165,166,167,168,26],"docs","microsoft docs","MCP","writing","cli","mcp server","windows","power platform","official","documentation","learn","best practices","question","power","back","technology","platform","learn mcp","concept",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":176,"publishedAt":40},"01M69B49C3YPD1ZJ3NC0HPCY58","mcp-builder","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP), Node\u002FTypeScript (MCP SDK), or C#\u002F.NET (Microsoft MCP SDK).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fmcp-builder\u002FSKILL.md",[175],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},[152,177,178,179,125,180,34,181,9,182,183,135,184,185,99,36,186,187,188,28,26,24],"mcp builder","builder","typescript","llms","model context protocol","fastmcp","Tools","node","context","integrate","mcp sdk","building mcp servers",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":207,"publishedAt":40},"01M69B467A7CDMFQ0T6Q0ZA12Q","kql","KQL language expertise for writing correct, efficient Kusto Query Language queries. Covers syntax gotchas, join patterns, dynamic types, datetime pitfalls, regex patterns, serialization, memory management, result-size discipline, and advanced functions (geo, vector, graph). USE THIS SKILL whenever writing, debugging, or reviewing KQL queries — even simple ones — because the gotchas section prevents the most common errors that waste tool calls and cause expensive retry cascades. Trigger on: KQL, Kusto, ADX, Azure Data Explorer, Fabric Real-Time Intelligence, EventHouse, Log Analytics, log analysis, data exploration, time series, anomaly detection, summarize, where clause, join, extend, project, let statement, parse operator, extract function, any mention of pipe-forward query syntax.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fkql\u002FSKILL.md",[195,198,199,204],{"categoryNo":196,"categoryName":197,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":200,"categoryName":201,"taxonomyType":202,"taxonomyTypeDesc":203},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",{"categoryNo":205,"categoryName":206,"taxonomyType":202,"taxonomyTypeDesc":203},"01JBSEEDCAT000000000000036","内容创作者",[191,153,208,209,210,20,211,212,213,214,215,216,217,218,32,219,220,221,222,26,223,25,224],"summarize","memory","analytics","vector","time series","tool","discipline","log","geo","exploration","pipe","project","regex","join","datetime","section","parse",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":231,"publishedAt":40},"01M69B44HJQ7897EZ7NE7DWQX3","github-issue-creator","Convert raw notes, error logs, voice dictation, or screenshots into crisp GitHub-flavored markdown issue reports. Use when the user pastes bug info, error messages, or informal descriptions and wants a structured GitHub issue. Supports images\u002FGIFs for visual evidence.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fgithub-issue-creator\u002FSKILL.md",[],[232,233,234,235,92,236,237,238,239,240,241,242,36,243,244,245,246,247,248,26,24],"github","github issue creator","github issue","issue","issue creator","screenshots","notes","logs","error messages","messages","convert","evidence","reports","images","info","visual","error"]