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

58%

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-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 a highly actionable, well-illustrated patterns guide with strong concrete code throughout, but it is long and repetitive for a context-window budget and ships as a single 585-line monolith with no progressive disclosure into reference files. Workflow clarity is good for a patterns reference though it is not a checkpointed multi-step workflow.

Suggestions

Tighten the repeated pragmatism messaging: the Golden Rule, 'When NOT to Use FP', the Readability Rule, and the Summary overlap heavily — consolidate into one section and trim 'Plain language translation' blocks that restate concepts Claude already knows.

Split bulk detail into one-level-deep reference files (e.g. references/advanced.md for TaskEither/Reader/Do notation and references/refactors.md for the full before/after catalog) and link them from SKILL.md so the overview stays lean.

Dedupe the Quick Wins and Common Refactors sections against the core 80/20 patterns, since they re-cover Option/Either/pipe with overlapping examples.

DimensionReasoningScore

Conciseness

The body is ~585 lines with recurring pragmatism messaging repeated across the Golden Rule, 'When NOT to Use FP', the Readability Rule, and the Summary, and the 'Plain language translation' blocks restate concepts Claude already knows; it is mostly efficient but includes unnecessary explanation that could be tightened, matching anchor 3 rather than 4 due to the visible repetition and padding.

3 / 5

Actionability

The guide is packed with concrete, executable TypeScript with imports — before/after examples for every pattern, a cheat sheet mapping intent to fp-ts APIs, and full common refactors — covering the common cases in copy-paste-ready form, matching the 'fully executable; specific examples cover the common cases' anchor.

5 / 5

Workflow Clarity

There is no destructive or batch operation so the validation cap does not apply, and the guide has a clear pedagogical progression (golden rule -> 5 core patterns -> when not to use -> quick wins -> refactors -> readability -> cheat sheet -> level up -> summary); it scores 4 rather than 5 because there is no explicit multi-step workflow with validation checkpoints, which the content does not require.

4 / 5

Progressive Disclosure

No bundle files exist and the entire 585-line guide is inlined in SKILL.md — well past the under-50-line simple-skill exception — with good section headers but no one-level-deep external references, so content that could be split (advanced TaskEither, 'When to Level Up' topics, full refactors) is inline, matching the 'some structure but content that should be separate is inline' anchor.

3 / 5

Total

15

/

20

Passed

Description

45%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 conveys a clear, personable 'what' (a pragmatic functional-programming guide) but is light on concrete capabilities and entirely lacks explicit 'when to use' trigger guidance. It also omits the library/language specifics that would sharpen trigger matching and distinctiveness.

Suggestions

Add an explicit 'Use when...' clause naming concrete triggers, e.g. 'Use when the user asks about functional programming in TypeScript, fp-ts, Option/Either, or replacing nested null checks and try/catch with pipe chains.'

Replace generic phrasing ('gets results without the academic overhead') with concrete capabilities, e.g. 'Teaches pipe, Option, Either, map, and flatMap patterns with before/after refactors.'

Name the stack (fp-ts / TypeScript) in the description to improve distinctiveness and trigger-term coverage against overlapping skills.

DimensionReasoningScore

Specificity

The description names the domain ('functional programming') but its actions are purely generic ('a practical, jargon-free guide', 'gets results') with no concrete capabilities named, matching the anchor 'Names the domain but actions are minimal or generic'; it is not a 3 because no concrete action (akin to 'extracts content') is stated.

2 / 5

Completeness

There is a clear 'what' ('a practical, jargon-free guide to functional programming... the 80/20 approach') but no 'when' / 'Use when...' clause at all, so per the cap guideline completeness cannot exceed 3 and matches the 'clear what but when missing' anchor.

3 / 5

Trigger Term Quality

'functional programming' is a natural keyword a user would say, but the description misses common variations and synonyms (FP, fp-ts, TypeScript, Option/Either); descriptors like 'jargon-free' and '80/20' are not trigger phrases users actually utter, matching the 'some relevant keywords but missing common variations' anchor.

3 / 5

Distinctiveness Conflict Risk

'functional programming' is a recognizable niche, but because no language or library (fp-ts, TypeScript) is named the skill could overlap with other FP or TypeScript skills, matching 'somewhat specific but could still overlap with similar skills'; not a 4 since it lacks the distinguishing specifics that would minimize overlap.

3 / 5

Total

11

/

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.