{"id":"ee3e715e-8b45-4569-979f-e3a1d3ba30c9","shortId":"ZhHHHm","kind":"skill","title":"azure-security-keyvault-secrets-java","tagline":"Azure Key Vault Secrets Java SDK for secret management. Use when storing, retrieving, or managing passwords, API keys, connection strings, or other sensitive configuration data.","description":"# Azure Key Vault Secrets (Java)\n\nSecurely store and manage secrets like passwords, API keys, and connection strings.\n\n## Installation\n\n```xml\n<dependency>\n    <groupId>com.azure</groupId>\n    <artifactId>azure-security-keyvault-secrets</artifactId>\n    <version>4.9.0</version>\n</dependency>\n```\n\n## Client Creation\n\n```java\nimport com.azure.security.keyvault.secrets.SecretClient;\nimport com.azure.security.keyvault.secrets.SecretClientBuilder;\nimport com.azure.identity.DefaultAzureCredentialBuilder;\n\n// Sync client\nSecretClient secretClient = new SecretClientBuilder()\n    .vaultUrl(\"https://<vault-name>.vault.azure.net\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildClient();\n\n// Async client\nSecretAsyncClient secretAsyncClient = new SecretClientBuilder()\n    .vaultUrl(\"https://<vault-name>.vault.azure.net\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildAsyncClient();\n```\n\n## Create/Set Secret\n\n```java\nimport com.azure.security.keyvault.secrets.models.KeyVaultSecret;\n\n// Simple secret\nKeyVaultSecret secret = secretClient.setSecret(\"database-password\", \"P@ssw0rd123!\");\nSystem.out.println(\"Secret name: \" + secret.getName());\nSystem.out.println(\"Secret ID: \" + secret.getId());\n\n// Secret with options\nKeyVaultSecret secretWithOptions = secretClient.setSecret(\n    new KeyVaultSecret(\"api-key\", \"sk_live_abc123xyz\")\n        .setProperties(new SecretProperties()\n            .setContentType(\"application/json\")\n            .setExpiresOn(OffsetDateTime.now().plusYears(1))\n            .setNotBefore(OffsetDateTime.now())\n            .setEnabled(true)\n            .setTags(Map.of(\n                \"environment\", \"production\",\n                \"service\", \"payment-api\"\n            ))\n        )\n);\n```\n\n## Get Secret\n\n```java\n// Get latest version\nKeyVaultSecret secret = secretClient.getSecret(\"database-password\");\nString value = secret.getValue();\nSystem.out.println(\"Secret value: \" + value);\n\n// Get specific version\nKeyVaultSecret specificVersion = secretClient.getSecret(\"database-password\", \"<version-id>\");\n\n// Get only properties (no value)\nSecretProperties props = secretClient.getSecret(\"database-password\").getProperties();\nSystem.out.println(\"Enabled: \" + props.isEnabled());\nSystem.out.println(\"Created: \" + props.getCreatedOn());\n```\n\n## Update Secret Properties\n\n```java\n// Get secret\nKeyVaultSecret secret = secretClient.getSecret(\"api-key\");\n\n// Update properties (cannot update value - create new version instead)\nsecret.getProperties()\n    .setEnabled(false)\n    .setExpiresOn(OffsetDateTime.now().plusMonths(6))\n    .setTags(Map.of(\"status\", \"rotating\"));\n\nSecretProperties updated = secretClient.updateSecretProperties(secret.getProperties());\nSystem.out.println(\"Updated: \" + updated.getUpdatedOn());\n```\n\n## List Secrets\n\n```java\nimport com.azure.core.util.paging.PagedIterable;\nimport com.azure.security.keyvault.secrets.models.SecretProperties;\n\n// List all secrets (properties only, no values)\nfor (SecretProperties secretProps : secretClient.listPropertiesOfSecrets()) {\n    System.out.println(\"Secret: \" + secretProps.getName());\n    System.out.println(\"  Enabled: \" + secretProps.isEnabled());\n    System.out.println(\"  Created: \" + secretProps.getCreatedOn());\n    System.out.println(\"  Content-Type: \" + secretProps.getContentType());\n    \n    // Get value if needed\n    if (secretProps.isEnabled()) {\n        KeyVaultSecret fullSecret = secretClient.getSecret(secretProps.getName());\n        System.out.println(\"  Value: \" + fullSecret.getValue().substring(0, 5) + \"...\");\n    }\n}\n\n// List versions of a secret\nfor (SecretProperties version : secretClient.listPropertiesOfSecretVersions(\"database-password\")) {\n    System.out.println(\"Version: \" + version.getVersion());\n    System.out.println(\"Created: \" + version.getCreatedOn());\n    System.out.println(\"Enabled: \" + version.isEnabled());\n}\n```\n\n## Delete Secret\n\n```java\nimport com.azure.core.util.polling.SyncPoller;\nimport com.azure.security.keyvault.secrets.models.DeletedSecret;\n\n// Begin delete (returns poller for soft-delete enabled vaults)\nSyncPoller<DeletedSecret, Void> deletePoller = secretClient.beginDeleteSecret(\"old-secret\");\n\n// Wait for deletion\nDeletedSecret deletedSecret = deletePoller.poll().getValue();\nSystem.out.println(\"Deleted on: \" + deletedSecret.getDeletedOn());\nSystem.out.println(\"Scheduled purge: \" + deletedSecret.getScheduledPurgeDate());\n\ndeletePoller.waitForCompletion();\n```\n\n## Recover Deleted Secret\n\n```java\n// List deleted secrets\nfor (DeletedSecret deleted : secretClient.listDeletedSecrets()) {\n    System.out.println(\"Deleted: \" + deleted.getName());\n    System.out.println(\"Deletion date: \" + deleted.getDeletedOn());\n}\n\n// Recover deleted secret\nSyncPoller<KeyVaultSecret, Void> recoverPoller = secretClient.beginRecoverDeletedSecret(\"old-secret\");\nrecoverPoller.waitForCompletion();\n\nKeyVaultSecret recovered = recoverPoller.getFinalResult();\nSystem.out.println(\"Recovered: \" + recovered.getName());\n```\n\n## Purge Deleted Secret\n\n```java\n// Permanently delete (cannot be recovered)\nsecretClient.purgeDeletedSecret(\"old-secret\");\n\n// Get deleted secret info first\nDeletedSecret deleted = secretClient.getDeletedSecret(\"old-secret\");\nSystem.out.println(\"Will purge: \" + deleted.getName());\nsecretClient.purgeDeletedSecret(\"old-secret\");\n```\n\n## Backup and Restore\n\n```java\n// Backup secret (all versions)\nbyte[] backup = secretClient.backupSecret(\"important-secret\");\n\n// Save to file\nFiles.write(Paths.get(\"secret-backup.blob\"), backup);\n\n// Restore from backup\nbyte[] backupData = Files.readAllBytes(Paths.get(\"secret-backup.blob\"));\nKeyVaultSecret restored = secretClient.restoreSecretBackup(backupData);\nSystem.out.println(\"Restored: \" + restored.getName());\n```\n\n## Async Operations\n\n```java\nSecretAsyncClient asyncClient = new SecretClientBuilder()\n    .vaultUrl(\"https://<vault>.vault.azure.net\")\n    .credential(new DefaultAzureCredentialBuilder().build())\n    .buildAsyncClient();\n\n// Set secret async\nasyncClient.setSecret(\"async-secret\", \"async-value\")\n    .subscribe(\n        secret -> System.out.println(\"Created: \" + secret.getName()),\n        error -> System.out.println(\"Error: \" + error.getMessage())\n    );\n\n// Get secret async\nasyncClient.getSecret(\"async-secret\")\n    .subscribe(secret -> System.out.println(\"Value: \" + secret.getValue()));\n\n// List secrets async\nasyncClient.listPropertiesOfSecrets()\n    .doOnNext(props -> System.out.println(\"Found: \" + props.getName()))\n    .subscribe();\n```\n\n## Configuration Patterns\n\n### Load Multiple Secrets\n\n```java\npublic class ConfigLoader {\n    private final SecretClient client;\n    \n    public ConfigLoader(String vaultUrl) {\n        this.client = new SecretClientBuilder()\n            .vaultUrl(vaultUrl)\n            .credential(new DefaultAzureCredentialBuilder().build())\n            .buildClient();\n    }\n    \n    public Map<String, String> loadSecrets(List<String> secretNames) {\n        Map<String, String> secrets = new HashMap<>();\n        for (String name : secretNames) {\n            try {\n                KeyVaultSecret secret = client.getSecret(name);\n                secrets.put(name, secret.getValue());\n            } catch (ResourceNotFoundException e) {\n                System.out.println(\"Secret not found: \" + name);\n            }\n        }\n        return secrets;\n    }\n}\n\n// Usage\nConfigLoader loader = new ConfigLoader(\"https://my-vault.vault.azure.net\");\nMap<String, String> config = loader.loadSecrets(\n    Arrays.asList(\"db-connection-string\", \"api-key\", \"jwt-secret\")\n);\n```\n\n### Secret Rotation Pattern\n\n```java\npublic void rotateSecret(String secretName, String newValue) {\n    // Get current secret\n    KeyVaultSecret current = secretClient.getSecret(secretName);\n    \n    // Disable old version\n    current.getProperties().setEnabled(false);\n    secretClient.updateSecretProperties(current.getProperties());\n    \n    // Create new version with new value\n    KeyVaultSecret newSecret = secretClient.setSecret(secretName, newValue);\n    System.out.println(\"Rotated to version: \" + newSecret.getProperties().getVersion());\n}\n```\n\n## Error Handling\n\n```java\nimport com.azure.core.exception.HttpResponseException;\nimport com.azure.core.exception.ResourceNotFoundException;\n\ntry {\n    KeyVaultSecret secret = secretClient.getSecret(\"my-secret\");\n    System.out.println(\"Value: \" + secret.getValue());\n} catch (ResourceNotFoundException e) {\n    System.out.println(\"Secret not found\");\n} catch (HttpResponseException e) {\n    int status = e.getResponse().getStatusCode();\n    if (status == 403) {\n        System.out.println(\"Access denied - check permissions\");\n    } else if (status == 429) {\n        System.out.println(\"Rate limited - retry later\");\n    } else {\n        System.out.println(\"HTTP error: \" + status);\n    }\n}\n```\n\n## Secret Properties\n\n| Property | Description |\n|----------|-------------|\n| `name` | Secret name |\n| `value` | Secret value (string) |\n| `id` | Full identifier URL |\n| `contentType` | MIME type hint |\n| `enabled` | Whether secret can be retrieved |\n| `notBefore` | Activation time |\n| `expiresOn` | Expiration time |\n| `createdOn` | Creation timestamp |\n| `updatedOn` | Last update timestamp |\n| `recoveryLevel` | Soft-delete recovery level |\n| `tags` | User-defined metadata |\n\n## Environment Variables\n\n```bash\nAZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net\n```\n\n## Best Practices\n\n1. **Enable Soft Delete** - Protects against accidental deletion\n2. **Use Tags** - Tag secrets with environment, service, owner\n3. **Set Expiration** - Use `setExpiresOn()` for credentials that should rotate\n4. **Content Type** - Set `contentType` to indicate format (e.g., `application/json`)\n5. **Version Management** - Don't delete old versions immediately during rotation\n6. **Access Logging** - Enable diagnostic logging on Key Vault\n7. **Least Privilege** - Use separate vaults for different environments\n\n## Common Secret Types\n\n```java\n// Database connection string\nsecretClient.setSecret(new KeyVaultSecret(\"db-connection\", \n    \"Server=myserver.database.windows.net;Database=mydb;...\")\n    .setProperties(new SecretProperties()\n        .setContentType(\"text/plain\")\n        .setTags(Map.of(\"type\", \"connection-string\"))));\n\n// API key\nsecretClient.setSecret(new KeyVaultSecret(\"stripe-api-key\", \"sk_live_...\")\n    .setProperties(new SecretProperties()\n        .setContentType(\"text/plain\")\n        .setExpiresOn(OffsetDateTime.now().plusYears(1))));\n\n// JSON configuration\nsecretClient.setSecret(new KeyVaultSecret(\"app-config\", \n    \"{\\\"endpoint\\\":\\\"https://...\\\",\\\"key\\\":\\\"...\\\"}\")\n    .setProperties(new SecretProperties()\n        .setContentType(\"application/json\")));\n\n// Certificate password\nsecretClient.setSecret(new KeyVaultSecret(\"cert-password\", \"CertP@ss!\")\n    .setProperties(new SecretProperties()\n        .setContentType(\"text/plain\")\n        .setTags(Map.of(\"certificate\", \"my-cert\"))));\n```\n\n## Trigger Phrases\n\n- \"Key Vault secrets Java\", \"secret management Java\"\n- \"store password\", \"store API key\", \"connection string\"\n- \"retrieve secret\", \"rotate secret\"\n- \"Azure secrets\", \"vault secrets\"\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","security","keyvault","secrets","java","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills"],"capabilities":["skill","source-sickn33","skill-azure-security-keyvault-secrets-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-security-keyvault-secrets-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 · 34928 github stars · SKILL.md body (11,549 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-24T18:50:33.894Z","embedding":null,"createdAt":"2026-04-18T21:33:06.552Z","updatedAt":"2026-04-24T18:50:33.894Z","lastSeenAt":"2026-04-24T18:50:33.894Z","tsv":"'0':282 '1':138,743,856 '2':751 '3':760 '4':770 '4.9.0':57 '403':665 '429':674 '5':283,780 '6':224,791 '7':800 'abc123xyz':129 'access':667,792 'accident':749 'action':929 'activ':711 'api':23,44,125,150,207,584,837,844,905 'api-key':124,206,583 'app':863 'app-config':862 'applic':923 'application/json':134,779,871 'arrays.aslist':578 'ask':967 'async':80,450,466,469,472,485,488,497 'async-secret':468,487 'async-valu':471 'asynccli':454 'asyncclient.getsecret':486 'asyncclient.listpropertiesofsecrets':498 'asyncclient.setsecret':467 'azur':2,7,32,53,737,913 'azure-security-keyvault-secret':52 'azure-security-keyvault-secrets-java':1 'backup':414,418,423,434,437 'backupdata':439,446 'bash':736 'begin':312 'best':741 'boundari':975 'build':78,91,462,530 'buildasynccli':92,463 'buildclient':79,531 'byte':422,438 'cannot':211,388 'catch':557,649,656 'cert':878,892 'cert-password':877 'certif':872,889 'certp':880 'check':669 'clarif':969 'class':512 'clear':942 'client':58,68,81,517 'client.getsecret':552 'com.azure':51 'com.azure.core.exception.httpresponseexception':636 'com.azure.core.exception.resourcenotfoundexception':638 'com.azure.core.util.paging.pagediterable':240 'com.azure.core.util.polling.syncpoller':309 'com.azure.identity.defaultazurecredentialbuilder':66 'com.azure.security.keyvault.secrets.models.deletedsecret':311 'com.azure.security.keyvault.secrets.models.keyvaultsecret':97 'com.azure.security.keyvault.secrets.models.secretproperties':242 'com.azure.security.keyvault.secrets.secretclient':62 'com.azure.security.keyvault.secrets.secretclientbuilder':64 'common':809 'config':576,864 'configload':513,519,568,571 'configur':30,505,858 'connect':25,47,581,814,821,835,907 'connection-str':834 'content':265,771 'content-typ':264 'contenttyp':700,774 'creat':195,214,261,300,477,615 'create/set':93 'createdon':716 'creation':59,717 'credenti':75,88,459,527,766 'criteria':978 'current':601,604 'current.getproperties':610,614 'data':31 'databas':104,161,177,188,294,813,824 'database-password':103,160,176,187,293 'date':362 'db':580,820 'db-connect':819 'db-connection-str':579 'defaultazurecredentialbuild':77,90,461,529 'defin':732 'delet':305,313,319,332,338,347,351,355,358,361,365,383,387,396,401,726,746,750,785 'deleted.getdeletedon':363 'deleted.getname':359,409 'deletedsecret':323,333,334,354,400 'deletedsecret.getdeletedon':340 'deletedsecret.getscheduledpurgedate':344 'deletepol':325 'deletepoller.poll':335 'deletepoller.waitforcompletion':345 'deni':668 'describ':930,946 'descript':688 'diagnost':795 'differ':807 'disabl':607 'doonnext':499 'e':559,651,658 'e.g':778 'e.getresponse':661 'els':671,680 'enabl':192,258,303,320,704,744,794 'endpoint':865 'environ':145,734,757,808,958 'environment-specif':957 'error':479,481,632,683 'error.getmessage':482 'execut':925 'expert':963 'expir':714,762 'expireson':713 'fals':220,612 'file':430 'files.readallbytes':440 'files.write':431 'final':515 'first':399 'format':777 'found':502,563,655 'full':697 'fullsecret':275 'fullsecret.getvalue':280 'get':151,154,170,179,201,268,395,483,600 'getproperti':190 'getstatuscod':662 'getvalu':336 'getvers':631 'handl':633 'hashmap':544 'hint':703 'http':682 'httpresponseexcept':657 'id':114,696 'identifi':698 'immedi':788 'import':61,63,65,96,239,241,308,310,426,635,637 'important-secret':425 'indic':776 'info':398 'input':972 'instal':49 'instead':217 'int':659 'java':6,11,36,60,95,153,200,238,307,349,385,417,452,510,592,634,812,898,901 'json':857 'jwt':587 'jwt-secret':586 'key':8,24,33,45,126,208,585,798,838,845,866,895,906 'keyvault':4,55,738 'keyvaultsecret':100,119,123,157,173,203,274,368,376,443,550,603,621,640,818,841,861,876 'last':720 'later':679 'latest':155 'least':801 'level':728 'like':42 'limit':677,934 'list':236,243,284,350,495,537 'live':128,847 'load':507 'loader':569 'loader.loadsecrets':577 'loadsecret':536 'log':793,796 'manag':15,21,40,782,900 'map':533,539,573 'map.of':144,226,832,888 'match':943 'metadata':733 'mime':701 'miss':980 'multipl':508 'my-cert':890 'my-secret':643 'my-vault.vault.azure.net':572 'mydb':825 'myserver.database.windows.net':823 'name':110,547,553,555,564,689,691 'need':271 'new':71,76,84,89,122,131,215,455,460,523,528,543,570,616,619,817,827,840,849,860,868,875,883 'newsecret':622 'newsecret.getproperties':630 'newvalu':599,625 'notbefor':710 'offsetdatetime.now':136,140,222,854 'old':328,373,393,404,412,608,786 'old-secret':327,372,392,403,411 'oper':451 'option':118 'output':952 'overview':933 'owner':759 'p':106 'password':22,43,105,162,178,189,295,873,879,903 'paths.get':432,441 'pattern':506,591 'payment':149 'payment-api':148 'perman':386 'permiss':670,973 'phrase':894 'plusmonth':223 'plusyear':137,855 'poller':315 'practic':742 'privat':514 'privileg':802 'product':146 'prop':185,500 'properti':181,199,210,246,686,687 'props.getcreatedon':196 'props.getname':503 'props.isenabled':193 'protect':747 'public':511,518,532,593 'purg':343,382,408 'rate':676 'recov':346,364,377,380,390 'recovered.getname':381 'recoveri':727 'recoverpol':370 'recoverpoller.getfinalresult':378 'recoverpoller.waitforcompletion':375 'recoverylevel':723 'requir':971 'resourcenotfoundexcept':558,650 'restor':416,435,444,448 'restored.getname':449 'retri':678 'retriev':19,709,909 'return':314,565 'review':964 'rotat':228,590,627,769,790,911 'rotatesecret':595 'safeti':974 'save':428 'schedul':342 'scope':945 'sdk':12 'secret':5,10,14,35,41,56,94,99,101,109,113,116,152,158,167,198,202,204,237,245,255,288,306,329,348,352,366,374,384,394,397,405,413,419,427,465,470,475,484,489,491,496,509,542,551,561,566,588,589,602,641,645,653,685,690,693,706,755,810,897,899,910,912,914,916 'secret-backup.blob':433,442 'secret.getid':115 'secret.getname':111,478 'secret.getproperties':218,232 'secret.getvalue':165,494,556,648 'secretasynccli':82,83,453 'secretcli':69,70,516 'secretclient.backupsecret':424 'secretclient.begindeletesecret':326 'secretclient.beginrecoverdeletedsecret':371 'secretclient.getdeletedsecret':402 'secretclient.getsecret':159,175,186,205,276,605,642 'secretclient.listdeletedsecrets':356 'secretclient.listpropertiesofsecrets':253 'secretclient.listpropertiesofsecretversions':292 'secretclient.purgedeletedsecret':391,410 'secretclient.restoresecretbackup':445 'secretclient.setsecret':102,121,623,816,839,859,874 'secretclient.updatesecretproperties':231,613 'secretclientbuild':72,85,456,524 'secretnam':538,548,597,606,624 'secretprop':252 'secretproperti':132,184,229,251,290,828,850,869,884 'secretprops.getcontenttype':267 'secretprops.getcreatedon':262 'secretprops.getname':256,277 'secretprops.isenabled':259,273 'secrets.put':554 'secretwithopt':120 'secur':3,37,54 'sensit':29 'separ':804 'server':822 'servic':147,758 'set':464,761,773 'setcontenttyp':133,829,851,870,885 'seten':141,219,611 'setexpireson':135,221,764,853 'setnotbefor':139 'setproperti':130,826,848,867,882 'settag':143,225,831,887 'simpl':98 'sk':127,846 'skill':921,937 'skill-azure-security-keyvault-secrets-java' 'soft':318,725,745 'soft-delet':317,724 'source-sickn33' 'specif':171,959 'specificvers':174 'ss':881 'ssw0rd123':107 'status':227,660,664,673,684 'stop':965 'store':18,38,902,904 'string':26,48,163,520,534,535,540,541,546,574,575,582,596,598,695,815,836,908 'stripe':843 'stripe-api-key':842 'subscrib':474,490,504 'substitut':955 'substr':281 'success':977 'sync':67 'syncpol':322,367 'system.out.println':108,112,166,191,194,233,254,257,260,263,278,296,299,302,337,341,357,360,379,406,447,476,480,492,501,560,626,646,652,666,675,681 'tag':729,753,754 'task':941 'test':961 'text/plain':830,852,886 'this.client':522 'time':712,715 'timestamp':718,722 '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':950 'tri':549,639 'trigger':893 'true':142 'type':266,702,772,811,833 'updat':197,209,212,230,234,721 'updated.getupdatedon':235 'updatedon':719 'url':699,739 'usag':567 'use':16,752,763,803,919,935 'user':731 'user-defin':730 'valid':960 'valu':164,168,169,183,213,249,269,279,473,493,620,647,692,694 'variabl':735 'vault':9,34,321,799,805,896,915 'vault.azure.net':74,87,458,740 'vaulturl':73,86,457,521,525,526 'version':156,172,216,285,291,297,421,609,617,629,781,787 'version.getcreatedon':301 'version.getversion':298 'version.isenabled':304 'void':324,369,594 'wait':330 'whether':705 'workflow':927 'xml':50","prices":[{"id":"793b1f31-e3e9-4da2-b01c-bf9c62c7bd56","listingId":"ee3e715e-8b45-4569-979f-e3a1d3ba30c9","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:33:06.552Z"}],"sources":[{"listingId":"ee3e715e-8b45-4569-979f-e3a1d3ba30c9","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-security-keyvault-secrets-java","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-security-keyvault-secrets-java","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:06.552Z","lastSeenAt":"2026-04-24T18:50:33.894Z"}],"details":{"listingId":"ee3e715e-8b45-4569-979f-e3a1d3ba30c9","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-security-keyvault-secrets-java","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"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":"bcfc8ddd8878b29254f96a8584d2b9fcc045c9b5","skill_md_path":"skills/azure-security-keyvault-secrets-java/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-security-keyvault-secrets-java"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-security-keyvault-secrets-java","description":"Azure Key Vault Secrets Java SDK for secret management. Use when storing, retrieving, or managing passwords, API keys, connection strings, or other sensitive configuration data."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-security-keyvault-secrets-java"},"updatedAt":"2026-04-24T18:50:33.894Z"}}