java-adr
Creates, lists, and manages Architecture Decision Records for Java projects. Use when user asks to "create an ADR", "document this decision", "write an…
Use when the user asks to add AI features, integrate Spring AI or LangChain4J, build a chatbot, implement RAG (retrieval-augmented generation), use vector stores, stream LLM responses, or call AI tools/functions in a Spring Boot project.
$ npx -y skills add ducpm2303/claude-java-plugins --skill java-spring-ai --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/java-spring-aiContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user asks to add AI features, integrate Spring AI or LangChain4J, build a chatbot, implement RAG (retrieval-augmented generation), use vector stores, stream LLM responses, or call AI tools/functions in a Spring Boot project.
name: java-spring-ai description: Use when the user asks to add AI features, integrate Spring AI or LangChain4J, build a chatbot, implement RAG (retrieval-augmented generation), use vector stores, stream LLM responses, or call AI tools/functions in a Spring Boot project. version: 1.0.0 authors: [java-plugins contributors] tags: [java, spring-boot, spring-ai, langchain4j, llm, rag, vector-store, ai] allowed-tools: [Read, Glob, Grep, Edit, Write]
Detect the framework in use, then apply the correct patterns.
Check `pom.xml` or `build.gradle`:
Check Spring Boot version:
---
User asks to review existing AI code. Check for:
**Spring AI:**
**LangChain4J:**
---
User asks to add a basic chatbot or chat endpoint.
1. Add dependency (see `references/patterns.md` → Spring AI Setup) 2. Inject `ChatClient.Builder`, build a `ChatClient` bean 3. Create `ChatController` with `@PostMapping("/chat")` 4. Use `chatClient.prompt().user(message).call().content()` for simple response 5. For streaming: return `Flux<String>` with `chatClient.prompt().user(message).stream().content()` 6. Add `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` to `application.yml` via `${env-var}`
1. Add `langchain4j-spring-boot-starter` + provider dependency 2. Define `@AiService` interface with `@SystemMessage` 3. Register as Spring bean via `AiServices.builder(MyAssistant.class).chatLanguageModel(model).build()` 4. Expose via `@RestController`
---
User asks to implement RAG (chat over documents, knowledge base, semantic search).
1. Choose vector store: PgVector (PostgreSQL), Chroma, Redis, Weaviate, Qdrant (see `references/patterns.md`) 2. Add `spring-ai-{store}-store-spring-boot-starter` 3. Ingest pipeline:
4. Query pipeline:
5. Tune: `SearchRequest.withTopK(5).withSimilarityThreshold(0.7)`
1. Add `EmbeddingStore` (Chroma, Qdrant, in-memory for dev) 2. `EmbeddingStoreIngestor` with `DocumentSplitter` and `EmbeddingModel` 3. `EmbeddingStoreContentRetriever` → `RetrievalAugmentor` → `AiServices` builder
---
User asks to give the AI the ability to call Java methods (function/tool calling).
1. Define a `@Bean` of type `Function<Input, Output>` — Spring AI auto-registers it 2. Or use `@Description` on a `record` parameter for rich schema 3. Pass function names to `ChatClient`: `.options(OpenAiChatOptions.builder().withFunction("myFunction").build())` 4. Spring AI handles the tool call loop automatically
1. Annotate service methods with `@Tool("description of what this tool does")` 2. Register the service as a tool: `AiServices.builder(...).tools(myToolService).build()` 3. The model decides when to call — no manual dispatch needed
---
User asks to add conversation memory / chat history.
---
For **review mode**: list findings as `[CRITICAL] / [HIGH] / [MEDIUM] / [LOW]` with file:line references.
For **implementation modes** (chat, rag, tools, memory): 1. Show exact Maven/Gradle dependencies with versions 2. Show full working code snippets (not pseudocode) 3. Show `application.yml` configuration 4. Note: state the minimum Spring Boot and Java version required
Always note version-specific differences:
A Claude Code plugin marketplace with 3 focused plugins for Java developers. All plugins support Java 8 through Java 21 and tailor advice to your target Java version.
Creates, lists, and manages Architecture Decision Records for Java projects. Use when user asks to "create an ADR", "document this decision", "write an…
Reviews Java REST API design including HTTP methods, status codes, naming, and versioning. Use when user asks to "review my API", "check REST design", "is this…
Reviews or implements Clean Architecture / Hexagonal Architecture (Ports & Adapters) and DDD tactical patterns for Java projects. Use when user asks to "apply…
Generates a Conventional Commits message for staged Java changes. Use when user asks to "write a commit message", "help me commit", "what should my commit…
Reviews Java code for thread safety, race conditions, deadlocks, and Java 21 virtual thread compatibility. Use when user asks to "review concurrency", "is this…
Detects GoF patterns in Java code or recommends the right pattern for a problem. Use when user asks to "what pattern is this", "detect design patterns",…