CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-ts-errors

Handle errors as values using fp-ts Either and TaskEither for cleaner, more predictable TypeScript code. Use when implementing error handling patterns with fp-ts.

56

Quality

65%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/fp-ts-errors/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%Scale 1-5

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

The skill provides highly actionable, executable fp-ts patterns with excellent code examples covering real-world scenarios. However, it is severely over-long for a skill file, spending many tokens on before/after comparisons and explanations of concepts Claude already understands. The monolithic structure with no progressive disclosure means the entire document must be loaded into context even when only a subset of patterns is needed.

Suggestions

Cut all 'before' examples showing messy try/catch code—Claude understands why exceptions are problematic. This alone would reduce the document by ~30%.

Split into multiple files: keep SKILL.md as a concise overview with the quick reference table, and move detailed examples (validation, async, bulk operations, conversions) into separate referenced files like VALIDATION.md, ASYNC.md, PATTERNS.md.

Remove explanatory prose like 'The core idea: Errors are just data' and 'think right as in correct'—these explain concepts Claude already knows.

Trim the 'When to Use This Skill' section and Section 1's problem statement, which together spend ~60 lines motivating a pattern rather than teaching it.

DimensionReasoningScore

Conciseness

The skill is significantly verbose at ~500+ lines. It extensively explains problems Claude already understands (why exceptions are bad, what Either is, before/after comparisons for basic patterns). The 'before' examples showing messy try/catch code are unnecessary padding—Claude knows why try/catch is problematic. The core reference patterns could be conveyed in a fraction of the space.

2 / 5

Actionability

The code examples are concrete, executable, and cover a wide range of real scenarios including form validation, API error handling, retry logic, bulk operations, and conversion between patterns. The quick reference table provides copy-paste ready patterns for common operations.

5 / 5

Workflow Clarity

The content follows a logical progression from basic Either through chaining, validation, async TaskEither, and conversions. The sequence is clear and each section builds on the previous. However, there are no explicit validation/verification checkpoints—though this is more of a pattern/library skill than a destructive workflow, so the lack of validation steps is less critical.

4 / 5

Progressive Disclosure

The entire skill is a monolithic document with no references to external files. The real scenarios, quick reference table, and detailed validation/async sections could easily be split into separate files. For a document this long (~500+ lines), the lack of any content splitting is a significant organizational weakness.

2 / 5

Total

13

/

20

Passed

Description

70%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.

The description is competent but somewhat thin. It correctly identifies the domain (fp-ts error handling with Either/TaskEither) and includes a 'Use when' clause, but the capabilities described are limited to a single high-level concept rather than listing specific actions. The trigger terms are good for the fp-ts niche but could include more natural language variations.

Suggestions

Add more specific concrete actions like 'chain operations with pipe, fold Either results, convert thrown errors to TaskEither, compose error-handling pipelines'

Expand trigger scenarios in the 'Use when' clause: 'Use when implementing error handling with fp-ts, replacing try/catch blocks with functional patterns, or working with Either, TaskEither, or pipe-based error flows'

DimensionReasoningScore

Specificity

Names the domain (fp-ts error handling) and mentions specific types (Either, TaskEither), but the actions are vague - 'handle errors as values' is one concept, and 'cleaner, more predictable code' is a benefit claim rather than a concrete action. Missing specific actions like 'chain operations', 'fold results', 'convert between Either and TaskEither'.

3 / 5

Completeness

Has both 'what' (handle errors as values using fp-ts Either and TaskEither) and 'when' (Use when implementing error handling patterns with fp-ts). The 'when' clause is present but somewhat circular - it essentially restates the 'what' rather than providing distinct trigger scenarios.

4 / 5

Trigger Term Quality

Includes good keywords like 'fp-ts', 'Either', 'TaskEither', 'error handling', 'errors as values', and 'TypeScript'. Missing some natural variations users might say like 'functional error handling', 'railway oriented programming', 'monadic error handling', or 'pipe/flow'.

4 / 5

Distinctiveness Conflict Risk

Fairly distinct due to the specific mention of fp-ts, Either, and TaskEither - these are niche enough to avoid most conflicts. However, there could be minor overlap with a general TypeScript error handling skill or a broader fp-ts skill covering other patterns.

4 / 5

Total

15

/

20

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (858 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.