402-frameworks-quarkus-rest — Claude Code skill for Quarkus REST
A skill for designing and reviewing Quarkus REST APIs: JAX-RS resources, validation, status codes, versioning and caching.
npx skills add jabrena/plinth --skill 402-frameworks-quarkus-rest -a claude-codeWhat 402-frameworks-quarkus-rest does
The skill walks an agent through Jakarta REST conventions in Quarkus: how to lay out resource classes and @Path, which status codes and headers to return, where Bean Validation belongs at the boundary. DTOs get their own section, along with ExceptionMapper responses in RFC 7807 Problem Details form and ISO-8601 for time fields.
It ships as SKILL.md plus a reference file, references/402-frameworks-quarkus-rest.md, holding the rules and good/bad code examples. The workflow runs in four steps: read the reference and inspect the project, pick the smallest safe set of changes, apply them, then build and test.
One hard gate. The project has to compile before anything is touched — the skill runs ./mvnw compile or mvn compile first and stops on failure, leaving the fix to you. After the changes it runs ./mvnw clean verify or mvn clean verify. Maven is assumed here, so a Gradle build won't match those commands.
What it helps with
- lay out resource classes and HTTP method mapping under
@Path - add Bean Validation and one error JSON shape via
ExceptionMapper - introduce API versioning plus Sunset and Deprecation headers
- handle idempotency with
Idempotency-Keyand concurrency with ETag and If-Match - define pagination, sorting and filtering query parameters
Example prompts for the agent
- Review the JAX-RS resources in this project and suggest fixes for status codes and DTOs
- Add RFC 7807 error responses and an exception mapper to our REST API
- Set up pagination and sorting for the orders list, plus Cache-Control headers
How to install 402-frameworks-quarkus-rest
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 402-frameworks-quarkus-rest -a claude-code2Manually: put the files in place
~/.claude/skills/402-frameworks-quarkus-rest/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/402-frameworks-quarkus-rest/
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 402-frameworks-quarkus-rest -a codex2Manually: put the files in place
.agents/skills/402-frameworks-quarkus-rest/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 402-frameworks-quarkus-rest -a cursor2Manually: put the files in place
.cursor/skills/402-frameworks-quarkus-rest/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install jabrena/plinth 402-frameworks-quarkus-rest2Manually: put the files in place
.github/skills/402-frameworks-quarkus-rest/SKILL.md1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 402-frameworks-quarkus-rest -a gemini-cli2Platform CLI
gemini skills install https://github.com/jabrena/plinth --path skills/402-frameworks-quarkus-restManually: put the files in place
.devin/skills/402-frameworks-quarkus-rest/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 402-frameworks-quarkus-rest -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about 402-frameworks-quarkus-rest
How do I install 402-frameworks-quarkus-rest in Claude?
Run npx skills add jabrena/plinth --skill 402-frameworks-quarkus-rest -a claude-code. The skill lands in ~/.claude/skills/402-frameworks-quarkus-rest/SKILL.md.
What does 402-frameworks-quarkus-rest do?
It guides design and review of Quarkus REST APIs: resources, status codes, DTOs, validation, error handling, versioning, idempotency and caching.
What does the skill need to work?
A Maven project that compiles. The skill runs ./mvnw compile or mvn compile first and stops on build errors, then verifies changes with ./mvnw clean verify.
Source text
SKILL.md · Apache-2.0
--- name: 402-frameworks-quarkus-rest description: Use when you need to design, review, or improve REST APIs with Quarkus REST (Jakarta REST) — including resource classes, HTTP methods, status codes, request/response DTOs, Bean Validation, exception mappers, optional runtime OpenAPI exposure (SmallRye), contract-first generation from OpenAPI, content negotiation, pagination, sorting and filtering, API versioning, idempotency (Idempotency-Key), optimistic concurrency (ETag / If-Match), HTTP caching (Cache-Control), API deprecation (Sunset / Deprecation headers), RFC 7807 Problem Details, ISO-8601 for time in contracts, and security-aware boundaries. This should trigger for requests such as Review or improve JAX-RS resources in a Quarkus project; Design HTTP APIs with validation and error handling on Quarkus; Add API versioning, idempotency, ETag concurrency, or deprecation headers; Implement pagination, sorting, or RFC 7807 Problem Details error responses; Improve Quarkus REST resources and exception mappers. Part of Plinth Toolkit license: Apache-2.0 metadata: author: Juan Antonio Breña Moral version: 0.19.0 --- # Quarkus REST API Guidelines Apply REST API design principles on Quarkus using Jakarta REST (JAX-RS). **What is covered in this Skill?** - Resource classes, @Path, HTTP method mapping, and resource URI design - Status codes, Location headers, and Response building - DTOs and Bean Validation at the boundary; ISO-8601 for date/time fields - ExceptionMapper for consistent error JSON (RFC 7807 Problem Details) - API versioning strategies (URI path, Accept header) - Idempotency with Idempotency-Key header - Optimistic concurrency: ETag, If-Match, If-None-Match - HTTP caching with Cache-Control headers - API deprecation: Sunset and Deprecation headers - Pagination, sorting, and filtering query parameters - Optional `/openapi` via SmallRye; API-first contract maintained in `openapi.yaml` (codegen) - Reactive vs blocking considerations; @RunOnVirtualThread - Security integration at the filter layer **Scope:** Apply recommendations based on the reference rules and good/bad code examples. ## Constraints Before applying REST changes, ensure the project compiles. After applying improvements, run full verification. - **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change - **PREREQUISITE**: Project must compile before applying REST API improvements - **SAFETY**: If compilation fails, stop immediately - **BLOCKING CONDITION**: Compilation errors must be resolved by the user before proceeding - **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements - **BEFORE APPLYING**: Read the reference for detailed rules and examples ## When to use this skill - Review or improve JAX-RS resources in a Quarkus project - Design HTTP APIs with validation and error handling on Quarkus - Add API versioning, idempotency, ETag concurrency, or deprecation headers - Implement pagination, sorting, or RFC 7807 Problem Details error responses - Improve Quarkus REST resources and exception mappers ## Workflow 1. **Read reference and assess project context** Read `references/402-frameworks-quarkus-rest.md` and inspect the current project setup before proposing changes. 2. **Gather scope and decide target improvements** Identify requested outcomes, constraints, and the minimum safe set of changes to apply. 3. **Apply framework-aligned changes** Implement or refactor configuration/code following the reference patterns and project conventions. 4. **Run verification and report results** Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions. ## Reference For detailed guidance, examples, and constraints, see [references/402-frameworks-quarkus-rest.md](references/402-frameworks-quarkus-rest.md).
© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth