A skill your agent uses 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).

MITAuto-check: notesBackend & APIs

Install Progen

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

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sivaprasadreddy/sivalabs-agent-skills progen --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sivaprasadreddy/sivalabs-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/progen .claude/skills/progen && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
progen
GitHub stars
188
Token cost
~2.7k tokens
SKILL.md length
874 words
Files
2
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses 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).

  • Works in 6 steps: Ensure progen is available → Config schema (.progen.json) → Derive config from the user's description → …
  • The user wants to create/generate/scaffold a new Spring Boot project (Maven
  • SKILL.md covers Step 1 — Ensure progen is…, Step 2 — Config schema…, Step 3 — Derive config from… and Step 4 — Ask about missing…, plus 2 more sections
  • Calls curl; reaches github.com

What it does

Progen is an agent skill from sivaprasadreddy/sivalabs-agent-skills. 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.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Backend & APIs, covering Backend development, Plain language and style rules and REST APIs. It works with Spring Boot, Gradle, Angular and Java. The repository describes itself as: Spring Boot skills for AI coding agents. The licence is MIT.

When your agent uses it

  • The user wants to create/generate/scaffold a new Spring Boot project (Maven
  • REST API / Web App / Spring Boot + Angular full stack)

Example prompts

  • “/progen”

Requirements

  • Docker

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Ensure progen is available
  2. Config schema (.progen.json)
  3. Derive config from the user's description
  4. Ask about missing mandatory info
  5. Generate the project
  6. Features progen doesn't support

What it can do on your machine

Read from SKILL.md and the folder at commit e9f9861. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Progen loads about 2.7k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 874 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~125
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:34
    sudo mv progen /usr/local/bin/   # or anywhere on PATH

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sivaprasadreddy/sivalabs-agent-skills at commit e9f9861, republished under its MIT licence (© sivaprasadreddy). 874 words, ~2,729 tokens.

Download SKILL.mdSave it as .claude/skills/progen/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
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:

bash
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:

bash
# 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).

FieldType / allowed valuesDefaultRequired
AppNamestring (used as output directory name)myappYes — ask if not derivable
GroupIDstring, e.g. com.mycompanycom.mycompanyYes — ask if not derivable
ArtifactIDstring, e.g. boot-demomyappYes — ask if not derivable
AppVersionstring, e.g. 1.0.01.0.0No
BasePackagestring, e.g. com.mycompany.myappderived from GroupID+ArtifactIDNo
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
SpringCloudAWSSupportboolfalseNo
ThymeleafSupportbool — set automatically to true when AppType is "Web App"; leave false otherwisefalseNo (don't ask; derive from AppType)
HTMXSupportbool — only meaningful when AppType is "Web App"falseNo
EmailSupportboolfalseNo
RabbitMQSupportboolfalseNo
RedisCachingSupportboolfalseNo
OpenTelemetrySupportboolfalseNo
K8sSupportbool — generates Kubernetes manifestsfalseNo

Notes:

  • Spring Modulith package structure, Docker Compose, Testcontainers, JUnit, Spotless, SDKMAN, GitHub Actions, Renovate, and .editorconfig/AI-assistant config files are always generated — there's no toggle for them.
  • "Spring Boot + Angular Full Stack" additionally scaffolds an Angular + TailwindCSS frontend; HTMXSupport and ThymeleafSupport don't apply to it.
  • Get a fresh copy of these defaults any time with progen init, which writes a .progen.json pre-filled with the defaults above into the current directory.
Show full SKILL.md (396 more words)Show less

Step 3 — Derive config from the user's description

Read the user's description and map it onto the fields above:

  • App/artifact identity: look for an explicit name, company/org (→ GroupID), or repo-style slug (→ ArtifactID, AppName). If genuinely absent, this is mandatory — ask (see Step 4).
  • Kind of app: "API", "backend", "microservice" → RestApi. "website", "server-rendered pages", "HTMX" → WebApp (and set HTMXSupport if HTMX is mentioned). "Angular", "SPA", "single page app" → SpringBootAngularFullStack.
  • Build tool: "Maven"/"Gradle" mentioned explicitly → use it; otherwise default Maven.
  • Persistence: "JPA"/"Hibernate" → SpringDataJPA; "JdbcClient"/"plain JDBC"/"no ORM" → SpringJdbcClient; "jOOQ" → SpringJOOQ.
  • Database: "Postgres" → PostgreSQL; "MySQL" → MySQL; "MariaDB" → MariaDB.
  • Migrations: "Flyway" or unspecified → Flyway; "Liquibase" → Liquibase.
  • Feature keywords → booleans:
    • AWS/S3/SQS/Cloud → SpringCloudAWSSupport;
    • email/SMTP/notifications → EmailSupport;
    • RabbitMQ/messaging/queue → RabbitMQSupport;
    • caching/Redis → RedisCachingSupport;
    • tracing/observability/OpenTelemetry → OpenTelemetrySupport;
    • Kubernetes/k8s/Helm-adjacent manifests → K8sSupport.
  • Anything not mentioned: leave at its default rather than asking — only the identity fields in Step 4 are worth interrupting the user for.

Step 4 — Ask about missing mandatory info

Only pause to ask when AppName, GroupID, or ArtifactID cannot be reasonably derived from the description (progen's own prompt flow treats these three as required; everything else has a sane default). Ask concisely, e.g.:

What should the app/artifact be called, and what's the group id (e.g. com.acme)?

Don't ask about AppType, BuildTool, PersistenceType, DbType, DbMigrationTool, or the feature booleans — apply the Step 3 mapping and fall back to defaults silently.

Step 5 — Generate the project

Write the derived config to a .progen.json file, then run progen non-interactively:

bash
cat > .progen.json <<'EOF'
{
 "AppType": "REST API",
 "AppName": "orders-service",
 "GroupID": "com.acme",
 "ArtifactID": "orders-service",
 "AppVersion": "1.0.0",
 "BasePackage": "com.acme.ordersservice",
 "BuildTool": "Maven",
 "PersistenceType": "Spring Data JPA",
 "DbType": "PostgreSQL",
 "DbMigrationTool": "Flyway",
 "SpringCloudAWSSupport": false,
 "ThymeleafSupport": false,
 "HTMXSupport": false,
 "EmailSupport": false,
 "RabbitMQSupport": false,
 "RedisCachingSupport": false,
 "OpenTelemetrySupport": false,
 "K8sSupport": false
}
EOF
progen -c .progen.json

This creates a new directory named after AppName containing the generated project (and drops a copy of the resolved config as <AppName>/.progen.json). Any invalid enum value is replaced with its default and a WARNING: is printed — check the command output for these.

Step 6 — Features progen doesn't support

progen only knows the fields in Step 2's table. If the user asked for something outside that list (e.g. GraphQL, a specific cloud provider integration beyond Spring Cloud AWS, a particular auth provider, gRPC, a non-listed database, CI platform other than GitHub Actions):

  1. Generate the base project first using the closest matching config from Steps 3–5.
  2. Then add the extra feature by hand-editing the generated project — treat it as a normal Spring Boot codebase from that point on (respect its existing conventions: package layout under BasePackage, the chosen persistence/build tool, existing test setup, etc.).

Don't block project generation waiting on unsupported-feature design decisions — scaffold first, layer the custom feature on top second.

© sivaprasadreddy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/progen of sivaprasadreddy/sivalabs-agent-skills.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit e9f9861

Compare with similar skills

Progen next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Progen compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Progen this skillsivaprasadreddy/sivalabs-agent-skills188—~2.7kAutomated safety check: NotesMIT
Dr Jskilljdubois/dr-jskill342—~4.6kAutomated safety check: NotesApache-2.0
Grails Developer Guideapache/grails-core2.9k—~4.9kAutomated safety check: PassApache-2.0
Spring Boot Crud Patternsgiuseppe-trisciuoglio/developer-kit357—~2.5kAutomated safety check: NotesMIT
Springboot Patternsaffaan-m/ECC276k5 repos~2.5kAutomated safety check: PassMIT
Starter Domain Revieweraxelixlabs/axelix148—~3.3kAutomated safety check: PassLGPL-3.0

Similar skills

  • Dr Jskill

    jdubois/dr-jskill

    Creates Java + Spring Boot projects: Web applications, full-stack apps with Vue.js or Angular or React or vanilla JS, PostgreSQL, REST APIs, and Docker.

    342 GitHub stars~4.6k tokensUpdated 10 days ago
    Backend & APIsAuto-check: notes
  • Grails Developer Guide

    apache/grails-core

    Guides building Grails web applications and REST APIs with GORM, controllers, services, views, plugins and Spock and Geb testing.

    2.9k GitHub stars~4.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Spring Boot Crud Patterns

    giuseppe-trisciuoglio/developer-kit

    Provides and generates complete CRUD workflows for Spring Boot 3 services.

    357 GitHub stars~2.5k tokensUpdated 1 mo ago
    Backend & APIsAuto-check: notes
  • Spring Boot architecture patterns, REST API design, layered services, data access, caching, async processing, and logging.

    276k GitHub starsUsed in 5 repos~2.5k tokens
    Backend & APIsAuto-check passed
  • Starter Domain Reviewer

    axelixlabs/axelix

    Reviews changes in sbs/starter-domain for technology-agnostic domain logic, forbidden production dependencies, and Java 11+ compatibility.

    148 GitHub stars~3.3k tokensUpdated today
    Backend & APIsAuto-check passed
  • Java Architect

    Jeffallan/claude-skills

    Builds Spring Boot 3.x services on Java 21 with domain-driven design, WebFlux, JPA tuning and Spring Security using OAuth2 and JWT, verified by Maven or Gradle builds.

    12k GitHub stars~1.5k tokensUpdated 7 days ago
    Backend & APIsAuto-check passed

More from sivaprasadreddy/sivalabs-agent-skills

  • Jspecify Skill

    sivaprasadreddy/sivalabs-agent-skills

    A skill your agent uses when asked to perform any of the following actions in a Java project: - To add jspecify support - To prevent NullPointerExceptions - To better handle Nullability This skill…

    188 GitHub stars~1.2k tokensUpdated 5 days ago
    Auto-check passed
  • Apply Renovate PRs

    sivaprasadreddy/sivalabs-agent-skills

    Apply the changes from all open Renovate bot pull requests of a GitHub repository into the local working tree.

    188 GitHub stars~3k tokensUpdated 5 days ago
    Auto-check passed
  • Java Code Review

    sivaprasadreddy/sivalabs-agent-skills

    Review Java code for bugs, duplicate code, correctness risks, maintainability improvements, and missing tests.

    188 GitHub stars~1.2k tokensUpdated 5 days ago
    Auto-check passed
  • Spring Modulith Verifier

    sivaprasadreddy/sivalabs-agent-skills

    Verifies whether code follows Spring Modulith code structure or not.

    188 GitHub stars~1.7k tokensUpdated 5 days ago
    Auto-check passed
  • Spring Boot Skill

    sivaprasadreddy/sivalabs-agent-skills

    Build Spring Boot 4.x applications following the best practices.

    188 GitHub stars~1.1k tokensUpdated 5 days ago
    Auto-check passed

Categories

Questions about Progen

What does Progen do?

A skill your agent uses 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). Progen is an agent skill from sivaprasadreddy/sivalabs-agent-skills. 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).

When should I use Progen?

Progen fits situations like: the user wants to create/generate/scaffold a new Spring Boot project (Maven; REST API / Web App / Spring Boot + Angular full stack).

How do I install Progen in Claude Code?

Run `npx skills add sivaprasadreddy/sivalabs-agent-skills --skill progen -a claude-code`. Or copy the skill folder (skills/progen in sivaprasadreddy/sivalabs-agent-skills) into .claude/skills/progen in your project. Claude Code loads it when a task matches its description.

How do I install Progen in Codex?

Run `npx skills add sivaprasadreddy/sivalabs-agent-skills --skill progen -a codex`. Or copy the skill folder (skills/progen in sivaprasadreddy/sivalabs-agent-skills) into .agents/skills/progen in your project. Codex loads it when a task matches its description.

Can I use Progen in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sivaprasadreddy/sivalabs-agent-skills --skill progen -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/progen, .gemini/skills/progen, .github/skills/progen and .opencode/skills/progen in your project.

What does Progen need to run?

Going by SKILL.md and its folder, Progen needs the command-line tools its instructions call (curl). Our summary lists: Docker.

Does Progen access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Progen safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Progen use?

Progen is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Progen use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Progen?

Skills that share tags, products or a category with Progen: Dr Jskill (jdubois/dr-jskill, 342 stars), Grails Developer Guide (apache/grails-core, 2.9k stars), Spring Boot Crud Patterns (giuseppe-trisciuoglio/developer-kit, 357 stars) and Springboot Patterns (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Progen?

sivaprasadreddy (a GitHub user) maintains it in sivaprasadreddy/sivalabs-agent-skills, which has 188 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 5, 2026.

Source: sivaprasadreddy/sivalabs-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.