Dev & Engineering ✓ Microsoft · Official azure-communication-servicesjava-sdktoken-credentialstoken-refreshuser-identifiersentra-id

Azure Communication Common for Java

Guides Java developers through shared ACS authentication, token refresh, and communication identifier handling.

FollowSkills review · FSRS-2.0
Not recommended
51/ 100 5-point scale 2.6 / 5
Trust16 / 25 · 3.2/5

The documentation explicitly advises against logging full tokens, recommends graceful refresh-failure handling, and mostly uses placeholders; however, the token-service example sends userId in a GET query string and does not define least privilege, user confirmation, data-flow boundaries, endpoint security, dependency security, or recovery, so points are deducted.

Reliability8 / 20 · 2.0/5

The main credential, identifier, and refresh patterns are broadly consistent and include retry and failure-handling guidance; however, examples rely on undefined methods, include a blocking async pattern, and provide no skill-specific tests or compatibility validation. Static evidence is limited, so the score is conservative.

Adaptability9 / 15 · 3.0/5

Trigger phrases, Java targeting, and ACS authentication scenarios are clear; boundaries for non-fit use cases, input/output contracts, API-version constraints, and abnormal inputs are under-specified. Chinese support and mainland-China network reachability are not addressed, so points are deducted.

Convention8 / 15 · 2.7/5

The skill has front matter, MIT licensing, a version, installation guidance, layered examples, references, and best practices; it lacks a changelog, explicit maintenance owner/update path, FAQ, compatibility matrix, and complete dependency notes, so points are deducted.

Effectiveness6 / 15 · 2.0/5

Coverage includes static tokens, refresh, Entra ID, identifier parsing, caching, and disposal, providing useful starting material for common ACS Java tasks; several examples depend on unstated services or methods and contain security or completeness risks. No execution was performed, so the score remains below the static ceiling.

Verifiability4 / 10 · 2.0/5

The skill and reference examples are auditable, and the repository includes general CI and harness tests; there are no skill-specific committed tests, real execution results, or independent third-party corroboration. The assessment therefore relies mainly on static documentation and is scored conservatively.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a
Before you use it
  • Do not log full tokens or transmit them through insecure query parameters; obtain and refresh tokens through a secured server-side flow.
  • Verify the actual APIs and version compatibility of azure-communication-common, azure-identity, and related ACS clients before adoption.
  • Add diagnosable handling and tests for refresh failures, invalid identifiers, endpoint misconfiguration, and multi-tenant isolation.
  • The core workflow depends on Azure service endpoints, while mainland-China reachability, regional restrictions, and alternatives are undocumented.
See the full review method →

What it does & when to use it

This skill is for Java developers using Azure Communication Services shared utilities. It covers static user tokens, proactive and asynchronous token refresh, and Entra ID authentication. It also explains how to create, parse, inspect, and use ACS user, phone number, Teams, and unknown identifiers. Adopt it when an agent needs focused guidance for authentication foundations used by ACS Chat, Calling, or related clients; it is not a complete guide to those service APIs.

Shows how to add the Maven package, construct CommunicationTokenCredential, configure static or proactively refreshed tokens, set up Entra ID credentials and scopes, and connect credentials to an ACS client. It provides Java examples for creating and parsing communication identifiers, checking their concrete types, reading token expiry, accessing tokens synchronously or asynchronously, closing credentials, selecting cloud environments, and applying token-security practices.

  1. A Java developer is building an ACS Chat or Calling client and needs to attach a user access token as a credential.
  2. A team is running a long-lived ACS client that must refresh tokens before expiration through a callback.
  3. An application must distinguish ACS users, PSTN phone numbers, Teams users, and unknown communication identifiers.
  4. A Java developer is configuring Entra ID authentication for Teams Phone Extensibility with a resource endpoint and scopes.

Pros & cons

Pros
  • Covers the main shared ACS authentication and identifier types for Java.
  • Includes static tokens, proactive refresh, asynchronous access, and Entra ID examples.
  • Includes concrete guidance on token security, credential disposal, and identifier specificity.
Limitations
  • It focuses on shared authentication and identifiers rather than complete Chat, Calling, or SMS APIs.
  • Application-specific pieces such as the token service, client objects, and `fetchNewTokenFromServer()` must be implemented separately.
  • The supplied material provides no independent test results or platform-specific validation for this individual skill.

