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.

16 stars

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

$curl -o ~/.claude/skills/ccw-maven-setup/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/ccw-maven-setup/SKILL.md"

Manual Installation

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

How ccw-maven-setup Compares

Feature / Agentccw-maven-setupStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Astro project initialization and configuration patterns. Use when setting up new Astro projects or configuring Astro features.

angular-app-setup

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Install the Vercel AI SDK with AI Elements components. Build a streaming chat interface with the useChat hook.

setup-design-system

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Initialize, setup and configure AsyncRedux in a Flutter app. Use it whenever starting a new AsyncRedux project, or when the user requests.

worktree-setup

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Initialize a repository for ASDLC adoption with AGENTS.md and directory structure

sentry-setup-ai-monitoring

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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.