[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-java-lsp-tools":3,"mdc--jjle15-key":42,"related-repo-microsoft-java-lsp-tools":574,"related-org-microsoft-java-lsp-tools":585},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":37,"sourceUrl":40,"mdContent":41},"java-lsp-tools","provide Java code intelligence and analysis","Compiler-accurate Java symbol navigation via the Java Language Server. Use lsp_java_findSymbol for Java identifiers and lsp_java_getFileStructure for known Java files; prefer them over generic search only for symbol\u002Ffile-outline navigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Maven","maven","tag",{"name":17,"slug":18,"type":15},"Gradle","gradle",{"name":20,"slug":21,"type":15},"Java","java",{"name":23,"slug":24,"type":15},"Code Analysis","code-analysis",{"name":26,"slug":27,"type":15},"Debugging","debugging",197,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode-java-dependency","2026-04-06T18:35:09.918427",null,102,[21,34,35,36],"language-support","project-management","vscode-extension",{"repoUrl":29,"stars":28,"forks":32,"topics":38,"description":39},[21,34,35,36],"Manage Java projects in Visual Studio Code.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode-java-dependency\u002Ftree\u002FHEAD\u002Fresources\u002Fskills\u002Fjava-lsp-tools","---\nname: java-lsp-tools\ndescription: Compiler-accurate Java symbol navigation via the Java Language Server. Use lsp_java_findSymbol for Java identifiers and lsp_java_getFileStructure for known Java files; prefer them over generic search only for symbol\u002Ffile-outline navigation.\n---\n\n# Java LSP Tools\n\nTwo compiler-accurate tools backed by the Java Language Server (jdtls). They return structured JSON that is easier to interpret than generic search results for Java symbol navigation.\n\n## Tools\n\n### `lsp_java_findSymbol`\nSearch for Java symbol definitions (classes, methods, fields) by name across the workspace. Supports partial matching.\n- Input: `{ query, limit? }` — limit defaults to 20, max 50\n- Output: `{ results: [{ name, kind, container?, file, startLine, endLine, readFileInput, range }], total }`; `readFileInput` is `{ filePath, offset, limit }` for `read_file`, and `file` can be passed to `lsp_java_getFileStructure`\n- **Use instead of** `grep_search`, `file_search`, `semantic_search`, or `search_subagent` when looking for where a Java class\u002Fmethod\u002Ffield is defined by identifier\n- When source is needed for a returned symbol, use its `readFileInput` directly\n\n### `lsp_java_getFileStructure`\nGet hierarchical outline of a Java file (classes, methods, fields) with line ranges.\n- Input: `{ uri, limit? }` — workspace-relative path plus max outline items. Prefer `file` from `lsp_java_findSymbol`; limit defaults to 20, max 60. Must be a known path from prior tool results or user input — do not guess\n- Output: `{ file, symbols: [{ name, kind, startLine, endLine, readFileRange, range, detail?, children? }], truncated? }`; call `read_file` with `filePath=file` and the selected symbol's `readFileRange`\n- **Use before** `read_file` when you need to choose a precise line range in a known Java file\n\n## When to Use\n\n| Task | Use | Not |\n|---|---|---|\n| Find class\u002Fmethod\u002Ffield definition | `lsp_java_findSymbol` | `grep_search` |\n| See known Java file outline before reading | `lsp_java_getFileStructure` | `read_file` full file |\n| Search non-Java files (xml, gradle) | `grep_search` | lsp tools |\n| Search string literals or comments | `grep_search` | lsp tools |\n| Explore broad concepts without identifiers | `semantic_search` or `search_subagent` | lsp tools |\n\n## Typical Workflow\n\n**lsp_java_findSymbol → lsp_java_getFileStructure → read_file (specific lines only)**\n\nIf `lsp_java_findSymbol` returns relevant symbols and source is needed, call `read_file` with the returned `readFileInput`, or call `lsp_java_getFileStructure` with the returned `file` when broader file context is needed.\n\n## Fallback\n\n- `findSymbol` returns empty → it already retried internally with a normalized identifier, so do not re-issue the same search. If the result says indexing is in progress, retry once after a short pause; otherwise fall back to `grep_search`\n- Path error (`fileNotFound`) → use `findSymbol` to discover the correct path first; do not guess paths\n- Tool error \u002F jdtls not ready → fall back to `grep_search` + `read_file`, don't retry more than once\n",{"data":43,"body":44},{"name":4,"description":6},{"type":45,"children":46},"root",[47,55,61,68,80,85,208,217,222,300,306,457,463,471,510,516],{"type":48,"tag":49,"props":50,"children":51},"element","h1",{"id":4},[52],{"type":53,"value":54},"text","Java LSP Tools",{"type":48,"tag":56,"props":57,"children":58},"p",{},[59],{"type":53,"value":60},"Two compiler-accurate tools backed by the Java Language Server (jdtls). They return structured JSON that is easier to interpret than generic search results for Java symbol navigation.",{"type":48,"tag":62,"props":63,"children":65},"h2",{"id":64},"tools",[66],{"type":53,"value":67},"Tools",{"type":48,"tag":69,"props":70,"children":72},"h3",{"id":71},"lsp_java_findsymbol",[73],{"type":48,"tag":74,"props":75,"children":77},"code",{"className":76},[],[78],{"type":53,"value":79},"lsp_java_findSymbol",{"type":48,"tag":56,"props":81,"children":82},{},[83],{"type":53,"value":84},"Search for Java symbol definitions (classes, methods, fields) by name across the workspace. Supports partial matching.",{"type":48,"tag":86,"props":87,"children":88},"ul",{},[89,103,154,196],{"type":48,"tag":90,"props":91,"children":92},"li",{},[93,95,101],{"type":53,"value":94},"Input: ",{"type":48,"tag":74,"props":96,"children":98},{"className":97},[],[99],{"type":53,"value":100},"{ query, limit? }",{"type":53,"value":102}," — limit defaults to 20, max 50",{"type":48,"tag":90,"props":104,"children":105},{},[106,108,114,116,122,124,130,132,138,140,146,148],{"type":53,"value":107},"Output: ",{"type":48,"tag":74,"props":109,"children":111},{"className":110},[],[112],{"type":53,"value":113},"{ results: [{ name, kind, container?, file, startLine, endLine, readFileInput, range }], total }",{"type":53,"value":115},"; ",{"type":48,"tag":74,"props":117,"children":119},{"className":118},[],[120],{"type":53,"value":121},"readFileInput",{"type":53,"value":123}," is ",{"type":48,"tag":74,"props":125,"children":127},{"className":126},[],[128],{"type":53,"value":129},"{ filePath, offset, limit }",{"type":53,"value":131}," for ",{"type":48,"tag":74,"props":133,"children":135},{"className":134},[],[136],{"type":53,"value":137},"read_file",{"type":53,"value":139},", and ",{"type":48,"tag":74,"props":141,"children":143},{"className":142},[],[144],{"type":53,"value":145},"file",{"type":53,"value":147}," can be passed to ",{"type":48,"tag":74,"props":149,"children":151},{"className":150},[],[152],{"type":53,"value":153},"lsp_java_getFileStructure",{"type":48,"tag":90,"props":155,"children":156},{},[157,163,165,171,173,179,180,186,188,194],{"type":48,"tag":158,"props":159,"children":160},"strong",{},[161],{"type":53,"value":162},"Use instead of",{"type":53,"value":164}," ",{"type":48,"tag":74,"props":166,"children":168},{"className":167},[],[169],{"type":53,"value":170},"grep_search",{"type":53,"value":172},", ",{"type":48,"tag":74,"props":174,"children":176},{"className":175},[],[177],{"type":53,"value":178},"file_search",{"type":53,"value":172},{"type":48,"tag":74,"props":181,"children":183},{"className":182},[],[184],{"type":53,"value":185},"semantic_search",{"type":53,"value":187},", or ",{"type":48,"tag":74,"props":189,"children":191},{"className":190},[],[192],{"type":53,"value":193},"search_subagent",{"type":53,"value":195}," when looking for where a Java class\u002Fmethod\u002Ffield is defined by identifier",{"type":48,"tag":90,"props":197,"children":198},{},[199,201,206],{"type":53,"value":200},"When source is needed for a returned symbol, use its ",{"type":48,"tag":74,"props":202,"children":204},{"className":203},[],[205],{"type":53,"value":121},{"type":53,"value":207}," directly",{"type":48,"tag":69,"props":209,"children":211},{"id":210},"lsp_java_getfilestructure",[212],{"type":48,"tag":74,"props":213,"children":215},{"className":214},[],[216],{"type":53,"value":153},{"type":48,"tag":56,"props":218,"children":219},{},[220],{"type":53,"value":221},"Get hierarchical outline of a Java file (classes, methods, fields) with line ranges.",{"type":48,"tag":86,"props":223,"children":224},{},[225,251,284],{"type":48,"tag":90,"props":226,"children":227},{},[228,229,235,237,242,244,249],{"type":53,"value":94},{"type":48,"tag":74,"props":230,"children":232},{"className":231},[],[233],{"type":53,"value":234},"{ uri, limit? }",{"type":53,"value":236}," — workspace-relative path plus max outline items. Prefer ",{"type":48,"tag":74,"props":238,"children":240},{"className":239},[],[241],{"type":53,"value":145},{"type":53,"value":243}," from ",{"type":48,"tag":74,"props":245,"children":247},{"className":246},[],[248],{"type":53,"value":79},{"type":53,"value":250},"; limit defaults to 20, max 60. Must be a known path from prior tool results or user input — do not guess",{"type":48,"tag":90,"props":252,"children":253},{},[254,255,261,263,268,270,276,278],{"type":53,"value":107},{"type":48,"tag":74,"props":256,"children":258},{"className":257},[],[259],{"type":53,"value":260},"{ file, symbols: [{ name, kind, startLine, endLine, readFileRange, range, detail?, children? }], truncated? }",{"type":53,"value":262},"; call ",{"type":48,"tag":74,"props":264,"children":266},{"className":265},[],[267],{"type":53,"value":137},{"type":53,"value":269}," with ",{"type":48,"tag":74,"props":271,"children":273},{"className":272},[],[274],{"type":53,"value":275},"filePath=file",{"type":53,"value":277}," and the selected symbol's ",{"type":48,"tag":74,"props":279,"children":281},{"className":280},[],[282],{"type":53,"value":283},"readFileRange",{"type":48,"tag":90,"props":285,"children":286},{},[287,292,293,298],{"type":48,"tag":158,"props":288,"children":289},{},[290],{"type":53,"value":291},"Use before",{"type":53,"value":164},{"type":48,"tag":74,"props":294,"children":296},{"className":295},[],[297],{"type":53,"value":137},{"type":53,"value":299}," when you need to choose a precise line range in a known Java file",{"type":48,"tag":62,"props":301,"children":303},{"id":302},"when-to-use",[304],{"type":53,"value":305},"When to Use",{"type":48,"tag":307,"props":308,"children":309},"table",{},[310,334],{"type":48,"tag":311,"props":312,"children":313},"thead",{},[314],{"type":48,"tag":315,"props":316,"children":317},"tr",{},[318,324,329],{"type":48,"tag":319,"props":320,"children":321},"th",{},[322],{"type":53,"value":323},"Task",{"type":48,"tag":319,"props":325,"children":326},{},[327],{"type":53,"value":328},"Use",{"type":48,"tag":319,"props":330,"children":331},{},[332],{"type":53,"value":333},"Not",{"type":48,"tag":335,"props":336,"children":337},"tbody",{},[338,363,389,410,430],{"type":48,"tag":315,"props":339,"children":340},{},[341,347,355],{"type":48,"tag":342,"props":343,"children":344},"td",{},[345],{"type":53,"value":346},"Find class\u002Fmethod\u002Ffield definition",{"type":48,"tag":342,"props":348,"children":349},{},[350],{"type":48,"tag":74,"props":351,"children":353},{"className":352},[],[354],{"type":53,"value":79},{"type":48,"tag":342,"props":356,"children":357},{},[358],{"type":48,"tag":74,"props":359,"children":361},{"className":360},[],[362],{"type":53,"value":170},{"type":48,"tag":315,"props":364,"children":365},{},[366,371,379],{"type":48,"tag":342,"props":367,"children":368},{},[369],{"type":53,"value":370},"See known Java file outline before reading",{"type":48,"tag":342,"props":372,"children":373},{},[374],{"type":48,"tag":74,"props":375,"children":377},{"className":376},[],[378],{"type":53,"value":153},{"type":48,"tag":342,"props":380,"children":381},{},[382,387],{"type":48,"tag":74,"props":383,"children":385},{"className":384},[],[386],{"type":53,"value":137},{"type":53,"value":388}," full file",{"type":48,"tag":315,"props":390,"children":391},{},[392,397,405],{"type":48,"tag":342,"props":393,"children":394},{},[395],{"type":53,"value":396},"Search non-Java files (xml, gradle)",{"type":48,"tag":342,"props":398,"children":399},{},[400],{"type":48,"tag":74,"props":401,"children":403},{"className":402},[],[404],{"type":53,"value":170},{"type":48,"tag":342,"props":406,"children":407},{},[408],{"type":53,"value":409},"lsp tools",{"type":48,"tag":315,"props":411,"children":412},{},[413,418,426],{"type":48,"tag":342,"props":414,"children":415},{},[416],{"type":53,"value":417},"Search string literals or comments",{"type":48,"tag":342,"props":419,"children":420},{},[421],{"type":48,"tag":74,"props":422,"children":424},{"className":423},[],[425],{"type":53,"value":170},{"type":48,"tag":342,"props":427,"children":428},{},[429],{"type":53,"value":409},{"type":48,"tag":315,"props":431,"children":432},{},[433,438,453],{"type":48,"tag":342,"props":434,"children":435},{},[436],{"type":53,"value":437},"Explore broad concepts without identifiers",{"type":48,"tag":342,"props":439,"children":440},{},[441,446,448],{"type":48,"tag":74,"props":442,"children":444},{"className":443},[],[445],{"type":53,"value":185},{"type":53,"value":447}," or ",{"type":48,"tag":74,"props":449,"children":451},{"className":450},[],[452],{"type":53,"value":193},{"type":48,"tag":342,"props":454,"children":455},{},[456],{"type":53,"value":409},{"type":48,"tag":62,"props":458,"children":460},{"id":459},"typical-workflow",[461],{"type":53,"value":462},"Typical Workflow",{"type":48,"tag":56,"props":464,"children":465},{},[466],{"type":48,"tag":158,"props":467,"children":468},{},[469],{"type":53,"value":470},"lsp_java_findSymbol → lsp_java_getFileStructure → read_file (specific lines only)",{"type":48,"tag":56,"props":472,"children":473},{},[474,476,481,483,488,490,495,497,502,503,508],{"type":53,"value":475},"If ",{"type":48,"tag":74,"props":477,"children":479},{"className":478},[],[480],{"type":53,"value":79},{"type":53,"value":482}," returns relevant symbols and source is needed, call ",{"type":48,"tag":74,"props":484,"children":486},{"className":485},[],[487],{"type":53,"value":137},{"type":53,"value":489}," with the returned ",{"type":48,"tag":74,"props":491,"children":493},{"className":492},[],[494],{"type":53,"value":121},{"type":53,"value":496},", or call ",{"type":48,"tag":74,"props":498,"children":500},{"className":499},[],[501],{"type":53,"value":153},{"type":53,"value":489},{"type":48,"tag":74,"props":504,"children":506},{"className":505},[],[507],{"type":53,"value":145},{"type":53,"value":509}," when broader file context is needed.",{"type":48,"tag":62,"props":511,"children":513},{"id":512},"fallback",[514],{"type":53,"value":515},"Fallback",{"type":48,"tag":86,"props":517,"children":518},{},[519,535,555],{"type":48,"tag":90,"props":520,"children":521},{},[522,528,530],{"type":48,"tag":74,"props":523,"children":525},{"className":524},[],[526],{"type":53,"value":527},"findSymbol",{"type":53,"value":529}," returns empty → it already retried internally with a normalized identifier, so do not re-issue the same search. If the result says indexing is in progress, retry once after a short pause; otherwise fall back to ",{"type":48,"tag":74,"props":531,"children":533},{"className":532},[],[534],{"type":53,"value":170},{"type":48,"tag":90,"props":536,"children":537},{},[538,540,546,548,553],{"type":53,"value":539},"Path error (",{"type":48,"tag":74,"props":541,"children":543},{"className":542},[],[544],{"type":53,"value":545},"fileNotFound",{"type":53,"value":547},") → use ",{"type":48,"tag":74,"props":549,"children":551},{"className":550},[],[552],{"type":53,"value":527},{"type":53,"value":554}," to discover the correct path first; do not guess paths",{"type":48,"tag":90,"props":556,"children":557},{},[558,560,565,567,572],{"type":53,"value":559},"Tool error \u002F jdtls not ready → fall back to ",{"type":48,"tag":74,"props":561,"children":563},{"className":562},[],[564],{"type":53,"value":170},{"type":53,"value":566}," + ",{"type":48,"tag":74,"props":568,"children":570},{"className":569},[],[571],{"type":53,"value":137},{"type":53,"value":573},", don't retry more than once",{"items":575,"total":584},[576],{"slug":4,"name":4,"fn":5,"description":6,"org":577,"tags":578,"stars":28,"repoUrl":29,"updatedAt":30},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[579,580,581,582,583],{"name":23,"slug":24,"type":15},{"name":26,"slug":27,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},1,{"items":586,"total":778},[587,608,629,648,663,680,691,704,719,734,753,766],{"slug":588,"name":588,"fn":589,"description":590,"org":591,"tags":592,"stars":605,"repoUrl":606,"updatedAt":607},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[593,596,599,600,602],{"name":594,"slug":595,"type":15},"Engineering","engineering",{"name":597,"slug":598,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":601,"slug":35,"type":15},"Project Management",{"name":603,"slug":604,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":609,"name":609,"fn":610,"description":611,"org":612,"tags":613,"stars":626,"repoUrl":627,"updatedAt":628},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[614,617,620,623],{"name":615,"slug":616,"type":15},".NET","net",{"name":618,"slug":619,"type":15},"Agents","agents",{"name":621,"slug":622,"type":15},"Azure","azure",{"name":624,"slug":625,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":630,"name":630,"fn":631,"description":632,"org":633,"tags":634,"stars":626,"repoUrl":627,"updatedAt":647},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[635,638,639,642,643,644],{"name":636,"slug":637,"type":15},"Analytics","analytics",{"name":621,"slug":622,"type":15},{"name":640,"slug":641,"type":15},"Data Analysis","data-analysis",{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":645,"slug":646,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":649,"name":649,"fn":650,"description":651,"org":652,"tags":653,"stars":626,"repoUrl":627,"updatedAt":662},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[654,657,658,659],{"name":655,"slug":656,"type":15},"AI Infrastructure","ai-infrastructure",{"name":621,"slug":622,"type":15},{"name":20,"slug":21,"type":15},{"name":660,"slug":661,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":664,"name":664,"fn":665,"description":666,"org":667,"tags":668,"stars":626,"repoUrl":627,"updatedAt":679},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[669,670,673,674,675,678],{"name":621,"slug":622,"type":15},{"name":671,"slug":672,"type":15},"Compliance","compliance",{"name":624,"slug":625,"type":15},{"name":9,"slug":8,"type":15},{"name":676,"slug":677,"type":15},"Python","python",{"name":660,"slug":661,"type":15},"2026-07-18T05:14:23.017504",{"slug":681,"name":681,"fn":682,"description":683,"org":684,"tags":685,"stars":626,"repoUrl":627,"updatedAt":690},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[686,687,688,689],{"name":636,"slug":637,"type":15},{"name":621,"slug":622,"type":15},{"name":624,"slug":625,"type":15},{"name":676,"slug":677,"type":15},"2026-07-31T05:54:29.068751",{"slug":692,"name":692,"fn":693,"description":694,"org":695,"tags":696,"stars":626,"repoUrl":627,"updatedAt":703},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[697,700,701,702],{"name":698,"slug":699,"type":15},"API Development","api-development",{"name":621,"slug":622,"type":15},{"name":9,"slug":8,"type":15},{"name":676,"slug":677,"type":15},"2026-07-18T05:14:16.988376",{"slug":705,"name":705,"fn":706,"description":707,"org":708,"tags":709,"stars":626,"repoUrl":627,"updatedAt":718},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[710,711,714,717],{"name":621,"slug":622,"type":15},{"name":712,"slug":713,"type":15},"Computer Vision","computer-vision",{"name":715,"slug":716,"type":15},"Images","images",{"name":676,"slug":677,"type":15},"2026-07-18T05:14:18.007737",{"slug":720,"name":720,"fn":721,"description":722,"org":723,"tags":724,"stars":626,"repoUrl":627,"updatedAt":733},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[725,726,729,732],{"name":621,"slug":622,"type":15},{"name":727,"slug":728,"type":15},"Configuration","configuration",{"name":730,"slug":731,"type":15},"Feature Flags","feature-flags",{"name":20,"slug":21,"type":15},"2026-07-03T16:32:01.278468",{"slug":735,"name":735,"fn":736,"description":737,"org":738,"tags":739,"stars":626,"repoUrl":627,"updatedAt":752},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[740,743,746,749],{"name":741,"slug":742,"type":15},"Cosmos DB","cosmos-db",{"name":744,"slug":745,"type":15},"Database","database",{"name":747,"slug":748,"type":15},"NoSQL","nosql",{"name":750,"slug":751,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":754,"name":754,"fn":736,"description":755,"org":756,"tags":757,"stars":626,"repoUrl":627,"updatedAt":765},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[758,759,760,761,762],{"name":741,"slug":742,"type":15},{"name":744,"slug":745,"type":15},{"name":9,"slug":8,"type":15},{"name":747,"slug":748,"type":15},{"name":763,"slug":764,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":767,"name":767,"fn":768,"description":769,"org":770,"tags":771,"stars":626,"repoUrl":627,"updatedAt":777},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[772,773,774,775,776],{"name":621,"slug":622,"type":15},{"name":741,"slug":742,"type":15},{"name":744,"slug":745,"type":15},{"name":20,"slug":21,"type":15},{"name":747,"slug":748,"type":15},"2026-05-13T06:14:17.582229",267]