maven-search

Provides comprehensive guidance for searching and retrieving Maven components from Maven Central Repository (https://repo1.maven.org/maven2/). This skill enables searching by groupId, artifactId, version, and other coordinates, retrieving component metadata (POM files, JARs, sources, Javadoc), querying version history, and analyzing dependencies. Use when the user needs to find, verify, or retrieve Maven dependencies, check component versions, analyze dependency trees, or work with Maven coordinates.

261 stars

Best use case

maven-search is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Provides comprehensive guidance for searching and retrieving Maven components from Maven Central Repository (https://repo1.maven.org/maven2/). This skill enables searching by groupId, artifactId, version, and other coordinates, retrieving component metadata (POM files, JARs, sources, Javadoc), querying version history, and analyzing dependencies. Use when the user needs to find, verify, or retrieve Maven dependencies, check component versions, analyze dependency trees, or work with Maven coordinates.

Provides comprehensive guidance for searching and retrieving Maven components from Maven Central Repository (https://repo1.maven.org/maven2/). This skill enables searching by groupId, artifactId, version, and other coordinates, retrieving component metadata (POM files, JARs, sources, Javadoc), querying version history, and analyzing dependencies. Use when the user needs to find, verify, or retrieve Maven dependencies, check component versions, analyze dependency trees, or work with Maven coordinates.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "maven-search" skill to help with this workflow task. Context: Provides comprehensive guidance for searching and retrieving Maven components from Maven Central Repository (https://repo1.maven.org/maven2/). This skill enables searching by groupId, artifactId, version, and other coordinates, retrieving component metadata (POM files, JARs, sources, Javadoc), querying version history, and analyzing dependencies. Use when the user needs to find, verify, or retrieve Maven dependencies, check component versions, analyze dependency trees, or work with Maven coordinates.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/maven-search/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/dev-utils-skills/maven-search/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/maven-search/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How maven-search Compares

Feature / Agentmaven-searchStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Provides comprehensive guidance for searching and retrieving Maven components from Maven Central Repository (https://repo1.maven.org/maven2/). This skill enables searching by groupId, artifactId, version, and other coordinates, retrieving component metadata (POM files, JARs, sources, Javadoc), querying version history, and analyzing dependencies. Use when the user needs to find, verify, or retrieve Maven dependencies, check component versions, analyze dependency trees, or work with Maven coordinates.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## When to use this skill

**ALWAYS use this skill when the user mentions:**
- Searching for Maven dependencies or components
- Finding Maven coordinates (groupId, artifactId, version)
- Checking component versions or version history
- Retrieving Maven artifacts (JAR, POM, sources, Javadoc)
- Verifying Maven dependency coordinates
- Analyzing dependency trees or transitive dependencies
- Working with Maven Central Repository
- Any request related to Maven components, libraries, or dependencies

**Trigger phrases include:**
- "查找 Maven 依赖" (find Maven dependency), "搜索 Maven 组件" (search Maven component)
- "Maven 坐标" (Maven coordinates), "groupId" (groupId), "artifactId" (artifactId)
- "Maven 版本" (Maven version), "最新版本" (latest version), "版本历史" (version history)
- "Maven Central" (Maven Central), "Maven 仓库" (Maven repository)
- "下载 Maven 依赖" (download Maven dependency), "获取 POM 文件" (get POM file)
- "依赖树" (dependency tree), "传递依赖" (transitive dependencies)
- Any mention of "Maven", "dependency", "artifact", "repository", "coordinates"

## How to use this skill

**CRITICAL: This skill should be triggered when the user needs to search, retrieve, or work with Maven components from Maven Central Repository.**

**Trigger this skill when you see:**
- User says "查找 Maven 依赖" (find Maven dependency), "搜索 Maven 组件" (search Maven component)
- User needs Maven coordinates (groupId, artifactId, version)
- User wants to check component versions or retrieve artifacts
- User mentions Maven Central Repository or Maven dependencies
- User needs to analyze dependencies or verify coordinates

To search for Maven components:

1. **Identify the search type** from the user's request:
   - Search by name → Use Maven Central Search API
   - Get specific version → Use direct repository URL
   - Check latest version → Query maven-metadata.xml
   - Analyze dependencies → Parse POM file
   - Download artifact → Use direct download URL

2. **Load the appropriate example file** from the `examples/` directory:
   - `examples/search-by-name.md` - Search components by name or keywords
   - `examples/search-by-coordinates.md` - Search by groupId and artifactId
   - `examples/get-version-info.md` - Get version information and history
   - `examples/download-artifact.md` - Download JAR, POM, sources, or Javadoc
   - `examples/analyze-dependencies.md` - Analyze dependency tree
   - `examples/verify-coordinates.md` - Verify Maven coordinates validity

3. **Follow the specific instructions** in that example file for API endpoints, parameters, and best practices

4. **Use Maven Central Repository API**:
   
   **Search API** (https://search.maven.org/solrsearch/select):
   - Query parameter: `q` - Search query (e.g., `g:com.google.guava AND a:guava`)
   - Rows parameter: `rows` - Number of results (default: 20, max: 200)
   - Start parameter: `start` - Pagination offset
   - Core parameter: `core` - Search core (default: `gav`)
   
   **Direct Repository Access** (https://repo1.maven.org/maven2/):
   - Path format: `{groupId}/{artifactId}/{version}/{artifactId}-{version}.{extension}`
   - GroupId path: Replace dots with slashes (e.g., `com.google.guava` → `com/google/guava`)
   - Metadata: `maven-metadata.xml` for version information
   - POM file: `{artifactId}-{version}.pom`
   - JAR file: `{artifactId}-{version}.jar`
   - Sources: `{artifactId}-{version}-sources.jar`
   - Javadoc: `{artifactId}-{version}-javadoc.jar`

5. **Construct the appropriate URL**:
   
   **Search Example**:
   ```
   https://search.maven.org/solrsearch/select?q=g:com.google.guava+AND+a:guava&rows=20&wt=json
   ```
   
   **Direct Access Example**:
   ```
   https://repo1.maven.org/maven2/com/google/guava/guava/maven-metadata.xml
   https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0/guava-33.0.0.pom
   https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0/guava-33.0.0.jar
   ```

6. **Parse and format the results**:
   - Extract relevant information (groupId, artifactId, version, description)
   - Format coordinates in standard Maven format: `groupId:artifactId:version`
   - Present results in a clear, structured format
   - Include download links and metadata when relevant

7. **Validate coordinates**:
   - Verify groupId format (should be reverse domain notation)
   - Check artifactId format (should be lowercase, hyphen-separated)
   - Validate version format (semantic versioning preferred)
   - Confirm artifact exists before providing download links

**Output Format Requirements**:
- Always provide Maven coordinates in standard format: `groupId:artifactId:version`
- Include direct download URLs when relevant
- Format search results in a clear, structured table or list
- Provide metadata information (description, repository, last updated) when available
- Include version information and release dates when querying versions

## Maven Central Repository Structure

### Repository Base URL
- **Primary**: https://repo1.maven.org/maven2/
- **Search API**: https://search.maven.org/solrsearch/select
- **Alternative mirrors**: Available for different regions

### Path Structure
```
{groupId}/{artifactId}/{version}/{artifactId}-{version}.{extension}
```

**Example**:
```
com/google/guava/guava/33.0.0/guava-33.0.0.jar
```

### Available Artifacts
- **POM**: `{artifactId}-{version}.pom` - Project Object Model file
- **JAR**: `{artifactId}-{version}.jar` - Compiled Java classes
- **Sources**: `{artifactId}-{version}-sources.jar` - Source code
- **Javadoc**: `{artifactId}-{version}-javadoc.jar` - API documentation
- **Metadata**: `maven-metadata.xml` - Version and release information

## Search API Parameters

### Query Syntax
- **GroupId search**: `g:com.google.guava`
- **ArtifactId search**: `a:guava`
- **Version search**: `v:33.0.0`
- **Combined search**: `g:com.google.guava AND a:guava`
- **Text search**: `guava` (searches in groupId, artifactId, and description)

### Response Format
- **JSON**: `wt=json` (default)
- **XML**: `wt=xml`
- **Java properties**: `wt=javabin`

### Pagination
- **rows**: Number of results per page (default: 20, max: 200)
- **start**: Offset for pagination (default: 0)

## Best Practices

1. **Always verify coordinates**: Check that groupId, artifactId, and version exist before use
2. **Use latest stable versions**: Prefer RELEASE versions over SNAPSHOT versions
3. **Check version metadata**: Query `maven-metadata.xml` for latest version information
4. **Validate before download**: Verify artifact exists before providing download links
5. **Include checksums**: When available, provide SHA-1 and MD5 checksums for verification
6. **Format coordinates correctly**: Always use standard Maven format `groupId:artifactId:version`
7. **Provide context**: Include description, repository information, and last updated date when available

## Common Tasks

### Task 1: Search by Name
Use the Search API with text query to find components by name or keywords.

**Example**:
```
GET https://search.maven.org/solrsearch/select?q=guava&rows=20&wt=json
```

### Task 2: Search by Coordinates
Use the Search API with groupId and artifactId to find specific components.

**Example**:
```
GET https://search.maven.org/solrsearch/select?q=g:com.google.guava+AND+a:guava&rows=20&wt=json
```

### Task 3: Get Version Information
Query `maven-metadata.xml` to get all available versions and latest version.

**Example**:
```
GET https://repo1.maven.org/maven2/com/google/guava/guava/maven-metadata.xml
```

### Task 4: Download Artifact
Construct direct download URL for specific artifact.

**Example**:
```
GET https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0/guava-33.0.0.jar
```

### Task 5: Analyze Dependencies
Download and parse POM file to extract dependency information.

**Example**:
```
GET https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0/guava-33.0.0.pom
```

## Keywords

**English keywords:**
maven, maven central, maven repository, maven dependency, maven artifact, maven component, groupId, artifactId, version, coordinates, pom, jar, dependency, repository, search, retrieve, download, metadata, transitive dependencies, dependency tree, maven coordinates, maven search

**Chinese keywords (中文关键词):**
Maven, Maven 中央仓库, Maven 仓库, Maven 依赖, Maven 组件, Maven 坐标, groupId, artifactId, version, 版本, 坐标, POM, JAR, 依赖, 仓库, 搜索, 检索, 下载, 元数据, 传递依赖, 依赖树, 查找依赖, 搜索组件, 获取版本, 下载依赖

## Resources

- **Maven Central Repository**: https://repo1.maven.org/maven2/
- **Maven Central Search**: https://search.maven.org/
- **Maven Central Search API Documentation**: https://central.sonatype.com/search-api/
- **Maven Coordinates Guide**: https://maven.apache.org/guides/mini/guide-naming-conventions.html

Related Skills

tui-search

261
from partme-ai/full-stack-skills

Generate and render a pixel-precise ASCII TUI Search component with complete output blocks (TUI_RENDER, COMPONENT_SPEC, PENCIL_SPEC, PENCIL_BATCH_DESIGN) for Pencil MCP drawing workflows. Use when the user asks to create a search in a terminal UI, text-based interface, or Pencil MCP project.

pencil-mcp-search-all-unique-properties

261
from partme-ai/full-stack-skills

Search and list all unique values for specific properties (fills, fonts, spacing) across nodes in a Pencil .pen file via the search_all_unique_properties MCP tool. Use when the user explicitly mentions Pencil and needs to audit design consistency, find all colors or font sizes used, or identify inconsistent styles.

elasticsearch

261
from partme-ai/full-stack-skills

Guides Elasticsearch usage including index mapping design, query DSL (match, term, bool, aggregations), bulk indexing, cluster management, and performance tuning. Use when the user needs to implement full-text search, design index mappings, write complex search queries, or manage Elasticsearch clusters.

vant-vue3

261
from partme-ai/full-stack-skills

Provides structured guidance for Vant of Vue 3.0. Use when the user needs Vant with Vue 3, asks about mobile UI components such as Button, Cell, Form, Dialog, Toast, Popup, ConfigProvider, theme customization, project setup, or wants to implement mobile-first interfaces with vant or van- components.

layui-vue3

261
from partme-ai/full-stack-skills

Provides comprehensive guidance for Layui Vue component library including components, layer dialogs, and utilities. Use when the user asks about Layui Vue, needs to use Layui components in Vue 3, or implement UI components.

element-plus-vue3

261
from partme-ai/full-stack-skills

Provides comprehensive guidance for Element Plus Vue 3 component library including installation, components, themes, internationalization, and API reference. Use when the user asks about Element Plus for Vue 3, needs to build Vue 3 applications with Element Plus, or customize component styles.

bootstrap-vue3

261
from partme-ai/full-stack-skills

Provides comprehensive guidance for Bootstrap Vue 3 component library including Bootstrap components, grid system, utilities, and Vue 3 integration. Use when the user asks about Bootstrap Vue 3, needs to use Bootstrap components in Vue 3, or implement responsive layouts.

vuex-vue2

261
from partme-ai/full-stack-skills

Provides comprehensive guidance for Vuex 2.x state management in Vue 2 applications including state, mutations, actions, getters, modules, and plugins. Use when the user asks about Vuex for Vue 2, needs to manage state in Vue 2 applications, or implement Vuex patterns.

vue3

261
from partme-ai/full-stack-skills

Guidance for Vue 3 using the official guide and API reference. Use when the user needs Vue 3 concepts, patterns, or API details to build components, apps, and tooling.

vue2

261
from partme-ai/full-stack-skills

Provides comprehensive guidance for Vue 2.x development including Options API, components, directives, lifecycle hooks, computed properties, watchers, Vuex state management, and Vue Router. Use when the user asks about Vue 2, needs to create Vue 2 components, implement reactive data binding, handle component communication, or work with Vue 2 ecosystem tools.

vue-router

261
from partme-ai/full-stack-skills

Provides comprehensive guidance for Vue Router including route configuration, navigation, dynamic routes, nested routes, route guards, programmatic navigation, and route meta. Use when the user asks about Vue Router, needs to set up routing, implement navigation guards, handle route parameters, or manage route transitions.

vue-router-v4

261
from partme-ai/full-stack-skills

Provides comprehensive guidance for Vue Router v4 including route configuration, navigation, nested routes, route guards, and Vue 3 integration. Use when the user asks about Vue Router v4, needs to set up routing for Vue 3 applications, implement navigation guards, or work with Vue Router v4 features.