Skip to content
Development
Skill

/progen

Use when the user wants to create/generate/scaffold a new Spring Boot project (Maven or Gradle, REST API / Web App / Spring Boot + Angular full stack). Derives progen CLI inputs from the user's plain-English project description, asks for any missing mandatory info, ensures the

From plugin
java-dev
1947 skills1 agent

Claude Code

$ npx -y skills add sivaprasadreddy/sivalabs-agent-skills --skill progen --agent claude-code

SKILL.md

progen.SKILL.md
name: progen
description: Use when the user wants to create/generate/scaffold a new Spring Boot project (Maven or Gradle, REST API / Web App / Spring Boot + Angular full stack). Derives progen CLI inputs from the user's plain-English project description, asks for any missing mandatory info, ensures the progen binary is available, and runs it to generate the project. If the user asks for features progen doesn't support natively, generate the base project first, then add those features on top of the generated code.
disable-model-invocation: true

progen: Spring Boot Project Generator

`progen` is an offline, single-binary Go CLI (https://github.com/sivaprasadreddy/progen) that scaffolds a complete, production-ready Spring Boot project: build files, Java source, tests, Docker Compose, GitHub Actions, DB migrations, security, and more.

This skill's job: turn a user's description of the app they want into a `.progen.json` config, fill gaps by asking the user, run `progen` to generate the project, and — if the user asked for anything progen can't do natively — layer that on afterward by editing the generated code.

Step 1 — Ensure `progen` is available

Check for a working binary:

progen --version

If not found (or version looks outdated and the user wants latest), download the right asset for the current OS/arch from the latest release:

# Example for macOS arm64 — adapt OS/ARCH from `uname -s` / `uname -m`
curl -L -o progen.tar.gz \
  "https://github.com/sivaprasadreddy/progen/releases/latest/download/progen_<os>_<arch>.tar.gz"
tar -xzf progen.tar.gz
chmod +x progen
sudo mv progen /usr/local/bin/   # or anywhere on PATH
progen --version

If the exact asset naming isn't obvious, fetch the releases page (`https://github.com/sivaprasadreddy/progen/releases`) to find the correct filename for the user's OS/architecture before downloading. If a Go toolchain is available, `go install github.com/sivaprasadreddy/progen@latest` also works and avoids the asset-naming problem entirely.

On macOS, downloaded binaries may trigger a Gatekeeper "cannot be opened because the developer cannot be verified" error — tell the user to right-click → Open once in Finder to approve it (or `xattr -d com.apple.quarantine progen` if working non-interactively is fine with them).

Step 2 — Config schema (`.progen.json`)

`progen` takes no scaffolding info via flags — everything goes through a JSON config file consumed as `progen -c <file>` (interactive prompts are the only other input path, and are not used by this skill). Field names below are exactly as marshaled to JSON (Go field names, capitalized).

| Field | Type / allowed values | Default | Required | |-------------------------|-------------------------------------------------------------------------------------------|-------------------------------------|---------------------------------------| | `AppName` | string (used as output directory name) | `myapp` | **Yes — ask if not derivable** | | `GroupID` | string, e.g. `com.mycompany` | `com.mycompany` | **Yes — ask if not derivable** | | `ArtifactID` | string, e.g. `boot-demo` | `myapp` | **Yes — ask if not derivable** | | `AppVersion` | string, e.g. `1.0.0` | `1.0.0` | No | | `BasePackage` | string, e.g. `com.mycompany.myapp` | derived from `GroupID`+`ArtifactID` | No | | `AppType` | `"REST API"` \| `"Web App"` \| `"Spring Boot + Angular Full Stack"` | `"REST API"` | No (but shapes many other choices) | | `BuildTool` | `"Maven"` \| `"Gradle"` | `"Maven"` | No | | `PersistenceType` | `"Spring Data JPA"` \| `"Spring JdbcClient"` \| `"jOOQ"` | `"Spring Data JPA"` | No | | `DbType` | `"PostgreSQL"` \| `"MySQL"` \| `"MariaDB"` | `"PostgreSQL"` | No | | `DbMigrationTool` | `"Flyway"` \| `"Liquibase"` | `"Flyway"` | No | | `SpringCloudAWSSupport` | bool | `false` | No | | `ThymeleafSupport` | bool — set automatically to `true` when `AppType` is `"Web App"`; leave `false` otherwise | `false` | No (don't ask; derive from `AppType`) | | `HTMXSupport` | bool — only meaningful when `AppType` is `"Web App"` | `false` | No | | `EmailSupport` | bool | `false` | No | | `RabbitMQSupport` | bool | `false` | No

Read more
@sivaprasadreddy
Ships withjava-dev

A collection of skills/guidelines for building applications using AI Agents.

1947 skills1 agent
Get the whole plugin

Stars on GitHub

Momentum

stars in total
194
Star history of sivaprasadreddy/sivalabs-agent-skills on GitHub, a chart by star-history.com

Other skills on java-dev.

java-code-review

java-code-review

Review Java code for bugs, duplicate code, correctness risks, maintainability improvements, and missing tests. By default review…

jspecify

jspecify

Use this skill when asked to perform any of the following actions in a Java project: - To add jspecify support - To prevent…

spring-boot

spring-boot

Build Spring Boot 4.x applications following the best practices. Use this skill: * When developing Spring Boot applications using…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about progen.

Which coding agents can use progen?
progen installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.