From dasel
Queries Maven POM XML files using Dasel v3 selectors to extract dependency versions, filter by groupId/scope, map module hierarchy from parent POMs, and detect version conflicts in enterprise multi-module Java projects.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dasel:enterprise-maven-pomThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<when_to_use>
<when_to_use>
Load this skill when querying any pom.xml file — extracting dependency versions, filtering by groupId or scope, mapping module hierarchy from parent POMs, or detecting version conflicts across a multi-module Java project.
</when_to_use>
Domain skill for querying Maven POM XML files using dasel v3. Always pass -i xml explicitly. Child element text content (groupId, artifactId, version, scope) is accessed by element name directly — no #text needed. Write intermediate batch results to /tmp/, never to the source tree.
# All dependency groupIds from a single POM
dasel -f pom.xml -i xml 'project.dependencies.dependency.map(groupId)'
Filter dependencies by groupId to isolate framework-specific versions.
# Spring dependency versions
dasel -f pom.xml -i xml 'project.dependencies.dependency.filter(groupId == "org.springframework").map(version)'
# Hibernate dependency versions
dasel -f pom.xml -i xml 'project.dependencies.dependency.filter(groupId == "org.hibernate").map(version)'
# Test-scoped dependency artifactIds
dasel -f pom.xml -i xml 'project.dependencies.dependency.filter(scope == "test").map(artifactId)'
# Compile-scoped dependencies (no scope element defaults to compile)
dasel -f pom.xml -i xml 'project.dependencies.dependency.filter(scope == "compile").map(artifactId)'
Extract module paths from a parent POM to map the project structure.
# Module list from parent POM
dasel -f pom.xml -i xml 'project.modules.module'
Batch pattern — iterate all POMs, extract dependencies per file, compare. Write results to /tmp/.
# Collect all dependency groupIds across every POM in the hierarchy
for pom in $(fdfind -e xml -n pom.xml .); do
echo "=== $pom ===" >> /tmp/all_deps.txt
dasel -f "$pom" -i xml 'project.dependencies.dependency.map(groupId)' >> /tmp/all_deps.txt 2>/dev/null
done
Inspect /tmp/all_deps.txt for the same groupId appearing with different versions across modules.
Extract groupId and artifactId together for dependency inventory.
# Dependency coordinates (groupId + artifactId) — run as two passes
dasel -f pom.xml -i xml 'project.dependencies.dependency.map(groupId)'
dasel -f pom.xml -i xml 'project.dependencies.dependency.map(artifactId)'
Enterprise POMs use dependencyManagement to declare BOM-controlled versions separately from active dependencies.
# Managed dependency versions (BOM section)
dasel -f pom.xml -i xml 'project.dependencyManagement.dependencies.dependency.map(version)'
# Active dependency versions (may be empty if version comes from BOM)
dasel -f pom.xml -i xml 'project.dependencies.dependency.map(version)'
npx claudepluginhub jamie-bitflight/claude_skills --plugin daselEnforces Maven POM dependency ordering by scope (compile, runtime, test) and groupId hierarchy (first-party, io.liftwizard, etc.) with region comments. Use when editing pom.xml files.
Manages Maven dependencies in Java projects: declares with scopes, resolves version conflicts and transitives, configures BOMs, and optimizes dependency trees.
Provides JVM dependency intelligence via Maven Tools MCP: version lookup, upgrade safety, CVEs, license risks, and release history for Maven/Gradle projects.