Install Problem Details Rfc9457
Pick your agent. Every command is ready to paste.
npx skills add rrezartprebreza/spring-boot-skills --skill problem-details-rfc9457The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads problem-details-rfc9457 when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the problem-details-rfc9457 skill”. In Codex, type $problem-details-rfc9457.
Problem Details - RFC 9457
Choose the error contract
Inspect existing advice, security entry points and API tests first. Keep one error policy per API. Success DTOs or success envelopes can coexist with Problem Details errors: RFC 9457 specifies errors, not success representations.
For an API using Problem Details, enable Spring's built-in MVC exception handling:
spring:
mvc:
problemdetails:
enabled: true
For WebFlux use spring.webflux.problemdetails.enabled and reactive exception handling;
the servlet templates below are not WebFlux handlers.
Domain errors
Use the compiled DomainException together with ProblemDetailExceptionHandler. The handler maps all subclasses using their declared status and stable error code:
- OrderNotFoundException: 404.
- InsufficientInventoryException: 422.
- BusinessRuleViolationException: 422.
Each public class has its own file. These are API-facing exceptions with HTTP status metadata; for a framework-free domain, keep domain exceptions independent and map them in the web adapter. Do not expose arbitrary persistence or infrastructure exception messages.
The advice extends ResponseEntityExceptionHandler to preserve Spring's handling of framework
exceptions. Validation returns 400 with field violations; unexpected failures return a generic
500 while retaining the full exception only in server logs. Keep nullable validation messages safe.
Filter-level authentication failures need an AuthenticationEntryPoint; authorization failures
need an AccessDeniedHandler. Controller advice does not cover the security filter chain.
Method-security (@PreAuthorize) denials are the opposite case: AccessDeniedException is thrown
inside the dispatcher, so the advice must map it to 403 or the Exception catch-all returns 500.
Response fields
{
"type": "https://api.example.com/errors/order_not_found",
"title": "Not Found",
"status": 404,
"detail": "Order not found",
"instance": "/api/orders/123",
"errorCode": "ORDER_NOT_FOUND"
}
Use project-owned, stable URIs for custom problem types. An explicit type is optional;
when omitted it defaults to about:blank. Its title should then match the HTTP status phrase.
The HTTP status and the body status must agree. Use application/problem+json for JSON problems.
Use extensions such as errorCode or violations for machine-readable details instead of
requiring clients to parse human-readable messages.
Verification
Test actual HTTP responses for domain 404/422, validation 400, unexpected 500, and framework errors such as malformed JSON and unsupported methods. Assert content type, status, stable error codes and absence of stack traces or internal messages. Separately test filter 401/403. The repository verification fixture imports these exact templates for both Boot versions.
Official sources
Gotchas
- Agent handles a different exception class than the domain throws - test the concrete exceptions.
- Agent forces Problem Details into an existing legacy API - preserve its contract unless asked to migrate.
- Agent requires an explicit type for every error - about:blank is the default.
- Agent treats success envelopes and Problem Details as incompatible - only error policy must be consistent.
- Agent relies on advice for filter exceptions - configure the security handlers separately.
- Agent returns internal exception messages in 500 responses - log privately and return generic detail.
Tips for Problem Details Rfc9457
- • Start a fresh session after installing so your agent picks up the new skill.
- • It bundles reference files. The agent reads them only when needed, so they cost no context until then.
- • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Problem Details Rfc9457
What does the Problem Details Rfc9457 skill do?
Use when implementing exception mapping or RFC 9457 error responses in Spring Boot 3. Preserve an existing legacy error contract unless migration is requested.
How do I install Problem Details Rfc9457?
Run "npx skills add rrezartprebreza/spring-boot-skills --skill problem-details-rfc9457" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Problem Details Rfc9457 work in Cursor and Codex?
Yes. Problem Details Rfc9457 uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Problem Details Rfc9457 free?
Problem Details Rfc9457 is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.
Who made Problem Details Rfc9457?
Problem Details Rfc9457 is published by rrezartprebreza in the rrezartprebreza/spring-boot-skills repository, together with 29 other skills.


