CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-ts-pragmatic

A practical, jargon-free guide to fp-ts functional programming - the 80/20 approach that gets results without the academic overhead. Use when writing TypeScript with fp-ts library.

55

Quality

63%

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

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

SKILL.md
Quality
Evals
Security

Quality

Content

57%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 highly actionable with abundant copy-paste-ready fp-ts examples and clear decision guidance, but it is verbose and pedagogically padded for human readers rather than optimized for Claude's context budget, and it is a long monolith that would benefit from progressive disclosure into reference files.

Suggestions

Trim the 'Plain language translation' callouts and Before/After explanations of basic concepts (null checks, ternaries, loops) that Claude already knows; keep only the fp-ts-specific guidance to improve conciseness.

Split the detailed 'Common Refactors' section and the cheat sheet into separate reference files (e.g. references/refactors.md, references/cheat-sheet.md) linked from SKILL.md so the overview stays lean.

Condense the closing Summary, which restates patterns already shown, to reduce token overhead.

DimensionReasoningScore

Conciseness

The ~600-line body is noticeably verbose, explaining basic programming concepts Claude already knows (null checks, ternaries, for loops) through 'Plain language translation' callouts and lengthy human-aimed Before/After pedagogy, with several padded sections that could be trimmed.

2 / 5

Actionability

It provides extensive copy-paste-ready, executable TypeScript with real imports covering the common cases (the five core patterns, quick wins, and a cheat sheet), matching the anchor for fully executable guidance.

5 / 5

Workflow Clarity

This is a patterns catalog rather than a sequenced workflow; it offers clear 'when to use / when to skip' decision guidance and a Golden Rule, but there is no multi-step sequence with validation checkpoints, so it sits at the level where a sequence exists but checkpoints are implicit or absent.

3 / 5

Progressive Disclosure

The body has decent section headers but is a ~600-line inlined monolith with no external references or bundle files, and content that could live in separate reference files (detailed refactors, cheat sheet) is kept inline, matching the anchor for some structure but content that should be separate is inline.

3 / 5

Total

13

/

20

Passed

Description

68%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 clearly signals a distinct niche (fp-ts) and includes an explicit 'Use when' trigger, but it lacks concrete capability statements, relying on vague phrasing like 'guide' and 'gets results'. Tightening the 'what' with specific patterns would raise specificity and completeness.

Suggestions

Replace vague phrasing ('a practical guide', 'gets results') with concrete capabilities, e.g. 'Chain operations with pipe, handle nullables with Option, model errors with Either, and sequence async/failing steps with TaskEither'.

Expand the trigger to mention the concrete patterns users ask for ('Use when writing fp-ts code involving pipe, Option, Either, TaskEither, or refactoring imperative TypeScript to functional style').

Drop marketing tone ('80/20 approach', 'without the academic overhead') in favor of specific actions to boost specificity.

DimensionReasoningScore

Specificity

The description names the domain ('fp-ts functional programming') but its actions are minimal and generic ('guide', '80/20 approach that gets results') without listing concrete capabilities like pipe, Option, or Either, matching the anchor where the domain is named but actions are minimal.

2 / 5

Completeness

Both 'what' (a practical guide to fp-ts) and 'when' ('Use when writing TypeScript with fp-ts library') are present and the trigger is explicit, but the 'what' is somewhat vague and could be more concrete, so it sits just below the level-5 anchor.

4 / 5

Trigger Term Quality

It covers good natural keywords a user would say — 'fp-ts', 'functional programming', 'TypeScript', 'fp-ts library' — plus a 'Use when' trigger, though a few natural terms like Option/Either/pipe are missing.

4 / 5

Distinctiveness Conflict Risk

'fp-ts' is a specific named library giving the skill a clear niche with distinct triggers and minimal overlap risk with other skills.

5 / 5

Total

15

/

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