How to install

Run npx skills add microsoft/skills and select this skill in the wizard. Alternatively, clone the repository and copy .github/plugins/azure-sdk-java/skills/azure-communication-common-java/ into the selected agent's skill directory; the README does not specify the final per-agent path for this individual skill. The documented Maven dependency is com.azure:azure-communication-common:1.4.0.

How to use

Use a prompt such as: Configure CommunicationTokenCredential for a Java Azure Communication Services Chat client with proactive token refresh. The agent can then follow the skill's examples for credentials, refresh callbacks, identifier parsing, token access, and cleanup.

FAQ

Does this skill cover all Azure Communication Services features?
No. It focuses on shared authentication utilities, token refresh, and communication identifiers. Complete Chat, Calling, or SMS APIs require separate guidance.
What should long-lived clients use for token handling?
Use `CommunicationTokenRefreshOptions`, set `setRefreshProactively(true)`, and provide a token refresh callback.
Does using this skill require network access?
Real use generally requires an ACS resource endpoint and may require a server call to obtain refreshed tokens; both are shown in the examples.
Should full access tokens be logged?
No. The skill explicitly recommends never logging or exposing full tokens.

More skills from this repository

All from microsoft/agent-skills

Dev & Engineering ✓ Microsoft · Official

Azure Identity for Python

A practical skill for securing Python Azure applications with Microsoft Entra ID credentials.

Dev & Engineering ✓ Microsoft · Official

Azure Event Hubs Java Skill

Build production-oriented Java event streaming applications on Azure Event Hubs.

Dev & Engineering ✓ Microsoft · Official

Azure Tables for Python

A practical guide to building authenticated Azure Tables applications with Python entity CRUD, queries, and partition-scoped batch operations.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for TypeScript

Configure secure, flexible Microsoft Entra ID authentication for TypeScript Azure applications.

Automation & Ops ✓ Microsoft · Official

Azure Reliability Advisor

Assess and improve reliability for Azure Functions and App Service.

Dev & Engineering ✓ Microsoft · Official

Azure Cloud Architect

Guides coding agents through production-grade Azure architecture design and review using Azure Architecture Center practices.

Dev & Engineering ✓ Microsoft · Official

Azure AI Text Analytics for Python

Guides Python developers through Azure-powered text analysis and NLP workflows.

Automation & Ops ✓ Microsoft · Official

Azure Resource Architecture Visualizer

Analyze Azure resource groups and turn their dependencies into detailed Mermaid architecture diagrams.

Dev & Engineering ✓ Microsoft · Official

Azure Maps for .NET

Build .NET location features for search, routing, maps, geolocation, and weather.

Dev & Engineering ✓ Microsoft · Official

Azure AI Vision Image Analysis

Guides Python coding agents in implementing Azure AI Vision image understanding.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for Python

Guides secure, production-minded Blob Storage operations in Python.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage for Python

Gives coding agents reliable Python patterns for secure Azure Queue Storage messaging and asynchronous task processing.

Automation & Ops ✓ Microsoft · Official

Azure AI Gateway Governance

Use Azure API Management to govern traffic across AI models, MCP tools, and agents.

Automation & Ops ✓ Microsoft · Official

AKS Automatic Readiness

Assess Kubernetes workloads for AKS Automatic compatibility and identify migration blockers before you switch.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB ARM for .NET

Provision and manage Azure Cosmos DB resources from .NET through ARM.

Dev & Engineering ✓ Microsoft · Official

Azure Playwright Workspace Manager

Provision and manage Microsoft Playwright Testing workspaces with .NET and Azure Resource Manager.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB for Python

A practical guide for building reliable Python applications on Azure Cosmos DB’s NoSQL API.

Dev & Engineering ✓ Microsoft · Official

Azure Key Vault SDK for Python

Gives Python coding agents practical guidance for securely managing Azure Key Vault secrets, keys, and certificates.

Dev & Engineering ✓ Microsoft · Official

Azure API Management for Python

Gives coding agents practical Python SDK patterns for managing Azure API Management services, APIs, products, subscriptions, and policies.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Query for Python

Generate Python code for querying Azure Monitor logs and metrics.

Related skills