CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-ts-react

Practical patterns for using fp-ts with React - hooks, state, forms, data fetching. Use when building React apps with functional programming patterns. Works with React 18/19, Next.js 14/15.

64

Quality

77%

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-ts-react/SKILL.md

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

SKILL.md
Quality
Evals
Security

Quality

Content

67%Scale 1-5

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

This skill excels at actionability with complete, executable code examples covering a wide range of fp-ts + React patterns. However, it suffers from being a large monolithic document (~500+ lines) that would benefit from splitting into focused sub-files, and includes some unnecessary explanations of concepts Claude already understands (like what Option represents or why discriminated unions beat boolean flags). The content is well-organized within its sections but the sheer volume in a single file hurts both conciseness and progressive disclosure.

Suggestions

Split into focused sub-files: keep SKILL.md as a quick reference with the summary tables and basic Option/Either examples, then move RemoteData, React 19 patterns, DI, and the cheat sheet into separate referenced files.

Remove explanatory comments that state the obvious (e.g., '// When there's no user', '// Haven't started yet', the 'Why RemoteData Beats Booleans' section) — Claude already understands discriminated unions and fp-ts semantics.

Trim the cheat sheet section which largely duplicates patterns already shown in earlier sections, or consolidate it as the primary quick-reference and shorten the earlier sections.

DimensionReasoningScore

Conciseness

The skill is quite long (~500+ lines) with extensive code examples. While most examples earn their place, there's some redundancy (e.g., explaining what Option/Either/RemoteData are conceptually when Claude already knows fp-ts), the 'Why RemoteData Beats Booleans' section explains something Claude would already understand, and the cheat sheet partially duplicates earlier sections. Several comments like '// When there's no user' and '// When there's a user' are unnecessary.

3 / 5

Actionability

Excellent actionability throughout. Every pattern includes complete, executable TypeScript/React code with proper imports, type definitions, and realistic usage examples. The code covers hooks, components, validation, data fetching, and testing — all copy-paste ready with minor adaptation.

5 / 5

Workflow Clarity

For a patterns/recipes skill (not a multi-step destructive workflow), the sequencing within each pattern is clear and logical. The 'When to Use What' table provides good decision guidance. Minor gap: no explicit guidance on error recovery strategies beyond the RemoteData retry button example, and the form validation workflow doesn't mention what happens after server-side validation fails.

4 / 5

Progressive Disclosure

This is a monolithic ~500+ line file with no bundle files or references to separate documents. The extensive code examples for RemoteData, DI with Context, React 19 patterns, and the cheat sheet could each be separate files. Everything is inlined with only section headers for organization, making it a heavy single-file read that would benefit significantly from splitting into focused sub-documents.

2 / 5

Total

14

/

20

Passed

Description

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

This is a strong description that clearly identifies a specific niche (fp-ts + React integration) and provides both what it does and when to use it. The version compatibility information (React 18/19, Next.js 14/15) adds useful context. The main area for improvement is adding more specific trigger terms related to fp-ts concepts that users might mention.

Suggestions

Add fp-ts-specific trigger terms users might mention, such as 'Option', 'Either', 'TaskEither', 'pipe', or 'monads in React'

Consider expanding the specific actions slightly, e.g., 'error handling with Either, nullable values with Option, async data fetching with TaskEither'

DimensionReasoningScore

Specificity

Lists several specific areas (hooks, state, forms, data fetching) and names the domain clearly (fp-ts with React). Minor gaps in that it doesn't elaborate on what specific actions are performed within each area (e.g., 'create custom hooks', 'validate forms').

4 / 5

Completeness

Clearly answers both 'what' (practical patterns for fp-ts with React covering hooks, state, forms, data fetching) and 'when' ('Use when building React apps with functional programming patterns'). Also specifies version compatibility as additional context.

5 / 5

Trigger Term Quality

Includes good natural keywords: 'fp-ts', 'React', 'hooks', 'state', 'forms', 'data fetching', 'Next.js', 'functional programming'. Missing some synonyms or related terms like 'Option', 'Either', 'TaskEither', 'monads', 'FP', or 'functional TypeScript' that users might naturally say.

4 / 5

Distinctiveness Conflict Risk

Highly distinctive niche combining fp-ts specifically with React. The intersection of functional programming library (fp-ts) and React framework creates a very clear, narrow scope that is unlikely to conflict with general React skills or general FP skills.

5 / 5

Total

18

/

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 (798 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.