{"id":"84696b4f-af16-4505-8636-df1d9202c253","shortId":"wRaHkG","kind":"skill","title":"azure-ai-agents-persistent-java","tagline":"Azure AI Agents Persistent SDK for Java. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools.","description":"# Azure AI Agents Persistent SDK for Java\n\nLow-level SDK for creating and managing persistent AI agents with threads, messages, runs, and tools.\n\n## Installation\n\n```xml\n<dependency>\n    <groupId>com.azure</groupId>\n    <artifactId>azure-ai-agents-persistent</artifactId>\n    <version>1.0.0-beta.1</version>\n</dependency>\n```\n\n## Environment Variables\n\n```bash\nPROJECT_ENDPOINT=https://<resource>.services.ai.azure.com/api/projects/<project>\nMODEL_DEPLOYMENT_NAME=gpt-4o-mini\n```\n\n## Authentication\n\n```java\nimport com.azure.ai.agents.persistent.PersistentAgentsClient;\nimport com.azure.ai.agents.persistent.PersistentAgentsClientBuilder;\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\nString endpoint = System.getenv(\"PROJECT_ENDPOINT\");\nPersistentAgentsClient client = new PersistentAgentsClientBuilder()\n    .endpoint(endpoint)\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n```\n\n## Key Concepts\n\nThe Azure AI Agents Persistent SDK provides a low-level API for managing persistent agents that can be reused across sessions.\n\n### Client Hierarchy\n\n| Client | Purpose |\n|--------|---------|\n| `PersistentAgentsClient` | Sync client for agent operations |\n| `PersistentAgentsAsyncClient` | Async client for agent operations |\n\n## Core Workflow\n\n### 1. Create Agent\n\n```java\n// Create agent with tools\nPersistentAgent agent = client.createAgent(\n    modelDeploymentName,\n    \"Math Tutor\",\n    \"You are a personal math tutor.\"\n);\n```\n\n### 2. Create Thread\n\n```java\nPersistentAgentThread thread = client.createThread();\n```\n\n### 3. Add Message\n\n```java\nclient.createMessage(\n    thread.getId(),\n    MessageRole.USER,\n    \"I need help with equations.\"\n);\n```\n\n### 4. Run Agent\n\n```java\nThreadRun run = client.createRun(thread.getId(), agent.getId());\n\n// Poll for completion\nwhile (run.getStatus() == RunStatus.QUEUED || run.getStatus() == RunStatus.IN_PROGRESS) {\n    Thread.sleep(500);\n    run = client.getRun(thread.getId(), run.getId());\n}\n```\n\n### 5. Get Response\n\n```java\nPagedIterable<PersistentThreadMessage> messages = client.listMessages(thread.getId());\nfor (PersistentThreadMessage message : messages) {\n    System.out.println(message.getRole() + \": \" + message.getContent());\n}\n```\n\n### 6. Cleanup\n\n```java\nclient.deleteThread(thread.getId());\nclient.deleteAgent(agent.getId());\n```\n\n## Best Practices\n\n1. **Use DefaultAzureCredential** for production authentication\n2. **Poll with appropriate delays** — 500ms recommended between status checks\n3. **Clean up resources** — Delete threads and agents when done\n4. **Handle all run statuses** — Check for RequiresAction, Failed, Cancelled\n5. **Use async client** for better throughput in high-concurrency scenarios\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\n\ntry {\n    PersistentAgent agent = client.createAgent(modelName, name, instructions);\n} catch (HttpResponseException e) {\n    System.err.println(\"Error: \" + e.getResponse().getStatusCode() + \" - \" + e.getMessage());\n}\n```\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| Maven Package | https://central.sonatype.com/artifact/com.azure/azure-ai-agents-persistent |\n| GitHub Source | https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-agents-persistent |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","agents","persistent","java","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents"],"capabilities":["skill","source-sickn33","skill-azure-ai-agents-persistent-java","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-ai-agents-persistent-java","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34964 github stars · SKILL.md body (3,704 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-25T00:50:30.476Z","embedding":null,"createdAt":"2026-04-18T21:31:49.494Z","updatedAt":"2026-04-25T00:50:30.476Z","lastSeenAt":"2026-04-25T00:50:30.476Z","tsv":"'/api/projects/':71 '/artifact/com.azure/azure-ai-agents-persistent':308 '/azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-agents-persistent':313 '1':145,232 '1.0.0':62 '2':165,238 '3':172,248 '4':184,258 '4o':77 '5':208,268 '500':203 '500ms':243 '6':223 'across':125 'action':326 'add':173 'agent':4,9,23,32,47,60,108,120,135,141,147,150,154,186,255,287 'agent.getid':192,229 'ai':3,8,22,31,46,59,107 'api':116 'applic':320 'appropri':241 'ask':364 'async':138,270 'authent':79,237 'azur':2,7,30,58,106 'azure-ai-agents-persist':57 'azure-ai-agents-persistent-java':1 'bash':66 'best':230 'beta.1':63 'better':273 'boundari':372 'build':101 'buildclient':102 'cancel':267 'catch':292 'central.sonatype.com':307 'central.sonatype.com/artifact/com.azure/azure-ai-agents-persistent':306 'check':247,263 'clarif':366 'clean':249 'cleanup':224 'clear':339 'client':93,127,129,133,139,271 'client.createagent':155,288 'client.createmessage':176 'client.createrun':190 'client.createthread':171 'client.deleteagent':228 'client.deletethread':226 'client.getrun':205 'client.listmessages':214 'com.azure':56 'com.azure.ai.agents.persistent.persistentagentsclient':82 'com.azure.ai.agents.persistent.persistentagentsclientbuilder':84 'com.azure.core.exception.httpresponseexception':284 'com.azure.identity.defaultazurecredentialbuilder':86 'complet':195 'concept':104 'concurr':278 'core':143 'creat':19,42,146,149,166 'credenti':98 'criteria':375 'defaultazurecredenti':234 'defaultazurecredentialbuild':100 'delay':242 'delet':252 'deploy':73 'describ':327,343 'done':257 'e':294 'e.getmessage':299 'e.getresponse':297 'endpoint':68,88,91,96,97 'environ':64,355 'environment-specif':354 'equat':183 'error':280,296 'execut':322 'expert':360 'fail':266 'get':209 'getstatuscod':298 'github':309 'github.com':312 'github.com/azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-agents-persistent':311 'gpt':76 'gpt-4o-mini':75 'handl':259,281 'help':181 'hierarchi':128 'high':277 'high-concurr':276 'httpresponseexcept':293 'import':81,83,85,283 'input':369 'instal':54 'instruct':291 'java':6,13,36,80,148,168,175,187,211,225,282 'key':103 'level':16,39,115 'limit':331 'link':301 'low':15,38,114 'low-level':14,37,113 'manag':21,44,118 'match':340 'math':157,163 'maven':304 'messag':26,50,174,213,218,219 'message.getcontent':222 'message.getrole':221 'messagerole.user':178 'mini':78 'miss':377 'model':72 'modeldeploymentnam':156 'modelnam':289 'name':74,290 'need':180 'new':94,99 'oper':136,142 'output':349 'overview':330 'packag':305 'pagediter':212 'permiss':370 'persist':5,10,33,45,61,109,119 'persistentag':153,286 'persistentagentsasynccli':137 'persistentagentscli':92,131 'persistentagentsclientbuild':95 'persistentagentthread':169 'persistentthreadmessag':217 'person':162 'poll':193,239 'practic':231 'product':236 'progress':201 'project':67,90 'provid':111 'purpos':130 'recommend':244 'refer':300 'requir':368 'requiresact':265 'resourc':251,302 'respons':210 'reus':124 'review':361 'run':27,51,185,189,204,261 'run.getid':207 'run.getstatus':197,199 'runstatus.in':200 'runstatus.queued':198 'safeti':371 'scenario':279 'scope':342 'sdk':11,17,34,40,110 'services.ai.azure.com':70 'services.ai.azure.com/api/projects/':69 'session':126 'skill':318,334 'skill-azure-ai-agents-persistent-java' 'sourc':310 'source-sickn33' 'specif':356 'status':246,262 'stop':362 'string':87 'substitut':352 'success':374 'sync':132 'system.err.println':295 'system.getenv':89 'system.out.println':220 'task':338 'test':358 'thread':25,49,167,170,253 'thread.getid':177,191,206,215,227 'thread.sleep':202 'threadrun':188 'throughput':274 'tool':29,53,152 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':347 'tri':285 'tutor':158,164 'url':303 'use':233,269,316,332 'valid':357 'variabl':65 'workflow':144,324 'xml':55","prices":[{"id":"d7b0134c-a193-417d-b7cf-59610435a94d","listingId":"84696b4f-af16-4505-8636-df1d9202c253","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:31:49.494Z"}],"sources":[{"listingId":"84696b4f-af16-4505-8636-df1d9202c253","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-ai-agents-persistent-java","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-ai-agents-persistent-java","isPrimary":false,"firstSeenAt":"2026-04-18T21:31:49.494Z","lastSeenAt":"2026-04-25T00:50:30.476Z"}],"details":{"listingId":"84696b4f-af16-4505-8636-df1d9202c253","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-ai-agents-persistent-java","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34964,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"e69ca4230e68ff33312df2b0549691968d3448df","skill_md_path":"skills/azure-ai-agents-persistent-java/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-ai-agents-persistent-java"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-ai-agents-persistent-java","description":"Azure AI Agents Persistent SDK for Java. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-ai-agents-persistent-java"},"updatedAt":"2026-04-25T00:50:30.476Z"}}