CtrlK
BlogDocsLog inGet started
Tessl Logo

fp-pragmatic

A practical, jargon-free guide to functional programming - the 80/20 approach that gets results without the academic overhead

52

Quality

60%

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

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

SKILL.md
Quality
Evals
Security

Quality

Content

71%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 body is highly actionable with comprehensive, executable fp-ts examples and clear when-to-use guidance, but it is a monolithic inline document that over-explains a few basics Claude already knows. Splitting reference material into bundle files and trimming plain-language padding would lift the weaker dimensions.

Suggestions

Move the Common Refactors, Cheat Sheet, and 'When to Level Up' sections into reference files (e.g. REFACTORS.md, CHEATSHEET.md) referenced one level deep from SKILL.md to improve progressive disclosure.

Trim plain-language restatements of concepts Claude already knows (e.g. 'Stop writing if (x !== null && x !== undefined) everywhere') and keep only the distinctive fp-ts guidance.

Optionally add a short decision workflow (e.g. 'nullable chain? -> Option; failing operation? -> Either; async failing? -> TaskEither') to add a sequenced, checkable flow.

DimensionReasoningScore

Conciseness

The body is mostly efficient with tight before/after code, but it over-explains concepts Claude already knows (defensive null checking, throwing exceptions, plain-language restatements of what map/flatMap do), placing it at 'mostly efficient but includes some unnecessary explanation'.

3 / 5

Actionability

Numerous complete, executable fp-ts code blocks cover the common cases (pipe, Option, Either, map, flatMap, TaskEither) with copy-paste-ready before/after examples and a cheat sheet of concrete function calls.

5 / 5

Workflow Clarity

This is a single-purpose pattern guide rather than a multi-step process, so the simple-skill exception applies; sections are well-organized with explicit 'When to use'/'When to skip' guidance, but there is no sequenced workflow with validation checkpoints, leaving minor gaps.

4 / 5

Progressive Disclosure

All ~580 lines are inlined in SKILL.md with no bundle files and no external references; well-structured with headers, but content that could live in separate files (Common Refactors, Cheat Sheet, When to Level Up) is inline, matching 'some structure but content that should be separate is inline'.

3 / 5

Total

15

/

20

Passed

Description

48%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 communicates an appealing philosophy and broad domain but lacks concrete capability actions and any explicit 'when to use' trigger guidance. It is moderately specific and reasonably distinct, but misses the completeness bar set for well-triggered skills.

Suggestions

Add an explicit 'Use when...' clause naming concrete trigger situations, e.g. 'Use when writing TypeScript with fp-ts, or when the user asks for functional patterns like pipe, Option, or Either'.

Replace framing words ("jargon-free", "80/20 approach", "academic overhead") with concrete capabilities such as 'chains operations with pipe, handles nullable values with Option, models errors with Either'.

Include natural trigger synonyms users actually say — 'fp-ts', 'Option', 'Either', 'monads', 'functional TypeScript' — to improve keyword coverage.

DimensionReasoningScore

Specificity

The description names the domain ("functional programming") and frames an approach ("80/20 approach that gets results"), but lists no concrete FP actions or patterns — it describes a guide's philosophy rather than specific capabilities, matching the 'names domain but actions are minimal or generic' anchor.

2 / 5

Completeness

It clearly states what the skill is (a practical guide to functional programming), but provides no 'when to use' trigger clause; per the rubric guideline a missing 'Use when...' clause caps completeness at 3.

3 / 5

Trigger Term Quality

"functional programming" is a natural term a user would say, but the description leans on framing words ("jargon-free", "80/20", "academic overhead") rather than common trigger variations like "fp-ts", "Option/Either", or "monads", so coverage is partial.

3 / 5

Distinctiveness Conflict Risk

"functional programming" plus the fp-ts/TypeScript tags carve out a fairly distinct niche with only minor overlap risk against general TypeScript or FP skills, though the description itself is not maximally specific.

4 / 5

Total

12

/

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