[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71BAZCTQS2FHMESFXY0RTPC":3,"skill-same:01M71BAZCTQS2FHMESFXY0RTPC":79},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M71BAZCTQS2FHMESFXY0RTPC","azure-eventgrid-java",null,"Build event-driven applications with Azure Event Grid SDK for Java. Use when publishing events, implementing pub\u002Fsub patterns, or integrating with Azure services via events.","strmt7\u002Fai_skills_collection_benchmarked","strmt7","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F28989754?v=4","01M71929P914SWKQ7QJV24NBBY","Stratos","01M71929Q9VGKQ7PWYR95VSQQQ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-eventgrid-java\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"java","azure eventgrid java","azure","microsoft","sdk","event-driven","build","via","services","with","azure event grid","grid","when","use","publishing","implementing","applications","event","for","messaging","2026-11-10 10:12:30",false,"---\nname: azure-eventgrid-java\ndescription: Build event-driven applications with Azure Event Grid SDK for Java. Use when publishing events, implementing pub\u002Fsub patterns, or integrating with Azure services via events.\nlicense: MIT\nmetadata:\n  author: Microsoft\n  version: \"1.0.0\"\n  package: com.azure:azure-messaging-eventgrid\n---\n\n# Azure Event Grid SDK for Java\n\nBuild event-driven applications using the Azure Event Grid SDK for Java.\n\n## Installation\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.azure\u003C\u002FgroupId>\n    \u003CartifactId>azure-messaging-eventgrid\u003C\u002FartifactId>\n    \u003Cversion>4.27.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Client Creation\n\n### EventGridPublisherClient\n\n```java\nimport com.azure.messaging.eventgrid.EventGridPublisherClient;\nimport com.azure.messaging.eventgrid.EventGridPublisherClientBuilder;\nimport com.azure.core.credential.AzureKeyCredential;\n\n\u002F\u002F With API Key\nEventGridPublisherClient\u003CEventGridEvent> client = new EventGridPublisherClientBuilder()\n    .endpoint(\"\u003Ctopic-endpoint>\")\n    .credential(new AzureKeyCredential(\"\u003Caccess-key>\"))\n    .buildEventGridEventPublisherClient();\n\n\u002F\u002F For CloudEvents\nEventGridPublisherClient\u003CCloudEvent> cloudClient = new EventGridPublisherClientBuilder()\n    .endpoint(\"\u003Ctopic-endpoint>\")\n    .credential(new AzureKeyCredential(\"\u003Caccess-key>\"))\n    .buildCloudEventPublisherClient();\n```\n\n### With DefaultAzureCredential\n\n```java\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nEventGridPublisherClient\u003CEventGridEvent> client = new EventGridPublisherClientBuilder()\n    .endpoint(\"\u003Ctopic-endpoint>\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildEventGridEventPublisherClient();\n```\n\n### Async Client\n\n```java\nimport com.azure.messaging.eventgrid.EventGridPublisherAsyncClient;\n\nEventGridPublisherAsyncClient\u003CEventGridEvent> asyncClient = new EventGridPublisherClientBuilder()\n    .endpoint(\"\u003Ctopic-endpoint>\")\n    .credential(new AzureKeyCredential(\"\u003Caccess-key>\"))\n    .buildEventGridEventPublisherAsyncClient();\n```\n\n## Event Types\n\n| Type | Description |\n|------|-------------|\n| `EventGridEvent` | Azure Event Grid native schema |\n| `CloudEvent` | CNCF CloudEvents 1.0 specification |\n| `BinaryData` | Custom schema events |\n\n## Core Patterns\n\n### Publish EventGridEvent\n\n```java\nimport com.azure.messaging.eventgrid.EventGridEvent;\nimport com.azure.core.util.BinaryData;\n\nEventGridEvent event = new EventGridEvent(\n    \"resource\u002Fpath\",           \u002F\u002F subject\n    \"MyApp.Events.OrderCreated\", \u002F\u002F eventType\n    BinaryData.fromObject(new OrderData(\"order-123\", 99.99)), \u002F\u002F data\n    \"1.0\"                      \u002F\u002F dataVersion\n);\n\nclient.sendEvent(event);\n```\n\n### Publish Multiple Events\n\n```java\nList\u003CEventGridEvent> events = Arrays.asList(\n    new EventGridEvent(\"orders\u002F1\", \"Order.Created\",\n        BinaryData.fromObject(order1), \"1.0\"),\n    new EventGridEvent(\"orders\u002F2\", \"Order.Created\",\n        BinaryData.fromObject(order2), \"1.0\")\n);\n\nclient.sendEvents(events);\n```\n\n### Publish CloudEvent\n\n```java\nimport com.azure.core.models.CloudEvent;\nimport com.azure.core.models.CloudEventDataFormat;\n\nCloudEvent cloudEvent = new CloudEvent(\n    \"\u002Fmyapp\u002Forders\",           \u002F\u002F source\n    \"order.created\",           \u002F\u002F type\n    BinaryData.fromObject(orderData), \u002F\u002F data\n    CloudEventDataFormat.JSON  \u002F\u002F dataFormat\n);\ncloudEvent.setSubject(\"orders\u002F12345\");\ncloudEvent.setId(UUID.randomUUID().toString());\n\ncloudClient.sendEvent(cloudEvent);\n```\n\n### Publish CloudEvents Batch\n\n```java\nList\u003CCloudEvent> cloudEvents = Arrays.asList(\n    new CloudEvent(\"\u002Fapp\", \"event.type1\", BinaryData.fromString(\"data1\"), CloudEventDataFormat.JSON),\n    new CloudEvent(\"\u002Fapp\", \"event.type2\", BinaryData.fromString(\"data2\"), CloudEventDataFormat.JSON)\n);\n\ncloudClient.sendEvents(cloudEvents);\n```\n\n### Async Publishing\n\n```java\nasyncClient.sendEvent(event)\n    .subscribe(\n        unused -> System.out.println(\"Event sent successfully\"),\n        error -> System.err.println(\"Error: \" + error.getMessage())\n    );\n\n\u002F\u002F With multiple events\nasyncClient.sendEvents(events)\n    .doOnSuccess(unused -> System.out.println(\"All events sent\"))\n    .doOnError(error -> System.err.println(\"Failed: \" + error))\n    .block(); \u002F\u002F Block if needed\n```\n\n### Custom Event Data Class\n\n```java\npublic class OrderData {\n    private String orderId;\n    private double amount;\n    private String customerId;\n\n    public OrderData(String orderId, double amount) {\n        this.orderId = orderId;\n        this.amount = amount;\n    }\n\n    \u002F\u002F Getters and setters\n}\n\n\u002F\u002F Usage\nOrderData order = new OrderData(\"ORD-123\", 150.00);\nEventGridEvent event = new EventGridEvent(\n    \"orders\u002F\" + order.getOrderId(),\n    \"MyApp.Order.Created\",\n    BinaryData.fromObject(order),\n    \"1.0\"\n);\n```\n\n## Receiving Events\n\n### Parse EventGridEvent\n\n```java\nimport com.azure.messaging.eventgrid.EventGridEvent;\n\n\u002F\u002F From JSON string (e.g., webhook payload)\nString jsonPayload = \"[{\\\"id\\\": \\\"...\\\", ...}]\";\nList\u003CEventGridEvent> events = EventGridEvent.fromString(jsonPayload);\n\nfor (EventGridEvent event : events) {\n    System.out.println(\"Event Type: \" + event.getEventType());\n    System.out.println(\"Subject: \" + event.getSubject());\n    System.out.println(\"Event Time: \" + event.getEventTime());\n\n    \u002F\u002F Get data\n    BinaryData data = event.getData();\n    OrderData orderData = data.toObject(OrderData.class);\n}\n```\n\n### Parse CloudEvent\n\n```java\nimport com.azure.core.models.CloudEvent;\n\nString cloudEventJson = \"[{\\\"specversion\\\": \\\"1.0\\\", ...}]\";\nList\u003CCloudEvent> cloudEvents = CloudEvent.fromString(cloudEventJson);\n\nfor (CloudEvent event : cloudEvents) {\n    System.out.println(\"Type: \" + event.getType());\n    System.out.println(\"Source: \" + event.getSource());\n    System.out.println(\"ID: \" + event.getId());\n\n    MyEventData data = event.getData().toObject(MyEventData.class);\n}\n```\n\n### Handle System Events\n\n```java\nimport com.azure.messaging.eventgrid.systemevents.*;\n\nfor (EventGridEvent event : events) {\n    if (event.getEventType().equals(\"Microsoft.Storage.BlobCreated\")) {\n        StorageBlobCreatedEventData blobData =\n            event.getData().toObject(StorageBlobCreatedEventData.class);\n        System.out.println(\"Blob URL: \" + blobData.getUrl());\n    }\n}\n```\n\n## Event Grid Namespaces (MQTT\u002FPull)\n\n### Receive from Namespace Topic\n\n```java\nimport com.azure.messaging.eventgrid.namespaces.EventGridReceiverClient;\nimport com.azure.messaging.eventgrid.namespaces.EventGridReceiverClientBuilder;\nimport com.azure.messaging.eventgrid.namespaces.models.*;\n\nEventGridReceiverClient receiverClient = new EventGridReceiverClientBuilder()\n    .endpoint(\"\u003Cnamespace-endpoint>\")\n    .credential(new AzureKeyCredential(\"\u003Ckey>\"))\n    .topicName(\"my-topic\")\n    .subscriptionName(\"my-subscription\")\n    .buildClient();\n\n\u002F\u002F Receive events\nReceiveResult result = receiverClient.receive(10, Duration.ofSeconds(30));\n\nfor (ReceiveDetails detail : result.getValue()) {\n    CloudEvent event = detail.getEvent();\n    System.out.println(\"Event: \" + event.getType());\n\n    \u002F\u002F Acknowledge the event\n    receiverClient.acknowledge(Arrays.asList(detail.getBrokerProperties().getLockToken()));\n}\n```\n\n### Reject or Release Events\n\n```java\n\u002F\u002F Reject (don't retry)\nreceiverClient.reject(Arrays.asList(lockToken));\n\n\u002F\u002F Release (retry later)\nreceiverClient.release(Arrays.asList(lockToken));\n\n\u002F\u002F Release with delay\nreceiverClient.release(Arrays.asList(lockToken),\n    new ReleaseOptions().setDelay(ReleaseDelay.BY_60_SECONDS));\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    client.sendEvent(event);\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\nEVENT_GRID_TOPIC_ENDPOINT=https:\u002F\u002F\u003Ctopic-name>.\u003Cregion>.eventgrid.azure.net\u002Fapi\u002Fevents\nEVENT_GRID_ACCESS_KEY=\u003Cyour-access-key>\n```\n\n## Best Practices\n\n1. **Batch Events**: Send multiple events in one call when possible\n2. **Idempotency**: Include unique event IDs for deduplication\n3. **Schema Validation**: Use strongly-typed event data classes\n4. **Retry Logic**: Built-in, but consider dead-letter for failures\n5. **Event Size**: Keep events under 1MB (64KB for basic tier)\n\n## Trigger Phrases\n\n- \"Event Grid Java\"\n- \"publish events Azure\"\n- \"CloudEvent SDK\"\n- \"event-driven messaging\"\n- \"pub\u002Fsub Azure\"\n- \"webhook events\"\n","# Azure Event Grid SDK for Java\n\nBuild event-driven applications using the Azure Event Grid SDK for Java.\n\n## Installation\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.azure\u003C\u002FgroupId>\n    \u003CartifactId>azure-messaging-eventgrid\u003C\u002FartifactId>\n    \u003Cversion>4.27.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Client Creation\n\n### EventGridPublisherClient\n\n```java\nimport com.azure.messaging.eventgrid.EventGridPublisherClient;\nimport com.azure.messaging.eventgrid.EventGridPublisherClientBuilder;\nimport com.azure.core.credential.AzureKeyCredential;\n\n\u002F\u002F With API Key\nEventGridPublisherClient\u003CEventGridEvent> client = new EventGridPublisherClientBuilder()\n    .endpoint(\"\u003Ctopic-endpoint>\")\n    .credential(new AzureKeyCredential(\"\u003Caccess-key>\"))\n    .buildEventGridEventPublisherClient();\n\n\u002F\u002F For CloudEvents\nEventGridPublisherClient\u003CCloudEvent> cloudClient = new EventGridPublisherClientBuilder()\n    .endpoint(\"\u003Ctopic-endpoint>\")\n    .credential(new AzureKeyCredential(\"\u003Caccess-key>\"))\n    .buildCloudEventPublisherClient();\n```\n\n### With DefaultAzureCredential\n\n```java\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nEventGridPublisherClient\u003CEventGridEvent> client = new EventGridPublisherClientBuilder()\n    .endpoint(\"\u003Ctopic-endpoint>\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildEventGridEventPublisherClient();\n```\n\n### Async Client\n\n```java\nimport com.azure.messaging.eventgrid.EventGridPublisherAsyncClient;\n\nEventGridPublisherAsyncClient\u003CEventGridEvent> asyncClient = new EventGridPublisherClientBuilder()\n    .endpoint(\"\u003Ctopic-endpoint>\")\n    .credential(new AzureKeyCredential(\"\u003Caccess-key>\"))\n    .buildEventGridEventPublisherAsyncClient();\n```\n\n## Event Types\n\n| Type | Description |\n|------|-------------|\n| `EventGridEvent` | Azure Event Grid native schema |\n| `CloudEvent` | CNCF CloudEvents 1.0 specification |\n| `BinaryData` | Custom schema events |\n\n## Core Patterns\n\n### Publish EventGridEvent\n\n```java\nimport com.azure.messaging.eventgrid.EventGridEvent;\nimport com.azure.core.util.BinaryData;\n\nEventGridEvent event = new EventGridEvent(\n    \"resource\u002Fpath\",           \u002F\u002F subject\n    \"MyApp.Events.OrderCreated\", \u002F\u002F eventType\n    BinaryData.fromObject(new OrderData(\"order-123\", 99.99)), \u002F\u002F data\n    \"1.0\"                      \u002F\u002F dataVersion\n);\n\nclient.sendEvent(event);\n```\n\n### Publish Multiple Events\n\n```java\nList\u003CEventGridEvent> events = Arrays.asList(\n    new EventGridEvent(\"orders\u002F1\", \"Order.Created\",\n        BinaryData.fromObject(order1), \"1.0\"),\n    new EventGridEvent(\"orders\u002F2\", \"Order.Created\",\n        BinaryData.fromObject(order2), \"1.0\")\n);\n\nclient.sendEvents(events);\n```\n\n### Publish CloudEvent\n\n```java\nimport com.azure.core.models.CloudEvent;\nimport com.azure.core.models.CloudEventDataFormat;\n\nCloudEvent cloudEvent = new CloudEvent(\n    \"\u002Fmyapp\u002Forders\",           \u002F\u002F source\n    \"order.created\",           \u002F\u002F type\n    BinaryData.fromObject(orderData), \u002F\u002F data\n    CloudEventDataFormat.JSON  \u002F\u002F dataFormat\n);\ncloudEvent.setSubject(\"orders\u002F12345\");\ncloudEvent.setId(UUID.randomUUID().toString());\n\ncloudClient.sendEvent(cloudEvent);\n```\n\n### Publish CloudEvents Batch\n\n```java\nList\u003CCloudEvent> cloudEvents = Arrays.asList(\n    new CloudEvent(\"\u002Fapp\", \"event.type1\", BinaryData.fromString(\"data1\"), CloudEventDataFormat.JSON),\n    new CloudEvent(\"\u002Fapp\", \"event.type2\", BinaryData.fromString(\"data2\"), CloudEventDataFormat.JSON)\n);\n\ncloudClient.sendEvents(cloudEvents);\n```\n\n### Async Publishing\n\n```java\nasyncClient.sendEvent(event)\n    .subscribe(\n        unused -> System.out.println(\"Event sent successfully\"),\n        error -> System.err.println(\"Error: \" + error.getMessage())\n    );\n\n\u002F\u002F With multiple events\nasyncClient.sendEvents(events)\n    .doOnSuccess(unused -> System.out.println(\"All events sent\"))\n    .doOnError(error -> System.err.println(\"Failed: \" + error))\n    .block(); \u002F\u002F Block if needed\n```\n\n### Custom Event Data Class\n\n```java\npublic class OrderData {\n    private String orderId;\n    private double amount;\n    private String customerId;\n\n    public OrderData(String orderId, double amount) {\n        this.orderId = orderId;\n        this.amount = amount;\n    }\n\n    \u002F\u002F Getters and setters\n}\n\n\u002F\u002F Usage\nOrderData order = new OrderData(\"ORD-123\", 150.00);\nEventGridEvent event = new EventGridEvent(\n    \"orders\u002F\" + order.getOrderId(),\n    \"MyApp.Order.Created\",\n    BinaryData.fromObject(order),\n    \"1.0\"\n);\n```\n\n## Receiving Events\n\n### Parse EventGridEvent\n\n```java\nimport com.azure.messaging.eventgrid.EventGridEvent;\n\n\u002F\u002F From JSON string (e.g., webhook payload)\nString jsonPayload = \"[{\\\"id\\\": \\\"...\\\", ...}]\";\nList\u003CEventGridEvent> events = EventGridEvent.fromString(jsonPayload);\n\nfor (EventGridEvent event : events) {\n    System.out.println(\"Event Type: \" + event.getEventType());\n    System.out.println(\"Subject: \" + event.getSubject());\n    System.out.println(\"Event Time: \" + event.getEventTime());\n\n    \u002F\u002F Get data\n    BinaryData data = event.getData();\n    OrderData orderData = data.toObject(OrderData.class);\n}\n```\n\n### Parse CloudEvent\n\n```java\nimport com.azure.core.models.CloudEvent;\n\nString cloudEventJson = \"[{\\\"specversion\\\": \\\"1.0\\\", ...}]\";\nList\u003CCloudEvent> cloudEvents = CloudEvent.fromString(cloudEventJson);\n\nfor (CloudEvent event : cloudEvents) {\n    System.out.println(\"Type: \" + event.getType());\n    System.out.println(\"Source: \" + event.getSource());\n    System.out.println(\"ID: \" + event.getId());\n\n    MyEventData data = event.getData().toObject(MyEventData.class);\n}\n```\n\n### Handle System Events\n\n```java\nimport com.azure.messaging.eventgrid.systemevents.*;\n\nfor (EventGridEvent event : events) {\n    if (event.getEventType().equals(\"Microsoft.Storage.BlobCreated\")) {\n        StorageBlobCreatedEventData blobData =\n            event.getData().toObject(StorageBlobCreatedEventData.class);\n        System.out.println(\"Blob URL: \" + blobData.getUrl());\n    }\n}\n```\n\n## Event Grid Namespaces (MQTT\u002FPull)\n\n### Receive from Namespace Topic\n\n```java\nimport com.azure.messaging.eventgrid.namespaces.EventGridReceiverClient;\nimport com.azure.messaging.eventgrid.namespaces.EventGridReceiverClientBuilder;\nimport com.azure.messaging.eventgrid.namespaces.models.*;\n\nEventGridReceiverClient receiverClient = new EventGridReceiverClientBuilder()\n    .endpoint(\"\u003Cnamespace-endpoint>\")\n    .credential(new AzureKeyCredential(\"\u003Ckey>\"))\n    .topicName(\"my-topic\")\n    .subscriptionName(\"my-subscription\")\n    .buildClient();\n\n\u002F\u002F Receive events\nReceiveResult result = receiverClient.receive(10, Duration.ofSeconds(30));\n\nfor (ReceiveDetails detail : result.getValue()) {\n    CloudEvent event = detail.getEvent();\n    System.out.println(\"Event: \" + event.getType());\n\n    \u002F\u002F Acknowledge the event\n    receiverClient.acknowledge(Arrays.asList(detail.getBrokerProperties().getLockToken()));\n}\n```\n\n### Reject or Release Events\n\n```java\n\u002F\u002F Reject (don't retry)\nreceiverClient.reject(Arrays.asList(lockToken));\n\n\u002F\u002F Release (retry later)\nreceiverClient.release(Arrays.asList(lockToken));\n\n\u002F\u002F Release with delay\nreceiverClient.release(Arrays.asList(lockToken),\n    new ReleaseOptions().setDelay(ReleaseDelay.BY_60_SECONDS));\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    client.sendEvent(event);\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\nEVENT_GRID_TOPIC_ENDPOINT=https:\u002F\u002F\u003Ctopic-name>.\u003Cregion>.eventgrid.azure.net\u002Fapi\u002Fevents\nEVENT_GRID_ACCESS_KEY=\u003Cyour-access-key>\n```\n\n## Best Practices\n\n1. **Batch Events**: Send multiple events in one call when possible\n2. **Idempotency**: Include unique event IDs for deduplication\n3. **Schema Validation**: Use strongly-typed event data classes\n4. **Retry Logic**: Built-in, but consider dead-letter for failures\n5. **Event Size**: Keep events under 1MB (64KB for basic tier)\n\n## Trigger Phrases\n\n- \"Event Grid Java\"\n- \"publish events Azure\"\n- \"CloudEvent SDK\"\n- \"event-driven messaging\"\n- \"pub\u002Fsub Azure\"\n- \"webhook events\"\n",{"name":5,"license":15,"metadata":44,"description":7},{"author":45,"package":46,"version":47},"Microsoft","com.azure:azure-messaging-eventgrid","1.0.0","main","5c95bcac4646c5aed06bd9aed5235cfc7985aafc","included\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-eventgrid-java",0,"https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked","https:\u002F\u002Fgithub.com\u002Fstrmt7","2026-11-11 04:18:12",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add strmt7\u002Fai_skills_collection_benchmarked --skill azure-eventgrid-java",{"tool":61,"command":62},"bunx","bunx skills add strmt7\u002Fai_skills_collection_benchmarked --skill azure-eventgrid-java",{"tool":64,"command":65},"pnpm","pnpm dlx skills add strmt7\u002Fai_skills_collection_benchmarked --skill azure-eventgrid-java","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-eventgrid-java\u002FSKILL.md",true,[69,75],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Facceptance-criteria.md","REFERENCE","参考文档",4107,"https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-eventgrid-java\u002Freferences\u002Facceptance-criteria.md",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fexamples.md",14153,"https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-eventgrid-java\u002Freferences\u002Fexamples.md",[80,111,140,165,190,218],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":84,"licenseFileUrl":85,"sourceHtmlUrl":86,"categories":87,"keywords":96,"publishedAt":39},"01M71D4H3T6M57DFKN8HENAWRV","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Fofficial-reference\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Fofficial-reference\u002Fwebapp-testing\u002FSKILL.md",[88,93],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":94,"categoryName":95,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000009","前端开发",[97,98,99,37,35,100,101,102,103,104,105,28,106,107,108,109,110],"webapp","testing","webapp testing","local","frontend","debugging","toolkit","logs","browser","playwright","web","behavior","ui","screenshots",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":84,"licenseFileUrl":115,"sourceHtmlUrl":116,"categories":117,"keywords":121,"publishedAt":39},"01M71D4CQR2A2TB7GASCR5ZBG3","skill-creator","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Fofficial-reference\u002Fskill-creator-anthropics\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Fofficial-reference\u002Fskill-creator-anthropics\u002FSKILL.md",[118],{"categoryNo":119,"categoryName":120,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000023","Skill与智能体开发",[122,123,124,125,126,127,31,128,129,130,131,132,133,134,135,136,137,138,37,139],"skill creator","creator","performance","improve","run evals","new","analysis","create","optimize","variance analysis","run","edit","benchmark","a skill","existing skill","evals","modify","accuracy",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":148,"publishedAt":39},"01M71D488XHEZVXXSXFYP8ENMH","playwright-skill","Complete browser automation with Playwright. Auto-detects dev servers, writes reusable test scripts, and supports screenshots, responsive checks, UX validation, login flows, link checks, and arbitrary browser automation. Use when the user wants to test a website, automate browser interactions, validate web functionality, or perform browser-based testing.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Flatest-release-browser-automation\u002Fplaywright-skill\u002FSKILL.md",[146,147],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},{"categoryNo":119,"categoryName":120,"taxonomyType":91,"taxonomyTypeDesc":92},[106,149,150,151,98,152,153,31,154,105,155,156,157,158,159,160,161,162,163,164],"playwright skill","browser automation","flows","auto","access","Bash","website","ux","login","scripts","read","write","node","install","network","responsive",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":84,"licenseFileUrl":169,"sourceHtmlUrl":170,"categories":171,"keywords":173,"publishedAt":39},"01M71CY25GM939M6RES91QSG3T","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fsearch-retrieval-web-automation\u002Fofficial-reference\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fsearch-retrieval-web-automation\u002Fofficial-reference\u002Fweb-artifacts-builder\u002FSKILL.md",[172],{"categoryNo":94,"categoryName":95,"taxonomyType":91,"taxonomyTypeDesc":92},[174,175,176,107,177,178,179,37,180,181,101,182,32,183,184,185,186,187,188,189],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","file","components","react","multi","state","routing","state management",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":84,"licenseFileUrl":194,"sourceHtmlUrl":195,"categories":196,"keywords":206,"publishedAt":39},"01M71CXZB60QJJ1H4S3NN94WMZ","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fsearch-retrieval-web-automation\u002Fofficial-reference\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fsearch-retrieval-web-automation\u002Fofficial-reference\u002Ffrontend-design\u002FSKILL.md",[197,198,201],{"categoryNo":94,"categoryName":95,"taxonomyType":91,"taxonomyTypeDesc":92},{"categoryNo":199,"categoryName":200,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":202,"categoryName":203,"taxonomyType":204,"taxonomyTypeDesc":205},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[101,207,208,179,209,210,211,35,212,213,32,31,176,214,184,215,185,216,217,28],"design","frontend design","ui design","generic","aesthetics","landing","pages","code","web ui","react components","examples",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":224,"publishedAt":39},"01M71CVZ54WFBTVA7R16PFY1ZE","zarr-python","Chunked N-D arrays for cloud storage. Compressed arrays, parallel I\u002FO, S3\u002FGCS integration, NumPy\u002FDask\u002FXarray compatible, for large-scale scientific computing pipelines.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fscience-research-data-analysis\u002Flatest-release-community\u002Fzarr-python\u002FSKILL.md",[],[225,226,227,228,229,230,231,232,233,37,234,235,236,237,238,239,240,241],"zarr python","python","zarr","arrays","Cloud Storage","scientific","storage","parallel","dask","numpy","gcs","s3","integration","scientific computing","cloud","scale","pipelines"]