CtrlK
BlogDocsLog inGet started
Tessl Logo

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. Part of the skills-for-java project

77

Quality

71%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/143-java-functional-exception-handling/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

100%

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

This is a strong, well-crafted description that clearly identifies a specific niche (functional exception handling in Java), lists concrete techniques and tools, and opens with an explicit 'Use when' trigger clause. The description is detailed without being padded, uses third-person voice appropriately, and would be easily distinguishable from other Java or error-handling skills.

DimensionReasoningScore

Specificity

Lists multiple specific 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, establishing functional control flow patterns, and reserving exceptions for system-level failures.

3 / 3

Completeness

Clearly answers both 'what' (applying functional exception handling best practices with specific techniques listed) and 'when' (opens with 'Use when you need to apply functional exception handling best practices in Java'), providing explicit trigger guidance.

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'exception handling', 'Optional', 'VAVR Either', 'sealed classes', 'enums', 'monadic error composition', 'functional control flow', 'Java'. These cover the domain well, though some terms like 'error handling' or 'try-catch replacement' could broaden coverage.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive niche combining functional programming paradigms with Java exception handling. The specific mention of VAVR Either, monadic error composition, sealed classes for error hierarchies, and Optional makes this very unlikely to conflict with general Java or general error handling skills.

3 / 3

Total

12

/

12

Passed

Implementation

42%

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

This skill functions primarily as a pointer to a reference file, with almost no actionable content in the body itself. While the progressive disclosure and constraint/validation steps are reasonable, the complete absence of concrete code examples (good/bad patterns, before/after snippets) makes it very difficult for Claude to act on without reading the reference. The bullet list of topics covered adds little value since it merely describes what the reference contains.

Suggestions

Add at least 2-3 concrete before/after code examples inline (e.g., replacing a try-catch with Optional, or using Either for business logic failures) so the skill is actionable without requiring the reference file for basic cases.

Include a step-by-step workflow for applying functional exception handling to existing code: e.g., 1) Identify exception-based control flow, 2) Classify as business vs system failure, 3) Replace with appropriate type (Optional/Either), 4) Compose with flatMap/map, 5) Validate and verify.

Remove or condense the 'What is covered' bullet list — it reads like a table of contents and doesn't provide actionable guidance. Replace with a brief scope statement and let the examples demonstrate coverage.

DimensionReasoningScore

Conciseness

The 'What is covered' bullet list is somewhat verbose and reads like a table of contents for the reference file rather than actionable content. The introductory sentence and scope note add moderate padding. However, it's not egregiously verbose — it stays reasonably focused.

2 / 3

Actionability

There are no concrete code examples, no executable commands beyond mvnw validate/verify, and no specific before/after patterns. The skill entirely delegates actionable content to the reference file, providing only abstract descriptions of what patterns to apply.

1 / 3

Workflow Clarity

The constraints section provides a reasonable sequence (validate → apply → verify) with a stop condition on failure, which is good. However, the actual workflow of applying functional exception handling patterns is absent — there's no step-by-step process for how to identify, refactor, and validate individual patterns. The feedback loop is partially present but incomplete.

2 / 3

Progressive Disclosure

The skill provides a clear overview with a well-signaled single-level reference to the detailed guide. The structure is appropriate — overview and constraints in the SKILL.md, detailed examples in the reference file, with a clear link.

3 / 3

Total

8

/

12

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
jabrena/cursor-rules-java
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.