# spring-boot-development

A skill that gives your coding agent a Spring Boot reference: auto-configuration, dependency injection, REST controllers, Spring Data and Spring Security.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 534 installs · ★ 62
- Author: manutej
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-backend-toolkit/skills/spring-boot-development/SKILL.md
- Updated: 2026-06-13
- HTML: https://affpapa.org/en/nevibecode/skills/spring-boot-development

## What it does

The skill hands the agent a Spring Boot reference built from the official documentation. It walks through `@SpringBootApplication` as a combination of `@Configuration`, `@EnableAutoConfiguration` and `@ComponentScan`, then conditional auto-configuration with `@ConditionalOnClass` and `@ConditionalOnProperty`, plus how to exclude auto-configurations via `exclude` or `spring.autoconfigure.exclude`.

Dependency injection gets its own section: constructor injection as the recommended approach, field injection flagged as something to avoid, setter injection for optional dependencies, and the stereotypes `@Component`, `@Service`, `@Repository`, `@Controller`, `@RestController`. REST controllers follow, with `@GetMapping`, `@PostMapping`, `@PathVariable`, `@RequestParam`, `@RequestHeader` and `ResponseEntity` responses.

The skill is tied to the Context7 library `/spring-projects/spring-boot`, so the agent needs access to that source to pull current documentation. The skill text stops partway through request mapping, so for Spring Data, Security and actuator expect the model's general knowledge rather than ready examples from the file.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill spring-boot-development -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/spring-boot-development/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/spring-boot-development/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill spring-boot-development -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/spring-boot-development/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill spring-boot-development -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/spring-boot-development/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install manutej/luxor-claude-marketplace spring-boot-development
```

2. **Manually: put the files in place**
- File: `.github/skills/spring-boot-development/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill spring-boot-development -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/manutej/luxor-claude-marketplace --path plugins/luxor-backend-toolkit/skills/spring-boot-development
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/spring-boot-development/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill spring-boot-development -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-backend-toolkit/skills/spring-boot-development/SKILL.md

## When to use it
- write a REST controller with request body validation
- debug why auto-configuration skips the `DataSource` bean
- pick between constructor and field injection
- declare a conditional bean with `@ConditionalOnProperty`
- exclude an unwanted auto-configuration from the app

## Example prompts
- Write a REST controller for a User entity with `@GetMapping`, `@PostMapping` and `ResponseEntity`
- Why isn't Spring Boot creating the `DataSource` bean? Walk through the conditional auto-configuration
- Show me how to rewrite field injection as constructor injection in `UserService`

## Similar
- [spring-boot-crud-patterns](https://affpapa.org/en/nevibecode/skills/spring-boot-crud-patterns.md) — skill · 3900 installs
- [spring-boot-patterns](https://affpapa.org/en/nevibecode/skills/spring-boot-patterns.md) — skill · 322 installs
- [spring-boot-engineer](https://affpapa.org/en/nevibecode/skills/spring-boot-engineer.md) — skill · 8400 installs
- [java-spring-boot](https://affpapa.org/en/nevibecode/skills/java-spring-boot.md) — skill · 11800 installs
- [spring-boot](https://affpapa.org/en/nevibecode/skills/spring-boot.md) — skill · 832 installs
- [spring-boot-rest-api-standards](https://affpapa.org/en/nevibecode/skills/spring-boot-rest-api-standards.md) — skill · 4200 installs

From the same set: [manutej/luxor-claude-marketplace](https://affpapa.org/en/nevibecode/by/manutej/luxor-claude-marketplace.md) — 31 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
