CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-errors

Stop throwing everywhere - handle errors as values using Either and TaskEither for cleaner, more predictable code

51

Quality

56%

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 ./plugins/AI-Agents-Safe-Coding-Skills/skills/fp-errors/SKILL.md

The canonical home for this skill is fp-errors in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

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

The content is a thorough, mostly executable fp-ts error-handling tutorial with strong actionability and clear sequencing. Its main weakness is verbosity from redundant bad-code contrast blocks, and the long monolithic file could benefit from splitting advanced material into references.

Suggestions

Remove or drastically shrink the 'Before: MESSY' try/catch blocks; Claude already knows these anti-patterns, so a one-line contrast suffices.

Move the Real Scenarios and/or Quick Reference into separate reference files linked from a concise overview to improve progressive disclosure and token budget.

Fill in placeholder function bodies ({ ... }) or clearly mark them as stubs so examples are copy-paste runnable.

DimensionReasoningScore

Conciseness

The body is noticeably verbose: four large 'Before: MESSY' try/catch blocks depict patterns Claude already knows, import statements are repeated per section, and pedagogical asides ('think right as in correct') pad the material.

2 / 5

Actionability

Most guidance is concrete, executable TypeScript with a useful Quick Reference table and full Real Scenarios, but a handful of examples use placeholder bodies ({ ... }) and rely on undefined helpers (db, fetchPosts, T.of), leaving minor gaps.

4 / 5

Workflow Clarity

Conceptual progression (problem -> Either -> chaining -> accumulation -> async -> conversion -> scenarios) is well sequenced, and pipelines use filterOrElse checkpoints plus a retry/backoff feedback loop, with only minor validation gaps in the bulk-operation section.

4 / 5

Progressive Disclosure

Good single-file structure with clear section headers, a Quick Reference table, and a Summary; however the ~860-line body is entirely inline and the advanced scenarios could be split into reference files, a minor organization gap.

4 / 5

Total

14

/

20

Passed

Description

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

The description is clear about what the skill does and names distinctive fp-ts constructs, but it lacks any 'when to use' trigger guidance and misses several natural trigger terms. It sits at the midpoint across most dimensions.

Suggestions

Add an explicit 'Use when...' clause naming triggers like try/catch sprawl, exception handling, or async error flows in TypeScript.

Include common synonyms users actually say (try/catch, exceptions, fp-ts, Result type) alongside Either and TaskEither.

List a couple more concrete actions (e.g. chain fallible operations, accumulate validation errors) to lift specificity above the 1-2 action band.

DimensionReasoningScore

Specificity

Names the domain (error handling) and one concrete action ('handle errors as values') plus the Either/TaskEither mechanism, but does not list multiple distinct concrete actions, matching the '1-2 concrete actions but not comprehensive' anchor.

3 / 5

Completeness

Clearly states what the skill does ('handle errors as values using Either and TaskEither') but provides no 'Use when...' trigger guidance, so per the missing-trigger cap it cannot exceed 3.

3 / 5

Trigger Term Quality

Contains relevant keywords ('throwing', 'errors', 'Either', 'TaskEither') and the natural phrase 'Stop throwing everywhere', but omits common synonyms users would say such as 'try/catch', 'exceptions', 'fp-ts', or 'Result type'.

3 / 5

Distinctiveness Conflict Risk

The Either/TaskEither framing carves a distinct fp-ts niche with minimal conflict risk, though the broader 'error handling' topic leaves minor overlap with general error-handling or Result-type skills.

4 / 5

Total

13

/

20

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

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.