Awesome-omni-skill ccw-maven-setup
Prepares Maven build environment for Claude Code Web by installing Java 25 and configuring Maven proxy. Run automatically before Maven operations in CCW.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/ccw-maven-setup" ~/.claude/skills/diegosouzapw-awesome-omni-skill-ccw-maven-setup && rm -rf "$T"
skills/development/ccw-maven-setup/SKILL.mdCCW Maven Setup Skill
Prepares the Maven build environment for Claude Code Web (CCW) by installing Java 25 and configuring the Maven proxy. Does nothing in local environments.
Purpose
This skill ensures that Maven builds work correctly in Claude Code Web by:
- Installing Java 25 (required by this project)
- Setting up a local Maven authentication proxy
- Configuring Maven settings.xml
When to Use
Run this skill before any Maven build operations when working in Claude Code Web. It's idempotent and safe to run multiple times.
What It Does
- Detects environment: Checks
environment variableCLAUDECODE - If in CCW:
- Installs SDKMAN (if not present)
- Installs latest stable Java 25 (Temurin distribution) via SDKMAN
- Starts local Maven authentication proxy at
127.0.0.1:3128 - Configures
with proxy settings~/.m2/settings.xml
- If not in CCW:
- Does nothing (assumes local environment already has Java 25)
Usage
Simply run the prep script from the skill directory:
bash support/shared/claude/skills/ccw-maven-setup/prep_if_ccw.sh
Or invoke as a skill (after properly registered):
/skill ccw-maven-setup
Skill Workflow
When invoked, execute these steps:
-
Run the preparation script:
bash "$CLAUDE_PROJECT_DIR/support/shared/claude/skills/ccw-maven-setup/prep_if_ccw.sh" -
Verify setup by checking:
- Java version:
(should show Java 25)java -version - Maven proxy:
(should show proxy config)cat ~/.m2/settings.xml - Proxy process:
(should be running in CCW)pgrep -f maven-proxy.py
- Java version:
-
Report results to user with summary of what was set up
Technical Details
Why a Local Proxy?
Maven doesn't honor standard
HTTP_PROXY environment variables for authentication. The local proxy at 127.0.0.1:3128 handles authentication transparently by:
- Accepting unauthenticated CONNECT requests from Maven
- Adding authentication headers when forwarding to CCW's upstream proxy
- Maintaining persistent connections for better performance
Script Location
The
prep_if_ccw.sh script is located in:
support/shared/claude/skills/ccw-maven-setup/prep_if_ccw.sh
This location is vendor-controlled and shared across projects that need CCW Maven support.
References
- GitHub Issue: https://github.com/anthropics/claude-code/issues/13372
- LinkedIn Article: https://www.linkedin.com/pulse/fixing-maven-build-issues-claude-code-web-ccw-tarun-lalwani-8n7oc
- SDKMAN: https://sdkman.io/
SessionStart Hook Integration
This skill is designed to run automatically via a SessionStart hook. See
.claude/settings.json for hook configuration that runs this setup at session start.