[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RH2CF56JWDXZRJ6AWHWS1":3,"skill-same:01M71RH2CF56JWDXZRJ6AWHWS1":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":13,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M71RH2CF56JWDXZRJ6AWHWS1","azure-messaging-webpubsub-java",null,"Build real-time web applications with Azure Web PubSub SDK for Java. Use when implementing WebSocket-based messaging, live updates, chat applications, or server-to-client push notifications.","javiertarazon\u002Fide-agente-free-jt7-","javiertarazon","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F153141207?v=4","01M71R52TB3S9HXKH6WSNT8A7V","01M71R52VG5KS2DKDDH4GDQ30A",0,"MIT","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fazure-messaging-webpubsub-java\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"azure messaging","azure","java","azure messaging webpubsub java","messaging","applications","real-time","for","websocket","push","live","pubsub","server","notifications","unknown","updates","when","implementing","time","community","2026-11-10 13:02:02",false,"---\nname: azure-messaging-webpubsub-java\ndescription: \"Build real-time web applications with Azure Web PubSub SDK for Java. Use when implementing WebSocket-based messaging, live updates, chat applications, or server-to-client push notifications.\"\npackage: com.azure:azure-messaging-webpubsub\nrisk: unknown\nsource: community\n---\n\n# Azure Web PubSub SDK for Java\n\nBuild real-time web applications using the Azure Web PubSub SDK for Java.\n\n## Installation\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.azure\u003C\u002FgroupId>\n    \u003CartifactId>azure-messaging-webpubsub\u003C\u002FartifactId>\n    \u003Cversion>1.5.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Client Creation\n\n### With Connection String\n\n```java\nimport com.azure.messaging.webpubsub.WebPubSubServiceClient;\nimport com.azure.messaging.webpubsub.WebPubSubServiceClientBuilder;\n\nWebPubSubServiceClient client = new WebPubSubServiceClientBuilder()\n    .connectionString(\"\u003Cconnection-string>\")\n    .hub(\"chat\")\n    .buildClient();\n```\n\n### With Access Key\n\n```java\nimport com.azure.core.credential.AzureKeyCredential;\n\nWebPubSubServiceClient client = new WebPubSubServiceClientBuilder()\n    .credential(new AzureKeyCredential(\"\u003Caccess-key>\"))\n    .endpoint(\"\u003Cendpoint>\")\n    .hub(\"chat\")\n    .buildClient();\n```\n\n### With DefaultAzureCredential\n\n```java\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nWebPubSubServiceClient client = new WebPubSubServiceClientBuilder()\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .endpoint(\"\u003Cendpoint>\")\n    .hub(\"chat\")\n    .buildClient();\n```\n\n### Async Client\n\n```java\nimport com.azure.messaging.webpubsub.WebPubSubServiceAsyncClient;\n\nWebPubSubServiceAsyncClient asyncClient = new WebPubSubServiceClientBuilder()\n    .connectionString(\"\u003Cconnection-string>\")\n    .hub(\"chat\")\n    .buildAsyncClient();\n```\n\n## Key Concepts\n\n- **Hub**: Logical isolation unit for connections\n- **Group**: Subset of connections within a hub\n- **Connection**: Individual WebSocket client connection\n- **User**: Entity that can have multiple connections\n\n## Core Patterns\n\n### Send to All Connections\n\n```java\nimport com.azure.messaging.webpubsub.models.WebPubSubContentType;\n\n\u002F\u002F Send text message\nclient.sendToAll(\"Hello everyone!\", WebPubSubContentType.TEXT_PLAIN);\n\n\u002F\u002F Send JSON\nString jsonMessage = \"{\\\"type\\\": \\\"notification\\\", \\\"message\\\": \\\"New update!\\\"}\";\nclient.sendToAll(jsonMessage, WebPubSubContentType.APPLICATION_JSON);\n```\n\n### Send to All with Filter\n\n```java\nimport com.azure.core.http.rest.RequestOptions;\nimport com.azure.core.util.BinaryData;\n\nBinaryData message = BinaryData.fromString(\"Hello filtered users!\");\n\n\u002F\u002F Filter by userId\nclient.sendToAllWithResponse(\n    message,\n    WebPubSubContentType.TEXT_PLAIN,\n    message.getLength(),\n    new RequestOptions().addQueryParam(\"filter\", \"userId ne 'user1'\"));\n\n\u002F\u002F Filter by groups\nclient.sendToAllWithResponse(\n    message,\n    WebPubSubContentType.TEXT_PLAIN,\n    message.getLength(),\n    new RequestOptions().addQueryParam(\"filter\", \"'GroupA' in groups and not('GroupB' in groups)\"));\n```\n\n### Send to Group\n\n```java\n\u002F\u002F Send to all connections in a group\nclient.sendToGroup(\"java-developers\", \"Hello Java devs!\", WebPubSubContentType.TEXT_PLAIN);\n\n\u002F\u002F Send JSON to group\nString json = \"{\\\"event\\\": \\\"update\\\", \\\"data\\\": {\\\"version\\\": \\\"2.0\\\"}}\";\nclient.sendToGroup(\"subscribers\", json, WebPubSubContentType.APPLICATION_JSON);\n```\n\n### Send to Specific Connection\n\n```java\n\u002F\u002F Send to a specific connection by ID\nclient.sendToConnection(\"connectionId123\", \"Private message\", WebPubSubContentType.TEXT_PLAIN);\n```\n\n### Send to User\n\n```java\n\u002F\u002F Send to all connections for a specific user\nclient.sendToUser(\"andy\", \"Hello Andy!\", WebPubSubContentType.TEXT_PLAIN);\n```\n\n### Manage Groups\n\n```java\n\u002F\u002F Add connection to group\nclient.addConnectionToGroup(\"premium-users\", \"connectionId123\");\n\n\u002F\u002F Remove connection from group\nclient.removeConnectionFromGroup(\"premium-users\", \"connectionId123\");\n\n\u002F\u002F Add user to group (all their connections)\nclient.addUserToGroup(\"admin-group\", \"userId456\");\n\n\u002F\u002F Remove user from group\nclient.removeUserFromGroup(\"admin-group\", \"userId456\");\n\n\u002F\u002F Check if user is in group\nboolean exists = client.userExistsInGroup(\"admin-group\", \"userId456\");\n```\n\n### Manage Connections\n\n```java\n\u002F\u002F Check if connection exists\nboolean connected = client.connectionExists(\"connectionId123\");\n\n\u002F\u002F Close a connection\nclient.closeConnection(\"connectionId123\");\n\n\u002F\u002F Close with reason\nclient.closeConnection(\"connectionId123\", \"Session expired\");\n\n\u002F\u002F Check if user exists (has any connections)\nboolean userOnline = client.userExists(\"userId456\");\n\n\u002F\u002F Close all connections for a user\nclient.closeUserConnections(\"userId456\");\n\n\u002F\u002F Close all connections in a group\nclient.closeGroupConnections(\"inactive-group\");\n```\n\n### Generate Client Access Token\n\n```java\nimport com.azure.messaging.webpubsub.models.GetClientAccessTokenOptions;\nimport com.azure.messaging.webpubsub.models.WebPubSubClientAccessToken;\n\n\u002F\u002F Basic token\nWebPubSubClientAccessToken token = client.getClientAccessToken(\n    new GetClientAccessTokenOptions());\nSystem.out.println(\"URL: \" + token.getUrl());\n\n\u002F\u002F With user ID\nWebPubSubClientAccessToken userToken = client.getClientAccessToken(\n    new GetClientAccessTokenOptions().setUserId(\"user123\"));\n\n\u002F\u002F With roles (permissions)\nWebPubSubClientAccessToken roleToken = client.getClientAccessToken(\n    new GetClientAccessTokenOptions()\n        .setUserId(\"user123\")\n        .addRole(\"webpubsub.joinLeaveGroup\")\n        .addRole(\"webpubsub.sendToGroup\"));\n\n\u002F\u002F With groups to join on connect\nWebPubSubClientAccessToken groupToken = client.getClientAccessToken(\n    new GetClientAccessTokenOptions()\n        .setUserId(\"user123\")\n        .addGroup(\"announcements\")\n        .addGroup(\"updates\"));\n\n\u002F\u002F With custom expiration\nWebPubSubClientAccessToken expToken = client.getClientAccessToken(\n    new GetClientAccessTokenOptions()\n        .setUserId(\"user123\")\n        .setExpiresAfter(Duration.ofHours(2)));\n```\n\n### Grant\u002FRevoke Permissions\n\n```java\nimport com.azure.messaging.webpubsub.models.WebPubSubPermission;\n\n\u002F\u002F Grant permission to send to a group\nclient.grantPermission(\n    WebPubSubPermission.SEND_TO_GROUP,\n    \"connectionId123\",\n    new RequestOptions().addQueryParam(\"targetName\", \"chat-room\"));\n\n\u002F\u002F Revoke permission\nclient.revokePermission(\n    WebPubSubPermission.SEND_TO_GROUP,\n    \"connectionId123\",\n    new RequestOptions().addQueryParam(\"targetName\", \"chat-room\"));\n\n\u002F\u002F Check permission\nboolean hasPermission = client.checkPermission(\n    WebPubSubPermission.SEND_TO_GROUP,\n    \"connectionId123\",\n    new RequestOptions().addQueryParam(\"targetName\", \"chat-room\"));\n```\n\n### Async Operations\n\n```java\nasyncClient.sendToAll(\"Async message!\", WebPubSubContentType.TEXT_PLAIN)\n    .subscribe(\n        unused -> System.out.println(\"Message sent\"),\n        error -> System.err.println(\"Error: \" + error.getMessage())\n    );\n\nasyncClient.sendToGroup(\"developers\", \"Group message\", WebPubSubContentType.TEXT_PLAIN)\n    .doOnSuccess(v -> System.out.println(\"Sent to group\"))\n    .doOnError(e -> System.err.println(\"Failed: \" + e))\n    .subscribe();\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    client.sendToConnection(\"invalid-id\", \"test\", WebPubSubContentType.TEXT_PLAIN);\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\nWEB_PUBSUB_CONNECTION_STRING=Endpoint=https:\u002F\u002F\u003Cresource>.webpubsub.azure.com;AccessKey=...\nWEB_PUBSUB_ENDPOINT=https:\u002F\u002F\u003Cresource>.webpubsub.azure.com\nWEB_PUBSUB_ACCESS_KEY=\u003Cyour-access-key>\n```\n\n## Client Roles\n\n| Role | Permission |\n|------|------------|\n| `webpubsub.joinLeaveGroup` | Join\u002Fleave any group |\n| `webpubsub.sendToGroup` | Send to any group |\n| `webpubsub.joinLeaveGroup.\u003Cgroup>` | Join\u002Fleave specific group |\n| `webpubsub.sendToGroup.\u003Cgroup>` | Send to specific group |\n\n## Best Practices\n\n1. **Use Groups**: Organize connections into groups for targeted messaging\n2. **User IDs**: Associate connections with user IDs for user-level messaging\n3. **Token Expiration**: Set appropriate token expiration for security\n4. **Roles**: Grant minimal required permissions via roles\n5. **Hub Isolation**: Use separate hubs for different application features\n6. **Connection Management**: Clean up inactive connections\n\n## Trigger Phrases\n\n- \"Web PubSub Java\"\n- \"WebSocket messaging Azure\"\n- \"real-time push notifications\"\n- \"server-sent events\"\n- \"chat application backend\"\n- \"live updates broadcasting\"\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Azure Web PubSub SDK for Java\n\nBuild real-time web applications using the Azure Web PubSub SDK for Java.\n\n## Installation\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>com.azure\u003C\u002FgroupId>\n    \u003CartifactId>azure-messaging-webpubsub\u003C\u002FartifactId>\n    \u003Cversion>1.5.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n## Client Creation\n\n### With Connection String\n\n```java\nimport com.azure.messaging.webpubsub.WebPubSubServiceClient;\nimport com.azure.messaging.webpubsub.WebPubSubServiceClientBuilder;\n\nWebPubSubServiceClient client = new WebPubSubServiceClientBuilder()\n    .connectionString(\"\u003Cconnection-string>\")\n    .hub(\"chat\")\n    .buildClient();\n```\n\n### With Access Key\n\n```java\nimport com.azure.core.credential.AzureKeyCredential;\n\nWebPubSubServiceClient client = new WebPubSubServiceClientBuilder()\n    .credential(new AzureKeyCredential(\"\u003Caccess-key>\"))\n    .endpoint(\"\u003Cendpoint>\")\n    .hub(\"chat\")\n    .buildClient();\n```\n\n### With DefaultAzureCredential\n\n```java\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nWebPubSubServiceClient client = new WebPubSubServiceClientBuilder()\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .endpoint(\"\u003Cendpoint>\")\n    .hub(\"chat\")\n    .buildClient();\n```\n\n### Async Client\n\n```java\nimport com.azure.messaging.webpubsub.WebPubSubServiceAsyncClient;\n\nWebPubSubServiceAsyncClient asyncClient = new WebPubSubServiceClientBuilder()\n    .connectionString(\"\u003Cconnection-string>\")\n    .hub(\"chat\")\n    .buildAsyncClient();\n```\n\n## Key Concepts\n\n- **Hub**: Logical isolation unit for connections\n- **Group**: Subset of connections within a hub\n- **Connection**: Individual WebSocket client connection\n- **User**: Entity that can have multiple connections\n\n## Core Patterns\n\n### Send to All Connections\n\n```java\nimport com.azure.messaging.webpubsub.models.WebPubSubContentType;\n\n\u002F\u002F Send text message\nclient.sendToAll(\"Hello everyone!\", WebPubSubContentType.TEXT_PLAIN);\n\n\u002F\u002F Send JSON\nString jsonMessage = \"{\\\"type\\\": \\\"notification\\\", \\\"message\\\": \\\"New update!\\\"}\";\nclient.sendToAll(jsonMessage, WebPubSubContentType.APPLICATION_JSON);\n```\n\n### Send to All with Filter\n\n```java\nimport com.azure.core.http.rest.RequestOptions;\nimport com.azure.core.util.BinaryData;\n\nBinaryData message = BinaryData.fromString(\"Hello filtered users!\");\n\n\u002F\u002F Filter by userId\nclient.sendToAllWithResponse(\n    message,\n    WebPubSubContentType.TEXT_PLAIN,\n    message.getLength(),\n    new RequestOptions().addQueryParam(\"filter\", \"userId ne 'user1'\"));\n\n\u002F\u002F Filter by groups\nclient.sendToAllWithResponse(\n    message,\n    WebPubSubContentType.TEXT_PLAIN,\n    message.getLength(),\n    new RequestOptions().addQueryParam(\"filter\", \"'GroupA' in groups and not('GroupB' in groups)\"));\n```\n\n### Send to Group\n\n```java\n\u002F\u002F Send to all connections in a group\nclient.sendToGroup(\"java-developers\", \"Hello Java devs!\", WebPubSubContentType.TEXT_PLAIN);\n\n\u002F\u002F Send JSON to group\nString json = \"{\\\"event\\\": \\\"update\\\", \\\"data\\\": {\\\"version\\\": \\\"2.0\\\"}}\";\nclient.sendToGroup(\"subscribers\", json, WebPubSubContentType.APPLICATION_JSON);\n```\n\n### Send to Specific Connection\n\n```java\n\u002F\u002F Send to a specific connection by ID\nclient.sendToConnection(\"connectionId123\", \"Private message\", WebPubSubContentType.TEXT_PLAIN);\n```\n\n### Send to User\n\n```java\n\u002F\u002F Send to all connections for a specific user\nclient.sendToUser(\"andy\", \"Hello Andy!\", WebPubSubContentType.TEXT_PLAIN);\n```\n\n### Manage Groups\n\n```java\n\u002F\u002F Add connection to group\nclient.addConnectionToGroup(\"premium-users\", \"connectionId123\");\n\n\u002F\u002F Remove connection from group\nclient.removeConnectionFromGroup(\"premium-users\", \"connectionId123\");\n\n\u002F\u002F Add user to group (all their connections)\nclient.addUserToGroup(\"admin-group\", \"userId456\");\n\n\u002F\u002F Remove user from group\nclient.removeUserFromGroup(\"admin-group\", \"userId456\");\n\n\u002F\u002F Check if user is in group\nboolean exists = client.userExistsInGroup(\"admin-group\", \"userId456\");\n```\n\n### Manage Connections\n\n```java\n\u002F\u002F Check if connection exists\nboolean connected = client.connectionExists(\"connectionId123\");\n\n\u002F\u002F Close a connection\nclient.closeConnection(\"connectionId123\");\n\n\u002F\u002F Close with reason\nclient.closeConnection(\"connectionId123\", \"Session expired\");\n\n\u002F\u002F Check if user exists (has any connections)\nboolean userOnline = client.userExists(\"userId456\");\n\n\u002F\u002F Close all connections for a user\nclient.closeUserConnections(\"userId456\");\n\n\u002F\u002F Close all connections in a group\nclient.closeGroupConnections(\"inactive-group\");\n```\n\n### Generate Client Access Token\n\n```java\nimport com.azure.messaging.webpubsub.models.GetClientAccessTokenOptions;\nimport com.azure.messaging.webpubsub.models.WebPubSubClientAccessToken;\n\n\u002F\u002F Basic token\nWebPubSubClientAccessToken token = client.getClientAccessToken(\n    new GetClientAccessTokenOptions());\nSystem.out.println(\"URL: \" + token.getUrl());\n\n\u002F\u002F With user ID\nWebPubSubClientAccessToken userToken = client.getClientAccessToken(\n    new GetClientAccessTokenOptions().setUserId(\"user123\"));\n\n\u002F\u002F With roles (permissions)\nWebPubSubClientAccessToken roleToken = client.getClientAccessToken(\n    new GetClientAccessTokenOptions()\n        .setUserId(\"user123\")\n        .addRole(\"webpubsub.joinLeaveGroup\")\n        .addRole(\"webpubsub.sendToGroup\"));\n\n\u002F\u002F With groups to join on connect\nWebPubSubClientAccessToken groupToken = client.getClientAccessToken(\n    new GetClientAccessTokenOptions()\n        .setUserId(\"user123\")\n        .addGroup(\"announcements\")\n        .addGroup(\"updates\"));\n\n\u002F\u002F With custom expiration\nWebPubSubClientAccessToken expToken = client.getClientAccessToken(\n    new GetClientAccessTokenOptions()\n        .setUserId(\"user123\")\n        .setExpiresAfter(Duration.ofHours(2)));\n```\n\n### Grant\u002FRevoke Permissions\n\n```java\nimport com.azure.messaging.webpubsub.models.WebPubSubPermission;\n\n\u002F\u002F Grant permission to send to a group\nclient.grantPermission(\n    WebPubSubPermission.SEND_TO_GROUP,\n    \"connectionId123\",\n    new RequestOptions().addQueryParam(\"targetName\", \"chat-room\"));\n\n\u002F\u002F Revoke permission\nclient.revokePermission(\n    WebPubSubPermission.SEND_TO_GROUP,\n    \"connectionId123\",\n    new RequestOptions().addQueryParam(\"targetName\", \"chat-room\"));\n\n\u002F\u002F Check permission\nboolean hasPermission = client.checkPermission(\n    WebPubSubPermission.SEND_TO_GROUP,\n    \"connectionId123\",\n    new RequestOptions().addQueryParam(\"targetName\", \"chat-room\"));\n```\n\n### Async Operations\n\n```java\nasyncClient.sendToAll(\"Async message!\", WebPubSubContentType.TEXT_PLAIN)\n    .subscribe(\n        unused -> System.out.println(\"Message sent\"),\n        error -> System.err.println(\"Error: \" + error.getMessage())\n    );\n\nasyncClient.sendToGroup(\"developers\", \"Group message\", WebPubSubContentType.TEXT_PLAIN)\n    .doOnSuccess(v -> System.out.println(\"Sent to group\"))\n    .doOnError(e -> System.err.println(\"Failed: \" + e))\n    .subscribe();\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    client.sendToConnection(\"invalid-id\", \"test\", WebPubSubContentType.TEXT_PLAIN);\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\nWEB_PUBSUB_CONNECTION_STRING=Endpoint=https:\u002F\u002F\u003Cresource>.webpubsub.azure.com;AccessKey=...\nWEB_PUBSUB_ENDPOINT=https:\u002F\u002F\u003Cresource>.webpubsub.azure.com\nWEB_PUBSUB_ACCESS_KEY=\u003Cyour-access-key>\n```\n\n## Client Roles\n\n| Role | Permission |\n|------|------------|\n| `webpubsub.joinLeaveGroup` | Join\u002Fleave any group |\n| `webpubsub.sendToGroup` | Send to any group |\n| `webpubsub.joinLeaveGroup.\u003Cgroup>` | Join\u002Fleave specific group |\n| `webpubsub.sendToGroup.\u003Cgroup>` | Send to specific group |\n\n## Best Practices\n\n1. **Use Groups**: Organize connections into groups for targeted messaging\n2. **User IDs**: Associate connections with user IDs for user-level messaging\n3. **Token Expiration**: Set appropriate token expiration for security\n4. **Roles**: Grant minimal required permissions via roles\n5. **Hub Isolation**: Use separate hubs for different application features\n6. **Connection Management**: Clean up inactive connections\n\n## Trigger Phrases\n\n- \"Web PubSub Java\"\n- \"WebSocket messaging Azure\"\n- \"real-time push notifications\"\n- \"server-sent events\"\n- \"chat application backend\"\n- \"live updates broadcasting\"\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":32,"source":37,"package":43,"description":7},"com.azure:azure-messaging-webpubsub","release\u002Fv4.2.11-panel-pro","a92ea02bcf7e2b3dbaf46d49696c29a3cb490d4f",".github\u002Fskills\u002Fazure-messaging-webpubsub-java","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-","https:\u002F\u002Fgithub.com\u002Fjaviertarazon","2026-07-12 07:10:45",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add javiertarazon\u002Fide-agente-free-jt7- --skill azure-messaging-webpubsub-java",{"tool":56,"command":57},"bunx","bunx skills add javiertarazon\u002Fide-agente-free-jt7- --skill azure-messaging-webpubsub-java",{"tool":59,"command":60},"pnpm","pnpm dlx skills add javiertarazon\u002Fide-agente-free-jt7- --skill azure-messaging-webpubsub-java","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fazure-messaging-webpubsub-java\u002FSKILL.md",true,[],[65,93,119,139,154,176],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":76,"publishedAt":38},"01M71TQ7Q6Z10VWF3C2H5X1KW9","zustand-store-ts","Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state\u002Faction separation. Use when building React state management, creating global stores, or implementing reacti...","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzustand-store-ts\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[77,78,79,37,80,35,81,82,34,32,83,84,85,86,87,88,89,90,91,92],"zustand","store","zustand store ts","middleware","use","react state management","react","with","state","create","state management","typescript","action","management","separation","global",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":102,"publishedAt":38},"01M71TQ5EAR40G6W0MV5ZDVEZT","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzoom-automation\u002FSKILL.md",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000023","Skill与智能体开发",[103,104,105,37,106,25,107,108,109,32,110,111,112,113,114,115,116,117,90,118],"zoom automation","zoom","automation","creation","search","schemas","MCP","first","via","meeting","search tools","tracking","webinars","composio","recordings","Tools",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":126,"publishedAt":38},"01M71TQ29B1EYBCEAP1ZBGXQ1A","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzoho-crm-automation\u002FSKILL.md",[125],{"categoryNo":100,"categoryName":101,"taxonomyType":74,"taxonomyTypeDesc":75},[127,128,105,129,130,131,37,132,133,25,134,107,108,135,109,32,136,137,138,86],"crm automation","zoho crm automation","crm","zoho crm","zoho","leads","manage leads","manage","records","convert","tasks","contacts",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":38},"01M71TPZPMN60DH0XV58KVHY23","zendesk-automation","Automate Zendesk tasks via Rube MCP (Composio): tickets, users, organizations, replies. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzendesk-automation\u002FSKILL.md",[145],{"categoryNo":100,"categoryName":101,"taxonomyType":74,"taxonomyTypeDesc":75},[147,105,148,37,25,107,108,109,149,32,137,150,151,110,111,152,113,116,118,153],"zendesk automation","zendesk","organizations","replies","users","tickets","automate",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":38},"01M71TPXDWKHKG4N6TVEPXWD0N","zapier-make-patterns","No-code automation democratizes workflow building. Zapier and Make (formerly Integromat) let non-developers automate business processes without writing code. But no-code doesn't mean no-complexity ...","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fzapier-make-patterns\u002FSKILL.md",[],[161,162,163,164,165,166,167,168,169,105,170,32,171,172,173,174,175,153],"zapier make patterns","zapier","patterns","make","No-Code","complexity","writing","spawner","business","workflow","code","integromat","apache","processes","but",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":185,"publishedAt":38},"01M71TPT5T10WXNKW9G7ZXZ27W","youtube-summarizer","Extract transcripts from YouTube videos and generate comprehensive, detailed summaries using intelligent analysis frameworks","https:\u002F\u002Fgithub.com\u002Fjaviertarazon\u002Fide-agente-free-jt7-\u002Fblob\u002Frelease\u002Fv4.2.11-panel-pro\u002F.github\u002Fskills\u002Fyoutube-summarizer\u002FSKILL.md",[182],{"categoryNo":183,"categoryName":184,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000016","图像与多媒体",[186,187,188,189,37,190,191,192,193,194,195,196,171,197,198,199,200,201,202,203],"summarizer","youtube","youtube summarizer","Video","content-analysis","frameworks","copilot","2025","github-copilot","extract transcripts","analysis","codex","cli","summaries","github","generate","summarization","2026"]