Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add motlin/claude-code-plugins --skill maven-cligit clone --depth 1 https://github.com/motlin/claude-code-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/motlin/claude-code-plugins/maven-cli)<a href="https://agentmods.dev/skills/motlin/claude-code-plugins/maven-cli"><img src="https://agentmods.dev/badge/skills/motlin/claude-code-plugins/maven-cli/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/motlin/claude-code-plugins/maven-cli"><img src="https://agentmods.dev/badge/skills/motlin/claude-code-plugins/maven-cli.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00069 | $0.00469 |
| Opus 5.5 | $0.00028 | $0.00188 |
| Sonnet 5.5 | $0.00014 | $0.00094 |
| Haiku 4.5 | $0.00007 | $0.00047 |
Grade A, and why
maven-cli scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Maven CLI
Avoid -o / --offline
Do not pass -o or --offline by default.
In multi-worktree or multi-branch projects, ~/.m2/repository holds artifacts installed by other worktrees, possibly compiled against different transitive versions than this branch resolves. Offline mode makes Maven trust those cached sibling modules instead of rebuilding them, producing phantom compile errors that look like upstream defects. Example: a sibling module compiled against Dropwizard 3 leaking io.dropwizard.core.ConfiguredBundle references into a Dropwizard 2 build.
To verify a module compiles, use mvn -pl <module> -am compile (or clean install -DskipTests). -am rebuilds upstream siblings from this worktree's source. If -am fails on an upstream module, fix that root cause rather than falling back to -o.
Use -o only when the cache is known to match HEAD (for example, right after a successful mvn install from the same branch) or when testing offline behavior specifically.
Don't use stash-and-rerun to acquit your diff
git stash && mvn ... failing with the same error does not prove the diff innocent. Both runs resolve from the same ~/.m2 cache, so a polluted cache fails identically either way.
Reproduce against a freshly built dependency graph instead: mvn -pl <module> -am clean install -DskipTests. If it succeeds, the earlier failure was cache pollution. If it still fails, the failure is real.
Prefer -pl <module> -am over building everything
During development, scope builds to the changed module plus its upstream dependencies. It is faster than a root build and uses the exact classpath the module sees. Save full reactor builds for release verification or changes spanning many modules.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 22d ago Changed f2fad8afe304
- 1mo ago First seen · 27 lines · 69 tokens per session scan A d21200f42777
maven-cli is a skill published in the GitHub repository motlin/claude-code-plugins (20 stars, last pushed yesterday), licensed Apache-2.0. It adds 69 tokens to every session and 469 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
java-affected-tests
Use before opening or updating an OpenMetadata PR that changes Java, a JSON schema, an index mapping, a SQL migration, seed data or a pom — PR CI no longer runs the Java integration tests (they run only in the merge queue) and the JavaUIIT/search-it suites run only nightly, so this selects the unit tests and…
azure-security-keyvault-secrets-java
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.
azure-ai-anomalydetector-java
Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate/multivariate anomaly detection, time-series analysis, or AI-powered monitoring.
azure-communication-chat-java
Build real-time chat applications with Azure Communication Services Chat Java SDK. Use when implementing chat threads, messaging, participants, read receipts, typing notifications, or real-time chat features.
azure-communication-common-java
Azure Communication Services common utilities for Java. Use when working with CommunicationTokenCredential, user identifiers, token refresh, or shared authentication across ACS services.
union-type-wrappers
Add typed getters and setters over BinaryData properties that represent TypeSpec union types in generated Java models. Use when generated classes expose BinaryData for union-typed fields and you need ergonomic, type-safe accessors instead.