CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

143-java-functional-exception-handling

Use when you need to apply functional exception handling best practices in Java — including replacing exception overuse with Optional and VAVR Either types, designing error type hierarchies using sealed classes and enums, implementing monadic error composition pipelines, establishing functional control flow patterns, and reserving exceptions only for truly exceptional system-level failures. This should trigger for requests such as Improve the code with Functional Exception Handling; Apply Functional Exception Handling; Refactor the code with Functional Exception Handling; Model Java errors with Result or Either types; Replace exception-heavy flows with functional error handling. Part of Plinth Toolkit

68

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured body: clear scope, real validation checkpoints, and clean one-level-deep disclosure into an organized reference file. The main weakness is redundancy — Constraints and Workflow repeat the same commands, and the trigger list duplicates the description — which costs conciseness without adding information.

Suggestions

Merge the Constraints bullets into the corresponding Workflow steps (or vice versa) so each command (validate, dependency check, verify) appears once.

Drop or shrink the 'When to use this skill' section — it repeats the description's trigger list verbatim and adds no new information.

Add one tiny inline good/bad code pair (e.g., try-catch vs Either.flatMap) to make step 4 more concrete before consulting the reference.

DimensionReasoningScore

Conciseness

Mostly efficient — no filler explanations of concepts Claude already knows — but there is noticeable duplication: the Constraints bullets ('Run ./mvnw validate', 'confirm VAVR (io.vavr:vavr) and SLF4J', 'Run ./mvnw clean verify') repeat verbatim in the Workflow section, and 'When to use this skill' restates the description's trigger list word-for-word. These sections could be merged and tightened.

3 / 5

Actionability

Concrete, executable commands throughout ('./mvnw validate', './mvnw clean verify', 'io.vavr:vavr') and a real reference file to consult, but the core refactoring step ('identify places to replace exception-heavy control flow with monadic error types') is high-level with no inline pattern example — minor gaps.

4 / 5

Workflow Clarity

Five clearly sequenced steps with explicit validation checkpoints at both ends: validate before with 'stop immediately if validation fails', a dependency check, and full verify after; the SAFETY constraint supplies the error-recovery directive ('do not proceed until the project is in a valid state'), matching the top anchor's validate→fix→retry shape.

5 / 5

Progressive Disclosure

The body is a lean overview pointing to a single well-signaled reference, references/143-java-functional-exception-handling.md, which exists at the exact path cited and is one level deep (1430 lines, table of contents, seven good/bad example sections) — content appropriately split with easy navigation.

5 / 5

Total

17

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete capabilities, explicit trigger phrases, and a well-defined niche. The main deductions are the second-person 'you' phrasing (voice penalty) and a few missing natural synonyms for triggers. It is also on the long side, though length does not hurt any single dimension here.

Suggestions

Rewrite the opening in third person / bare imperative form (e.g., 'Applies functional exception handling best practices in Java...') to avoid the second-person voice penalty.

Add a few natural trigger synonyms users might say, such as 'Java error handling', 'clean up try-catch heavy code', or 'use Optional instead of exceptions'.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'replacing exception overuse with Optional and VAVR Either types', 'designing error type hierarchies using sealed classes and enums', 'implementing monadic error composition pipelines' — with comprehensive coverage that would otherwise anchor at 5. The second-person phrasing 'Use when you need to apply' triggers the rubric's explicit voice penalty, reducing the score by 1.

4 / 5

Completeness

Clearly answers both: the 'what' ('replacing exception overuse with Optional and VAVR Either types... reserving exceptions only for truly exceptional system-level failures') and the 'when' with an explicit 'Use when' clause plus five concrete trigger phrases ('This should trigger for requests such as...'), matching the top anchor.

5 / 5

Trigger Term Quality

Good keyword coverage with natural user phrasings ('Improve the code with Functional Exception Handling', 'Refactor the code with Functional Exception Handling', 'Model Java errors with Result or Either types'), but common synonyms like 'Java error handling', 'try-catch cleanup', or 'get rid of exceptions' are missing — a few natural terms short of the comprehensive anchor.

4 / 5

Distinctiveness Conflict Risk

Clear niche — functional/monadic error handling in Java with distinctive tokens (VAVR Either, sealed classes, monadic composition) — and trigger phrases unlikely to fire for general Java, logging, or exception-handling skills; minimal conflict risk.

5 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

jabrena/plinth

Path

skills/143-java-functional-exception-handling/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.