CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

75%

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

63%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 solid, code-heavy pattern catalog with genuinely valuable React-specific fp-ts guidance (referential stability, RemoteData, applicative validation) and mostly executable examples. Its main weaknesses are duplication that inflates token cost, snippets missing imports/helpers that keep them from being copy-paste ready, and a single ~800-line file where a lean SKILL.md plus references/ files would serve better.

Suggestions

Remove the duplicated 'When to Use What' table (it repeats the Quick Reference table) and cut or merge the 'Common Patterns Cheat Sheet' section, whose match/fold/getOrElse patterns are already demonstrated in sections 1-2.

Split large topics (React 19 patterns, dependency injection, RemoteData) into references/*.md files and keep SKILL.md as a quick-reference index linking to them, reducing the ~800-line inline body.

Add missing `useState`/`useMemo`/`useEffect` imports to the form-validation and RemoteData snippets so examples are copy-paste ready, and note that helper functions like `submitToServer`, `fetchUser`, `Spinner`, and `UserCard` are placeholders.

DimensionReasoningScore

Conciseness

The body is code-first and mostly efficient, but there is avoidable duplication and padding: the 'When to Use What' table repeats the 'Quick Reference' table, the 'Common Patterns Cheat Sheet' re-shows match/fold patterns already demonstrated, and filler like "No jargon, just code that works" and "Maybe It's There, Maybe Not" adds tokens without information. It is not a 2 because the bulk is genuinely useful, non-redundant code with brief explanations.

3 / 5

Actionability

Mostly executable, concrete TypeScript throughout — hooks, validation, RemoteData, and React 19 patterns are real code rather than pseudocode, matching anchor 4. It falls short of 5 because several snippets are not copy-paste ready: `useState`/`useMemo`/`useEffect` imports are missing in the form, theme, and RemoteData examples, and helpers like `submitToServer`, `fetchUser`, `Spinner`, and `UserCard` are undefined.

4 / 5

Workflow Clarity

As a pattern catalog rather than a sequential workflow, it is well sequenced: 'When to Use This Skill' up front, a Quick Reference table, numbered topic sections, and decision tables for choosing a type. No destructive or batch operations exist, so no validation cap applies; it misses 5 only because there is no explicit guidance for composing the patterns into an end-to-end flow.

4 / 5

Progressive Disclosure

Sections are clearly headed and navigable, but the entire ~800-line catalog is inlined in SKILL.md with no references/ files at all — no bundle files exist. Content like the React 19 patterns, dependency injection, and cheat-sheet sections clearly belongs in separate reference files, matching anchor 3 ('content that should be separate is inline'). Not 2, since structure and headers are present and content is not a monolithic wall of text.

3 / 5

Total

14

/

20

Passed

Description

78%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: it explicitly states what the skill covers and when to use it, in third person, with natural trigger terms and a distinct fp-ts/React niche. It sits just below top marks only because the 'when' clause and keyword list could include more concrete trigger phrases and synonyms.

DimensionReasoningScore

Specificity

The description names the domain (fp-ts with React) and lists several concrete capability areas — "hooks, state, forms, data fetching" — matching the 'several specific actions; minor gaps in coverage' anchor. It falls short of 5 because those are topic areas rather than fully concrete actions and coverage is incomplete (no mention of error accumulation, RemoteData, or testing patterns).

4 / 5

Completeness

Both parts are present and explicit: the 'what' ("Practical patterns for using fp-ts with React - hooks, state, forms, data fetching") and the 'when' ("Use when building React apps with functional programming patterns"), matching anchor 4. Not 5 because the 'when' clause could name more concrete trigger phrases (e.g. 'when the user mentions fp-ts, Either, or TaskEither').

4 / 5

Trigger Term Quality

Good natural keyword coverage: "fp-ts", "React", "hooks", "state", "forms", "data fetching", "functional programming patterns", plus version triggers "React 18/19, Next.js 14/15". Not 5 because common synonyms a user might say are missing — e.g. "TypeScript", "Either/Option/TaskEither", "monads".

4 / 5

Distinctiveness Conflict Risk

"fp-ts with React" is a clear, narrow niche with distinct triggers; only the version note ("Works with React 18/19, Next.js 14/15") could marginally overlap with generic React skills, which is minimal conflict risk. The voice is third person throughout, so no penalty applies.

5 / 5

Total

17

/

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.

Validation — 14 / 16 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

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/fp-ts-react/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.