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.
Best use case
ccw-maven-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Prepares Maven build environment for Claude Code Web by installing Java 25 and configuring Maven proxy. Run automatically before Maven operations in CCW.
Teams using ccw-maven-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ccw-maven-setup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ccw-maven-setup Compares
| Feature / Agent | ccw-maven-setup | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Prepares Maven build environment for Claude Code Web by installing Java 25 and configuring Maven proxy. Run automatically before Maven operations in CCW.
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
# CCW 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: 1. Installing Java 25 (required by this project) 2. Setting up a local Maven authentication proxy 3. 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 1. **Detects environment**: Checks `CLAUDECODE` environment variable 2. **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 `~/.m2/settings.xml` with proxy settings 3. **If not in CCW**: - Does nothing (assumes local environment already has Java 25) ## Usage Simply run the prep script from the skill directory: ```bash bash support/shared/claude/skills/ccw-maven-setup/prep_if_ccw.sh ``` Or invoke as a skill (after properly registered): ```bash /skill ccw-maven-setup ``` ## Skill Workflow When invoked, execute these steps: 1. **Run the preparation script**: ```bash bash "$CLAUDE_PROJECT_DIR/support/shared/claude/skills/ccw-maven-setup/prep_if_ccw.sh" ``` 2. **Verify setup** by checking: - Java version: `java -version` (should show Java 25) - Maven proxy: `cat ~/.m2/settings.xml` (should show proxy config) - Proxy process: `pgrep -f maven-proxy.py` (should be running in CCW) 3. **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.
Related Skills
bronze-layer-setup
End-to-end Bronze layer creation for testing and demos. Creates table DDLs, generates fake data with Faker, copies from existing sources, and configures Asset Bundle jobs. Covers Unity Catalog compliance, Change Data Feed, automatic liquid clustering, and governance metadata. Use when setting up Bronze layer tables, creating test/demo data, rapid prototyping Medallion Architecture, or bootstrapping a new Databricks project. For Faker-specific patterns (corruption rates, function signatures, provider examples), load the faker-data-generation skill.
bknd-client-setup
Use when setting up Bknd SDK in a frontend application. Covers Api class initialization, token storage, auth state handling, React integration with BkndBrowserApp and useApp hook, framework-specific setup (Vite, Next.js, standalone), and TypeScript type registration.
astro-setup
Astro project initialization and configuration patterns. Use when setting up new Astro projects or configuring Astro features.
angular-app-setup
Creates an Angular 20 app directly in the current folder with strict defaults, deterministic non-interactive flags, and preflight safety checks. Use when the user asks to create, scaffold, or initialize Angular 20 in place and wants build/test verification.
ai-sdk-setup
Install the Vercel AI SDK with AI Elements components. Build a streaming chat interface with the useChat hook.
setup-design-system
Initialize the design system or create new UI components with accessibility, Tailwind/shadcn integration, and documentation. Use when setting up the initial design system, adding component categories, or creating complex UI components that need design review.
asyncredux-setup
Initialize, setup and configure AsyncRedux in a Flutter app. Use it whenever starting a new AsyncRedux project, or when the user requests.
worktree-setup
Automatically invoked after `git worktree add` to create data/shared symlink and data/local directory. Required before starting work in any new worktree.
setup-asdlc
Initialize a repository for ASDLC adoption with AGENTS.md and directory structure
sentry-setup-ai-monitoring
Setup Sentry AI Agent Monitoring in any project. Use this when asked to add AI monitoring, track LLM calls, monitor AI agents, or instrument OpenAI/Anthropic/Vercel AI/LangChain/Google GenAI. Automatically detects installed AI SDKs and configures the appropriate Sentry integration.
agent-setup
Configure AI coding agents like Cursor, GitHub Copilot, or Claude Code with project-specific patterns, coding guidelines, and MCP servers for consistent AI-assisted development.
agent-canvas-setup
Dependency checker and installer for agent-canvas, agent-eyes, and canvas-edit skills. Use BEFORE running any canvas skill for the first time, or when canvas skills fail with import/browser errors. Triggers on "setup agent canvas", "install canvas dependencies", "canvas not working", "playwright not found", or any setup/installation request for canvas skills.